Матрица 4х4, адресация - Assembler

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

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

include io.asm
 s segment stack
    DB 256 DUP (?)
 s ends
 data segment
    m dw 4 dup (4 dup (?))
    sum dw (?)
    umn dw (?)
    cas dw (?)
    a2 db 0ah,0dh,'Error vvoda!!$'
    mes2 db 0ah,0dh,'Matrixa - $'
    mes3 db 0ah,0dh,'Summa - $'
    mes4 db 0ah,0dh,'Proizvedenie - $'
    mes5 db 0ah,0dh,'4astnoe - $'
    a dw (?)
    b dw (?)
 data ends
 code segment
    ASSUME CS:code,DS:data,SS:s
 start:
    MOV AX,data
    MOV DS,AX
    xor ax,ax
    
    mov si,0
    mov bx,0
    mov cx,4
external:
    push cx
    mov cx,4
    mov si,0
    ;mov b,bx
iternal:
    inint m[bx][si]
    ;mov bx,b
    add si,2
    loop iternal
    jcxz move_next
move_next:
    pop cx
    add bx,2
    loop external
    
    mov bx,0
    mov si,2
    outword m[bx][si],10
Иногда outword выводит правильное значение, например если в bx,si записать 6, в остальных случаех выводит либо рандомное число массива, либо мусорное значение, правильно ли я выполнил адресацию при заполнение?

Решение задачи: «Матрица 4х4, адресация»

textual
Листинг программы
add bx,si

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


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

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

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