Ввод и вывод двумерного массива в TASM - Assembler
Формулировка задачи:
Здравствуйте, не могу понять где ошибка в моей программе. В начале я ввожу числа и вроде всё нормально, но когда программа начинает их выводить, то делает она это очень странным образом. На подобии змейки:
Пример:
0 0 0 0 0
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 5 5 6
0 1 2 3 4
1 2 3 4 4
2 3 4 4 5
3 4 4 5 5
4 4 5 5 6
Вот, собственно, сам код программы:
.model small .stack .data mas db 5 dup (5 dup (?)) nxtln db 10, 13, "$" spaace db 32, "$" .code space proc push dx push ax mov dx, offset spaace mov ah, 09h int 21h pop ax pop dx ret space endp nextln proc push dx push ax mov dx, offset nxtln mov ah, 09h int 21h pop ax pop dx ret nextln endp main: mov ax, @data mov ds, ax xor ax, ax mov si, 0 mov bx, 0 mov cx, 5 in_external: push cx mov cx, 5 mov si, 0 in_iternal: mov ah, 01h int 21h sub al, 47 mov mas[bx][si], al inc si call space loop in_iternal in_next: call nextln pop cx inc bx loop in_external call nextln mov si, 0 mov bx, 0 mov cx, 5 out_external: push cx mov cx, 5 mov si, 0 out_iternal: mov ah, 02h mov dl, mas[bx][si] add dl, 47 int 21h inc si call space loop out_iternal out_next: call nextln pop cx inc bx loop out_external mov ax, 4c00h int 21h end main
Решение задачи: «Ввод и вывод двумерного массива в TASM»
textual
Листинг программы
db 1,2,3,4,5,6,7,8,9
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д