. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->基础知识
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  为什么程序DEBUG到这里的时候自动退出呢  [待解决] 回复[ 4次 ]   点击[ 478次 ]  
hnuzyf
[帖 主]   [ 发表时间:2008-08-07 09:08 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-07-18 09:32
assume cs:code,ds:data
data segment
db 0,1,2,3,4,5,6,7
data ends

stack segment
dw 0;,0,0,0,0,0,0,0
stack ends

code segment
start:mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,2
mov bx,0  ;;;;为什么程序DEBUG到这里的时候自动退出呢?我的CPU是AMD型号的。
sub ax,ax
mov cx,8
s:mov al,ds:[bx]
mov ah,0
add dx,ax
inc bx
loop s
mov dx,ax
push dx
pop bx
mov ax,4c00h
int 21h
code ends
end start
tlzbl
[第1楼]   [ 回复时间:2008-08-07 16:51 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-03-07 14:48
这个应该是栈太小了   不是在实摸的DOS里面  就出这个问题吧  
我做的几个实验 也都是这样
tomato
[第2楼]   [ 回复时间:2008-08-07 21:38 ]   [引用]   [回复]   [ top ] 
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51
我认为是操作系统在管理的原因。执行了操作系统认为的非法指令。正如楼上所说,是因为栈设置太小的原因。
hnuzyf
[第3楼]   [ 回复时间:2008-09-09 14:06 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-07-18 09:32
好的J2EE黑客QQ群69783150,欢迎加入!!   )-:
lzzhy
[第4楼]   [ 回复时间:2008-09-13 19:12 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-09-13 09:21
栈顶设置错误
将mov sp,2 
改为mov sp,16
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved