Как вывести элементы главной диагонали матрицы размером NxN? (tasm) - Assembler

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста как вывести элементы главной диагонали матрицы размером n x n, матрица задается в самом коде.

Решение задачи: «Как вывести элементы главной диагонали матрицы размером NxN? (tasm)»

textual
Листинг программы
.model small
.stack 100h
 
.data
    matrix db   1,2,7
           db   1,5,2
           db   3,2,4
    N      equ  3
.code
Start:
    mov ax,@data
    mov ds,ax    
    
    lea si,matrix
    mov cx,N
    mov ah,2
   @L:
    mov dl,[si]
    add dl,'0'
    int 21h
    add si,N+1
    loop @L
    
    mov ah,1
    int 21h
    
    mov ax,4c00h
    int 21h
end Start

Объяснение кода листинга программы

Вывод элементов главной диагонали матрицы размером NxN:

  1. .model small — управляет моделью памяти, в данном случае указывает на использование 16-битной адресации
  2. .stack 100h — определяет стек размером в 100 байт
  3. .data — раздел для определения данных
  4. matrix db 1,2,7 — определение двумерного массива matrix размером NxN, элементы которого содержат значения 1,2,7
  5. N equ 3 — определение переменной N, равной 3, что означает, что матрица имеет размер 3x3
  6. .code — раздел для определения кода
  7. Start: — определение точки входа в программу
  8. mov ax,@data — перемещение сегмента данных в регистр AX
  9. mov ds,ax — установка DS в качестве сегмента данных
  10. lea si,matrix — перемещение индексатора SI в начало массива matrix
  11. mov cx,N — перемещение счётчика CX в N
  12. mov ah,2 — установка регистра AH для выполнения функции вывода на экран
  13. @L: — метка цикла
  14. mov dl,[si] — перемещение младшего байта из SI в DL
  15. add dl,'0' — преобразование младшего байта в ASCII и добавление символа '0'
  16. int 21h — выполнение функции вывода на экран
  17. add si,N+1 — увеличение индекса SI на N+1
  18. loop @L — проверка условия продолжения цикла
  19. mov ah,1 — установка регистра AH для выполнения функции вывода на экран
  20. int 21h — выполнение функции вывода на экран
  21. mov ax,4c00h — установка регистра AX для завершения работы программы
  22. int 21h — выполнение функции завершения работы программы

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


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

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

7   голосов , оценка 3.571 из 5
Похожие ответы