ASSEMBLER, MASM611 компилятор жалуется на вычитание sub

интернет Компьютеры программирование программы assembler

нужно сделать пример на assembler'e под MASM611 ... 16 разрядный под dos
код

data segment

A db 2
B db 2
j db 4 ;j=c

dva db 2
mem db ?
mem2 db ?

data ends

sst segment stack
db 255 dup (?)

sst ends

code segment
assume ds:data, cs:code, ss:sst

metka:
mov ax, data
mov ds, ax
;---------------------------------
mov ah, A ; перемещаем 2ку в старший разряд AH
add ah, B ; складываем 2ку и 2ку и результат в AH
mov mem, ah ; перемещаем результат сложения в mem

mov al, a ; перемещаем А в al дабы избежать путаницы
cbw ; --\\--
idiv mem ; делим 8 на сумму 10 в mem

mov bx, ax

mov al, dva
mul a
mul b
cbw
idiv j
sub bx, al



;---------------------------------
mov ax, 4C00h
int 21h
code ends
end metka

ошибка в вычитании sub :( как исправить?
Ответы:
bX , aL , тут видимо нету явного приведения типов - ax он хочет, добей al до ax, тут вроде в 1 действие не сделать.


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.