2

我在使用寄存器 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 后我仍然收到此错误

4

1 回答 1

6
  • 您需要.386在文件顶部添加以生成 32 位代码,如 Hans Passant 所说。
  • 您的data段与 . 一起完全丢失msg。添加dataand msg,然后那些未定义的符号错误也会消失。
  • push msg函数调用之前和pop msg函数中看起来很奇怪。根据 的定义msg,这可以工作,但感觉很尴尬。
于 2013-10-10T19:12:41.187 回答