Немного подкоректировать вывод данных 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 ;конец программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д