
03.12.2008, 15:01
|
|
Познающий
Регистрация: 13.02.2007
Сообщений: 41
Провел на форуме: 137010
Репутация:
26
|
|
Ребят, есть вопрос по небольшой проге. вот код:
Код:
assume cs:code, ds:data
code segment
org 100h
start:
lea bx, work
mov cx, 10
mov di, 0 ; index (row)
a0:
push cx
push di
mov cx, 10
mov di, 0 ;index (column)
a1:
;mov [bx+di*2], di
mov 2[bx][di], di
; start show number
mov ax, 2[bx][di]
push cx
push di
std
lea di,StringEnd-1
mov cx,10
iRepeat:
xor dx,dx
div cx
xchg ax,dx
add al,'0'
stosb
xchg ax,dx
or ax,ax
jne iRepeat
mov ah,9
lea dx,[di+1]
int 21h
mov dx, offset Space
int 21h
pop di
pop cx
inc di
;end show number
loop a1
pop di ;reincornate di, cx
pop cx ;
add bx, 10*2 ; go to next line
push ax
push dx
mov ah, 9
mov dx, offset nl
int 21h
pop dx
pop ax
loop a0
Space db " ", '$'
String db 5 dup (?),'$' ; 5 byte for string
StringEnd = $-1 ; Ukazatel' na simvol '$'
work dw 100 dup (0h) ;mass work <- 100 word's
nl db 0Dh, 0Ah, '$'
code ends
data segment
ends data
end start
Здесь задается матрица 10*10, заполняется нулями, а затем в двойном цикле заполняется числами (0...9) и на каждой итерации элемент выводится в консоль.
Проблема в том, что выводится только 75 элементов, а не все 100 - в чем причина?)
|
|
|