Немного подкоректировать вывод данных Tasm - Assembler

Узнай цену своей работы

Формулировка задачи:

Помогите с такой проблемой. Есть код на тасме. он выводит индексы второго и предпоследнего элемнта массива, как сделать, чтобы он их через запятую выводил и перед этим начальный массив вывел? Я в асме 0, но задание нужно сделать
MODEL small
STACK 256
.data
mas db 0,8,7,6,5,4,3,2,1,9
 
.code
main:
mov ax,@data
mov ds,ax
xor ax,ax ;обнуление ax
 
mov cx,0 ;значение cx
mov si,0 ;индекс начального элемента в cx
mov dh,mas[si];
mov bh,mas[si+9]
go:
inc si
cmp dh,mas[si]
jl next
cmp si,9
je noth
jmp go
 
next:
cmp mas[si],bh
jae go 
mov dx,si
jmp show_first
 
noth:
mov dl,0
 
;вывод на экран 
 
show_first:
add cx,1
cmp cx,1
jne show_last
 
mov ah,02h ;функция вывода значения
;из al на экран
add dl,30h ;преобразование числа в символ
int 21h
show_last:
cmp si,8
jl go
mov ah,02h ;функция вывода значения
;из al на экран
add dl,30h ;преобразование числа в символ
int 21h
 
exit:
mov ax,4c00h ;стандартный выход
int 21h
end main ;конец программы

Решение задачи: «Немного подкоректировать вывод данных Tasm»

textual
Листинг программы
MODEL small
STACK 256
.data
dbMas   db  10,13,'Massiv:$'
dbInd   db  10,13,'Index:$'
mas db  0,9,7,6,5,4,3,2,0,9
szMas   equ $-mas 
.code
main:
    mov ax,@data
    mov ds,ax
 
    mov ah,9
    lea dx,dbMas
    int 21h
 
    xor si,si
    mov cx,szMas
    mov ah,2
@@01:   mov dl,mas[si]
    add dl,'0'
    int 21h
    mov dl,' '
    int 21h
    inc si
    loop    @@01
 
    xor bx,bx
    xor si,si
    xor di,di
    mov cx,szMas-2
@@02:   inc bx
    mov al,mas[bx]
    cmp al,[mas]
    jle @@03
    cmp al,[mas+szMas-1]
    jge @@03
;А[1]<A[i]<А[10]
    mov si,bx
    or  di,di
    jnz @@03
    mov di,bx
@@03:   loop    @@02
    mov ah,9
    lea dx,dbInd
    int 21h
 
    mov ah,2
    mov dx,di
    add dl,'0'
    int 21h
    mov dl,','
    int 21h
    mov dx,si
    add dl,'0'
    int 21h
 
    mov ax,4C00h
    int 21h
end main ;конец программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5
Похожие ответы