то, что я хочу знать, очевидно, сказано на эту тему. У меня проблема с перемещением 8-битного регистра в 16-разрядный регистр. Я пытаюсь сделать это, делить число постоянно на 10, пока оно не станет ниже 10, и, в течение каждого времени разделения, я попытаюсь вытащить оставшуюся часть подразделения из регистра ah, добавьте 48 к этому, тогда я мог бы иметь его код Ascii, тогда я попытаюсь показать цифру, которую я получил, на экране. вот код:Сборка, переместить 8-битный регистр в 16-битный регистр, как?
Num1 DW 255
DIVISION :
CMP NUM1,10
Jl DIVEND
MOV AX,10
DIV NUM1
MOV NUM1,AL ;*
ADD AH,48
MOV DL,AH;
MOV AH,02H
INT 21H
JMP DIVISION
, но, когда им пытаются собрать его, он говорит, типы Операнд не совпадают по линии, обозначенной знаком *. im использование турбоассемблера V4.1 ... что мне делать?
Не помню многого от Turbo Assembler, но вы попробовали «MOV BYTE NUM1, AL'? –
Я не понимаю, что вы делаете MOV NUM1, AL перемещает содержимое AL в NUM1? это не может случиться, не так ли? –
@PreetSangha Правильно, я пропустил это, просто глядя на синтаксис :) –