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