Hi, I am learning Assembly language using Jeff Dunterman's Assembly Language Step by Step book.
I am trying out a 16 bit real mode flat model assembly program using MASM32 in Win XP.
The code is:
.286
.MODEL TINY
.DATA ; Initialised data section
eatmsg db "Eat at Joe's!", 13, 10, "$" ;message to display
.CODE ; Code section
start:
mov dx, eatmsg ; Mem data ref without [] loads the address
mov ah, 9 ; Function 9 displays text to standard output
int 21H ; Call DOS
mov ax, 04C00H ; DOS function to exit the program
int 21H ; Return control to DOS
end start
When I assembled the file, I got the following message:
error A2070: invalid instruction operands
The error refers to the mov dx, eatmsg statement. What is wrong with the operand that causes the error message to appear?
Also, there is a warning:
warning A4023: with /coff switch, leading underscore required for start address : start
I saw other code examples which use the start label so I am not sure what is the cause of the warning?