我尝试编写一个程序,询问用户的姓名,并用他的名字问候用户。错误是预期的逗号,冒号或行尾。我怎么能纠正这个?我无法弄清楚我将在哪里进行更正。
%include "asm_io.inc"
segment .data
MES DB 10,13,'ENTER A STRING:$'
BUF DB 255,256, DUP, (0)
MES1 DB 10,13,'HELLO $'
segment .text
global _asm_main
_asm_main:
enter 0,0
pusha
MOV AX,DATA
MOV DS,AX
MOV AH,09H
LEA DX,MES
INT 21H
MOV AH,0aH
LEA DX,BUF
INT 21H
MOV AH,09H
LEA DX,buf
INT 21H
LEA SI,BUF
MOV AX,0
MOV AL,BYTE PTR [SI]
ADD SI,AX
MOV BYTE PTR [SI+1],'$'
MOV AH,09H
LEA DX,BUF+2
INT 21H
MOV AX,4C00H
INT 21H
popa
mov ax, 0
leave
ret
答案 0 :(得分:1)
BYTE PTR
是MASM / TASM语法。您发布的代码(大多数情况下)看起来像是为NASM编写的,因此您应该放弃PTR
(即使用MOV AL, BYTE [SI]
等)。