Loop exter


Pop cx

Loop inter

Inc found

Cmp ax,elem

Inc si

Mov si,0

Code

Mas dw 0, 2, 4, 6, 8, 10, 12, 14,16, 18, 20, 22

Data

Пример программы

18 20 22

12 14 16

6 8 10

0 2 4

Вычислить адрес элемента во второй строке и первом столбце (i=2, j=1) массива слов mas.

Эффективный адрес элемента массива:

mas(2,1)=mas+2*3*2+1*2=mas+14

Вычисленный адрес указывает на число 14 (совпадает с адресом)

Программа ищет в массиве число 10

 

found db 0 ; счетчик успешных попыток

d=2

m=3 ;число столбцов в массиве

n=4 ;число строк в массиве

elem=10 ;элемент для поиска

 

…….

mov bx,0; начало с нулевой строки

mov si,0; нулевой столбец

mov cx,4;параметр внешнего цикла по строкам

exter: ;начало внешнего цикла

push cx ;сохраним в стеке счетчик внешнего цикла

mov cx,3 ; параметр внутреннего цикла по столбцам

inter: ;начало внутреннего цикла

mov ax,mas [bx] [si*2]

jne $+6

add bx,m*d

….