一个奇怪的汇编问题
我的代码
data segment
BUF DB 03H,04H,01H,05H,0BH,06H,08H,09H,02H
;就是在这里替换
MYDATA2 DB 'SDF'
data ends
stack segment stack 'stack'
dw 32 dup(?)
stack ends
code segment
begin proc far
assume ss:stack,cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
;我这里没有写任何代码
begin endp
code ends
end begin
编译之后运行,视正常的
但是,当我把BUF的声明去掉改为M1 DB 4H
data segment
M1 DB 4H
MYDATA2 DB 'SDF'
data ends
的时候,编译之后,运行跳出对话框来,显示
“ 命令提示符(2)-exam2
NTVDM CPU 遇到无效的指令。
CS:005E IP:02C6 OP:FE A3 60 23 89 选择“关闭”终止应用程序”
另外说明,我在begin proc far 过程中没有写相关于这些变量的代码,所以问题
应该视出在 data segment的数据声明段
谢谢大家指教