Более легкое решение:
;Дана матрица 6х5. Вычеркнуть столбец с заданным номером.
.DATA A dw 1,3,7,2,4 dw 9,1,3,5,6 dw 2,9,7,4,1 dw 8,2,5,3,7 dw 6,2,7,4,3 dw 5,9,3,5,1 .DATA? inbuf DB 100 DUP (?)
.CODE Start:
mov ecx,4; здесь задаем номер вычеркиваемого столбца (от 1 до 5) mov edi,ecx cycl0: inc edi loop cycl0 mov ebx,0 mov ax,A mov ecx,4 cycl: mov ax, A[bx+di] mov A[bx+di]-2,ax add di,2 loop cycl
mov ecx,4 cycl1: mov ax, A[bx+di]+2 mov A[bx+di]-2,ax add di,2 loop cycl1
mov ecx,4 cycl2: mov ax, A[bx+di]+4 mov A[bx+di]-2,ax add di,2 loop cycl2 mov ecx,4
cycl3: mov ax, A[bx+di]+6 mov A[bx+di]-2,ax add di,2 loop cycl3
mov ecx,4 cycl4: mov ax, A[bx+di]+8 mov A[bx+di]-2,ax add di,2 loop cycl4 mov ecx,4
cycl5: mov ax, A[bx+di]+10 mov A[bx+di]-2,ax add di,2 loop cycl5 mov ecx,6
cycl6: mov ax, A[bx+di]+12 mov A[bx+di]-2,ax add di,2 loop cycl6
|