注册 登录
编程论坛 汇编论坛

麻烦大哥大姐指点下

starkaka 发布于 2012-06-10 00:14, 1049 次点击
各位不好意思啊 本来想在debug里面实验的 可是执行最后一步的时候总窗口总是会消失掉 换内存地址也不行

题目:在10000H处写入字型数据2266H 不能使用“mov 内存单元 寄存器”这类指令

我就把作业打出来 大家能不能帮我看看 是错还是对 不用告诉我哪里错了 我自己分析就行 麻烦各位了

mov ax,1000
mov ds,ax
mov ax,1000
mov ss,ax
mov ax,2
mov sp,ax
mov ax,2266
push ax
11 回复
#2
于祥2012-06-10 08:51
你的1000H和2266H后的H都没有
#3
于祥2012-06-10 08:57
真不对,没有把2266H放进去
#4
zklhp2012-06-10 09:51
debug里默认就是16进制
#5
zklhp2012-06-10 09:58
push ax

这里的ax是放到1000:0里 还是放到1000:2里?
#6
zklhp2012-06-10 10:06

为啥会消失呢 我试的时候也是这样 不懂dos不知道原因
非得用debug么 可能这玩意有什么限制罢



[ 本帖最后由 zklhp 于 2012-6-10 10:07 编辑 ]
#7
zklhp2012-06-10 10:10
mov ax,1000
mov es,ax
xor di,di
mov ax,2266
stosw


这个貌似可以
#8
zklhp2012-06-10 10:11
记得结题哦
#9
zklhp2012-06-10 11:50
我问了一下大牛 出错的原因是debug会保存寄存器 而你这里把sp变成0 debug一压栈就出错了 而且不会有提示

简单来说就是 debug执行有堆栈操作的代码不大好。。
#10
于祥2012-06-11 21:49
回复 9楼 zklhp
z版还是给力
#11
a2619353482012-06-12 17:46
版主就是版主
#12
ououming1232012-06-13 07:30
是不是你这个10进制的1000
其实指向了很重要的系统数据
    DEBUG在修改重要的系统数据的时候就会中断了吧- -
1