读书人

下面的汇编程序能够通过编译以及连接

发布时间: 2012-04-19 14:36:43 作者: rapoo

下面的汇编程序,能够通过编译以及连接,最后通过debug运行,结果运行了一半多的指令就报错了,
错误提示是跳出一个小框,上面说 :

16位 MS-DOS 子系统
C:\WINDOWS\system32\cmd.exe -debug 14.exe
NTVDM CPU 遇到无效的指令。
CS:0000 IP: 0077 OP:f0 37 05 0e 02 选择“关闭”终止应用程序


上面就是错误提示,真的看不懂什么意思,麻烦各位有经验的帮个忙。下面的内容是我的代码:
assume cs:code
a segment
db 1,2,3,4,5,6,7,8
a ends

b segment
db 1,2,3,4,5,6,7,8
b ends

e segment
db 0,0,0,0,0,0,0,0
e ends

code segment

start: mov ax,e
mov ss,ax
mov sp,8


mov ax,a
mov ds,ax

mov ax,b
mov es,ax

mov bx,0
mov cx,8

s: mov al,ds:[bx]
add al,es:[bx]
add bx,1
mov ah,ds:[bx]
add ah,es:[bx]

push ax
add bx,1
loop s

mov ax,4c00h
int 21h
code ends

end start

[解决办法]
code segment

start: mov ax,e
mov ss,ax
mov sp,32
把堆栈重新设置下就可以了。

读书人网 >汇编语言

热点推荐