Ввод и вывод двумерного массива в 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 Вот, собственно, сам код программы:
Листинг программы
  1. .model small
  2. .stack
  3. .data
  4. mas db 5 dup (5 dup (?))
  5. nxtln db 10, 13, "$"
  6. spaace db 32, "$"
  7. .code
  8. space proc
  9. push dx
  10. push ax
  11. mov dx, offset spaace
  12. mov ah, 09h
  13. int 21h
  14. pop ax
  15. pop dx
  16. ret
  17. space endp
  18. nextln proc
  19. push dx
  20. push ax
  21. mov dx, offset nxtln
  22. mov ah, 09h
  23. int 21h
  24. pop ax
  25. pop dx
  26. ret
  27. nextln endp
  28. main:
  29. mov ax, @data
  30. mov ds, ax
  31. xor ax, ax
  32. mov si, 0
  33. mov bx, 0
  34. mov cx, 5
  35. in_external:
  36. push cx
  37. mov cx, 5
  38. mov si, 0
  39. in_iternal:
  40. mov ah, 01h
  41. int 21h
  42. sub al, 47
  43. mov mas[bx][si], al
  44. inc si
  45. call space
  46. loop in_iternal
  47. in_next:
  48. call nextln
  49. pop cx
  50. inc bx
  51. loop in_external
  52. call nextln
  53. mov si, 0
  54. mov bx, 0
  55. mov cx, 5
  56. out_external:
  57. push cx
  58. mov cx, 5
  59. mov si, 0
  60. out_iternal:
  61. mov ah, 02h
  62. mov dl, mas[bx][si]
  63. add dl, 47
  64. int 21h
  65. inc si
  66. call space
  67. loop out_iternal
  68. out_next:
  69. call nextln
  70. pop cx
  71. inc bx
  72. loop out_external
  73. mov ax, 4c00h
  74. int 21h
  75. end main

Решение задачи: «Ввод и вывод двумерного массива в TASM»

textual
Листинг программы
  1. db 1,2,3,4,5,6,7,8,9

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы