I am learning Assembly language for my studies, and just tested the same program (as shown below) in emu8086 and DOSBox
Below used in emu8086
org 100h
MOV AX,1234h
MOV BX,5678h
MOV CX,9ABCh
MOV DX,DEF0h
ADD BX,DX
ADC AX,CX
ret
Below used in DOSBox Debug mode
MOV AX,1234
MOV BX,5678
MOV CX,9ABC
MOV DX,DEF0
ADD BX,DX
ADC AX,CX
DOSBox runs fine and produces the result as AX=ACF1
, BX=3568
,CX=9ABC
,DX=DEF0
.
However, the one in emu8086 doesn't run at MOV DX,DEF0h
and gives:
(5) wrong parameters: MOV DX,DEF0h
(5) probably no zero prefix for hex; or no 'h' suffix; or wrong addressing; or undefined var: DEF0h
I couldn't identify the error(s) and so here I am to seek for advice. Appreciate any feedback :)