Заменить буквой "а" все элементы символьной матрицы, лежащие выше главной диагонали - Assembler

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

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

Новичок. Есть задача. Помогите с написанием кода, в Delphi или с++ было бы довольно просто все сделать но с Assemblerom столкнулся впервые, имею только базовые знания написания Hello World. Задание: Дана символьная квадратная матрица порядка 10. Заменить буквой "а" все элементы, лежащие выше главной диагонали.

Решение задачи: «Заменить буквой "а" все элементы символьной матрицы, лежащие выше главной диагонали»

textual
Листинг программы
model   tiny
n   equ 10
.code
org 100h
abcd:   call    OutMatr
;
    mov al,'a'
    xor di,di
    mov si,n
    mov cx,n
@@01:   dec si
    push    cx
    mov cx,n
    
@@02:   cmp cx,si
    ja  @@03
    mov dbArr[di],al
@@03:   inc di
    loop    @@02
    pop cx
    loop    @@01
    call    NewStr
    call    OutMatr
    xor ax,ax
    int 16h
    ret
;
outMatr:xor si,si
    mov cx,n
@@1:    push    cx
    mov cx,n
@@2:    mov al,dbArr[si]
    int 29h
    mov al,' '
    int 29h
    inc si
    loop    @@2
    call    NewStr
    pop cx
    loop    @@1
    ret
NewStr: mov ax,0a0dh
    int 29h
    xchg    al,ah
    int 29h
    ret
dbArr   label   byte
m   =   ' '
    rept    n
        rept    n
        db  m
        m   =   m+1
        endm
    endm
end abcd

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


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

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

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