Написал программку, которая ищет минимум в массиве. Подскажите, пожалуйста, что мне исправить, чтобы она работала корректно и выводило результат. Программа компилировалась и линковалась в TASM.
Код | name prog ;имя программы .model small ;сегмент кода .stack 100h ;стек
;сегмент данных(раздел переменных) .data mas dw 9,8,3,5,2,7,4,1 ;массив из 8 элементов
;сегмент кода .code start: mov ax, @data ;в ax заносим ссылку на сегмент данных mov ds, ax ;в ds переносим ссылку из ax ;инициализация значений переменных mov bx,mas[0] ;bx равен первому элементу массива mas; mov cx,7 ;cx=7(количество раз выполнения цикла) mov si,1 ;si=1 ;цикл, обрабатывающий поиск минимума массива cycle: cmp bx,mas[si] ;сравниваем bx и mas[si] jle then ;bx<=mas[si]? - если да, то переходим по then inc si ;si=si+1(или si+=1, или si++) loop cycle ;повторяем цикл cycle (пока cx!=0) then: mov bx,mas[si] ;то bx=mas[si] jmp cycle ;возвращаемся в цикл
;вывод числа на экран mov ah,02h ;ah=02h (команда вывода символа) add bx,30h ;прибавим разницу по ASCII (ax+=48 или ax=ax+48) mov dx,bx ;dx=bx int 21h ;вызов прерывания exit: mov ax, 4C00h ;команда завершения работы программы int 21h ;вызов прерывания end start
|
|