[英]Error compiling assembler program in DosBox
I am currently compiling an assembler program in DosBox, but I keep getting some errors. 我目前正在DosBox中编译一个汇编程序,但是我不断收到一些错误。
Can someone help me fix them? 有人可以帮我修复它们吗?
I am attaching a screenshot with the errors I receive on MASM and link. 我附上一张屏幕快照,上面有我在MASM和链接上收到的错误。
This is my code: 这是我的代码:
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
The signature of the MASM SEGMENT
directive is as follows: MASM
SEGMENT
指令的签名如下:
name SEGMENT [[READONLY]] [[align]] [[combine]] [[use]] [[characteristics]] ALIAS(string) [['class']]
statements
name ENDS
So your code contains two errors which are mentioned by the assembler: 因此,您的代码包含汇编程序提到的两个错误:
DATA SEGMENT
NUM1 DB ?
...
ENDS ; This line should be: DATA ENDS
and 和
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
...
ENDS ; This line should be: CODE ENDS
So you were missing the respective names before the `ENDS' directives, that's all. 因此,仅在`ENDS'指令之前遗漏了各自的名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.