传说。 发表于 2014-4-22 13:35:45

栈写一个加减法。看我思路对不对。

768+12288-1280=11776.
边做边写。 不好的地方大家给提提意见。
换算成16进制先。
300H+3000H-500H=2E00
验证一下。。 是对的。。:lol:

瞎找了一段没有数据的内存
2000:30 这一段。
将数据输入进去并查看。
按照输入
200030H 03
200031H 00
200032H 30
200033H 00
200034H 05
200035H 00
然后我把CPU中所有数据都改成0
现在把200030H~200035H 这段空间当做栈。
把 SS SP 改成栈顶地址。
在2000:0输入机器指令 并执行。
为什么没输出出来,AX 还是0, 还有我思路对不对。 下面怎么做?






nsonline 发表于 2014-4-22 15:51:39

第四张图片,你是修改了DS和IP的值,写错了,应该是修改CS和IP的!

传说。 发表于 2014-4-22 18:18:39

nsonline 发表于 2014-4-22 15:51 static/image/common/back.gif
第四张图片,你是修改了DS和IP的值,写错了,应该是修改CS和IP的!

DS 是段地址。 CS 是什么。。

nsonline 发表于 2014-4-22 19:40:08

传说。 发表于 2014-4-22 18:18 static/image/common/back.gif
DS 是段地址。 CS 是什么。。

DS是数据段地址,CS是代码段地址,你要执行程序的话是需要指定CS和IP的地址。回去再看看视频~~:big
页: [1]
查看完整版本: 栈写一个加减法。看我思路对不对。