[英]Error compiling assembler program in DosBox
我目前正在DosBox中編譯一個匯編程序,但是我不斷收到一些錯誤。
有人可以幫我修復它們嗎?
我附上一張屏幕快照,上面有我在MASM和鏈接上收到的錯誤。
這是我的代碼:
DATA SEGMENT
NUM1 DB ?
NUM2 DB ?
RESULT DB ?
MSG1 DB 10,13,"ENTER FIRST NUMBER TO MULTIPLY : $"
MSG2 DB 10,13,"ENTER SECOND NUMBER TO MULTIPLY : $"
MSG3 DB 10 ,13,"RESULT OF MULTIPLICATION IS : $"
ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
LEA DX,MSG1
MOV AH,9
INT 21H
MOV AH,1
INT 21H
SUB AL,30H
MOV NUM1,AL
LEA DX,MSG2
MOV AH,9
INT 21H
MOV AH,1
INT 21H
SUB AL,30H
MOV NUM2,AL
MUL NUM1
MOV RESULT,AL
AAM
ADD AH,30H
ADD AL,30H
MOV BX,AX
LEA DX,MSG3
MOV AH,9
INT 21H
MOV AH,2
MOV DL,BH
INT 21H
MOV AH,2
MOV DL,BL
INT 21H
MOV AH,4CH
INT 21H
ENDS
END START
MASM SEGMENT
指令的簽名如下:
name SEGMENT [[READONLY]] [[align]] [[combine]] [[use]] [[characteristics]] ALIAS(string) [['class']]
statements
name ENDS
因此,您的代碼包含匯編程序提到的兩個錯誤:
DATA SEGMENT
NUM1 DB ?
...
ENDS ; This line should be: DATA ENDS
和
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
...
ENDS ; This line should be: CODE ENDS
因此,僅在`ENDS'指令之前遺漏了各自的名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.