在使用寄存器EAX,EBX,ECX等时,我得到一个未定义的符号异常 我是X86编程的新手,所以任何帮助都将不胜感激
data segment
msg db 10,13,'enter the number$'
msg1 db 10,13,'the result$'
nline db 13,10,'$'
ttho dd 10000
ten db 10
tho dw 1000
h dw 0100
product dw ?
num1 db ?
num2 db ?
data ends
code segment
assume cs:code,ds:data
start:
mov eax,data
mov ds,eax
mov eax,0001h
mov ebx,0000h
mov ecx,0000h
mov edx,0000h
放入.386之后
我仍然收到此错误
答案 0 :(得分:5)
.386
以生成32位代码,例如Hans Passant说。data
段与msg
一起完全丢失。添加data
和msg
,那些未定义的符号错误也会消失。push msg
和函数中的pop msg
看起来很奇怪。根据{{1}}的定义,此可以工作,但感觉很尴尬。