小熊猫party 发表于 2011-12-25 17:42:13

运行程序无法输入下去也没提示为什么?

assume cs:code

stack segment

        db 16 dup(0)

stack ends

code segment
               
                start:        mov ax,1000h
                        mov ss,ax
                        mov sp,16
                        mov bx,1
                        push bx
                        pop bx
                        call
                       
                       
                       
code ends
end start

风扫地 发表于 2011-12-25 18:02:43

call什么?这个程序不完整啊。。

小熊猫party 发表于 2011-12-25 18:30:40

这个程序我实验了很多次了。

为什么!我们一定要用 mov ax,stack才能把段地址给 ss (mov ss,ax)

大家可以实验下,把call去掉也运行不了。

请猜测党不要脱离实际!要动手。

风扫地 发表于 2011-12-26 11:46:45

本帖最后由 风扫地 于 2011-12-26 11:58 编辑

去掉call。。。加上movax,4c00Hint 21H

然后单步调试和运行都通过。


如果不加上movax,4c00Hint 21H
还是movax,stack
虽然直接可以运行过。我这里直接运行也会出错、

。单步跟的话程序流程在不同的环境和不同时刻都不同。最后也不知道怎么返回的。
我跟了下。有时候单步跟也会出现这个问题。

--------------------------------------------------------------------
加上mov ax,4c00H
int 21H
无论是movax,1000H
还是movax,stack...程序都能正确返回。。





小熊猫party 发表于 2011-12-26 11:58:44

e:\a.jpg

小熊猫party 发表于 2011-12-26 12:02:07

不知道你们能否看见!就算我去掉call。。。加上movax,4c00Hint 21H 也没有用
我的系统是XP

风扫地 发表于 2011-12-26 12:03:10

小熊猫party 发表于 2011-12-26 11:58 static/image/common/back.gif


图片看不到。。。。我的系统也是XP。。。

小熊猫party 发表于 2011-12-26 12:49:28

图片看不到??我去其他地方发图片,别人也能看到!

小熊猫party 发表于 2011-12-26 13:13:53

如果看不见麻烦加我QQ285958150
页: [1]
查看完整版本: 运行程序无法输入下去也没提示为什么?