Поиск в одномерном массиве - Assembler
Формулировка задачи:
Никак не поддаётся.
Напишите программу поиска в одномерном массиве максимального элемента и его индекса.
massiv:112, -34, 124, 107, -126, 54, 108, 99, 0, -59.
вывод значений в 16сс.
TASM
Решение задачи: «Поиск в одномерном массиве»
textual
Листинг программы
.model small .386 .data mas db 112,-34,124,107,-126,54,108,99,0,-59 len equ $-mas msg1 db 'max=$' msg2 db 0Ah,0Dh,'index=$' .stack db 256 dup(?) .code main: mov ax,@data mov ds,ax lea si,mas+1 mov ah,byte ptr [mas] mov cx,len dec cx search: lodsb cmp al,ah jg change jmp skip change: mov ah,al mov bx,si dec bx skip: loop search push ax mov ah,09h lea dx,msg1 int 21h pop ax push bx xchg ah,al cbw mov bx,16 get: xor dx,dx div bx push dx inc cx or ax,ax jnz get give: pop ax sub ax,0 cmp ax,9 ja hex des: add ax,30h jmp print hex: add ax,37h print: mov dx,ax mov ah,02h int 21h loop give pop bx mov ah,09h lea dx,msg2 int 21h mov ah,02h mov dx,bx add dx,30h int 21h mov ax,4C00h int 21h end main