晚上好人。我刚刚开始学习汇编语言,并且我在网上找到了很好的例子。有人建议我使用NASM开始学习,但我发现的例子我发现他们使用的是8086汇编程序。当我按照这些例子时,我注意到如果我使用NASM他们没有在Linux终端上运行,但是如果我安装了8086汇编器模拟器,它确实有效。
我的问题是:NASM和8086汇编程序有什么区别吗?对我来说,它们应该是同一个东西,因为它是汇编代码。如果没有,是否有人可以解释我两者之间是否存在任何差异?以及他们为什么不在NASM和8086上运行相同的代码
这是我关注的代码,它在8086汇编程序上运行但在Linux上没有在NASM上运行
DATA SEGMENT
NUM1 DB ?
NUM2 DB ?
RESULT DB ?
MSG1 DB 10,13,"ENTER FIRST NUMBER TO ADD : $"
MSG2 DB 10,13,"ENTER SECOND NUMBER TO ADD : $"
MSG3 DB 10,13,"RESULT OF ADDITION 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
ADD AL,NUM1
MOV RESULT,AL
MOV AH,0
AAA
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
谢谢,并希望你有一个美好的夜晚。