массив ввода / вывода в массиве 2d, не показывающий вывод
Я попытался использовать внешний цикл, который добавляет размер строки (в данном случае 4) каждый раз, когда мой внутренний цикл завершен.он в основном перемещается в другую строку и во внутреннем цикле я отображаю сообщение и принимаю ввод.
model small
.stack 100h
.data
Array db 3 dup(3 dup(0))
i1 db "Enter value for array ","$"
i2 db "muahhah ","$"
num db ?
x db ?
rowsz db 3
temp db 0
.code
main proc
mov ax,@data
mov ds,ax
mov bx,offset Array
mov cx,3
input:
mov temp,3
mov si,0
row1:
mov ah,0
mov ah,09h
mov dx,offset i1
int 21h ;1st msg print
;new line................
mov ah,0
mov dx,0
mov dx,13
mov ah,02h
int 21h
mov ah,0
mov dx,0
mov dx,10
mov ah,02h
int 21h
;new line end.............
;1st input
mov al,0
mov ah,01h
int 21h
mov x,al
cmp x,13
mov bl,x
mov [bx][si],bl
inc si
;new line................
mov ah,0
mov dx,0
mov dx,13
mov ah,02h
int 21h
mov ah,0
mov dx,0
mov dx,10
mov ah,02h
int 21h
;new line end.............
dec temp
cmp temp,0
jnz row1
add bx,rowsz
loop input
;........................................printing of 2d array
mov cx,0
mov bx,offset Array
mov cx,4
print:
mov temp,4
mov si,0
row:
mov dl,0
mov dl,[bx][si]
mov ah,02h
int 21h
mov dl,0
mov dl,' '
mov ah,02h
int 21h
inc si
dec temp
cmp temp,0
jnz row
new line................
;mov dx,13
mov ah,02h
int 21h
mov dx,10
mov ah,02h
int 21h
;new line end.............
loop print
mov ah,4ch
int 21h
main endp
end main
Ожидайте увидеть результат таким образом - фактический результат в dosbox застревает и не показывает результата.
1234
5678For
1234
5678