Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не работает умножение матриц мп 8086 (masm) 
:(
    Опции темы
tesler
Дата 26.12.2012, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 26.12.2012

Репутация: нет
Всего: нет



Помогите. Не работает умножение матриц(2x3 на 3x2). так же не понимаю, как сделать правильный вывод в консоль полученной матрицы. masm и link не пишет никаких ошибок, но при запуске написано: "lab.exe не является приложением Win32".

Код

stack segment
    dw 256 dup(?)
stack ends
 
data segment
    matrA   db  "314271$"
    qlmatrA db  2
    qcmatrA db  3
    matrB   db  "159314$"
    matrR   db  "0000$"
data ends
 
code segment
    assume cs: code, ds: data, ss: stack
 
    lea bp, [matrA]
    mov ah, [qlmatrA]
    mov al, [qcmatrA]
    lea di, [matrB]
    lea si, [matrR]
    call MatrProd
 
    mov ah,4ch
    int 21h
 
MatrProd:
    push cx
    push bp
    push di
    push si
 
    mov cx, 0
    mov cl, ah
 
mMatrProdLoopRows:
    push cx
    mov cx, 0
    mov cl, ah
    push di
 
mMatrProdLoopColumns:
    call CalcResultElement
    mov [si], dx
    inc si
 
    inc di
    loop mMatrProdLoopColumns
    pop di
    pop cx
    
    push ax
    mov ah, 0
    add bp, ax
    pop ax
    loop mMatrProdLoopRows
    
    pop si
    pop di
    pop bp
    pop cx
    ret
 
CalcResultElement:
    push bx
    push cx
    push bp
    push di
 
    mov cx, 0
    mov cl, al
    mov dx, 0
 
mCalcResultElementLoopColumns:
    push ax
    mov ax, 0
    mov al, byte [bp]
    mov bx, 0
    mov bl, byte [di]
    push dx
    mul bx
    pop dx
    add dx, ax
    pop ax
    
    inc bp  
    push ax
    mov al, ah
    mov ah, 0
    add di, ax
    pop ax
    loop mCalcResultElementLoopColumns
 
    pop di
    pop bp
    pop cx
    pop bx
    ret
code ends

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0525 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.