鱼C论坛

 找回密码
 立即注册
查看: 3180|回复: 6

[汇编作业] 【王爽-汇编语言】第二章 监测点2.3

[复制链接]
发表于 2014-5-1 17:24:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
2V02OEN6Q9RY256N[Z$ZW7B.jpg

刚开始的时候我也不太明白为什么是4次,但是现在我明白了
下面就由我来分享一下,我的个人理解

mov ax,bx 因为ip任意时刻都是指向,下一次将要执行的指令的偏移地址,
所以 mov ax,bx      读取完了之后 是第一次修改 ip的值,记住这里是读取之后就修改ip的值,然后在执行mov ax,bx
sub ax,ax                cpu 读取 sub ax,ax 之后 第第二次修改 ip 的值
jmp ax                     cpu 读取 jmp ax 之后 是第3次修改ip的值,记住读取并不是执行,cpu 执行jmp ax的时候是第4 次修改ip的值,因为 mp jmp ax 指令 本身就是修改ip的值为ax ,所以这是第4 次,前面 mov ax,bx 和 sub ax,ax 这两条指令执行的时候都不会修改ip的值,他们只是改变 目的操作数 寄存器 ax 的值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-9 18:16:41 | 显示全部楼层
最后ax的值是如何确定的,就是最后ip的值怎么知道是0的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-9 21:18:28 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-10 22:44:28 | 显示全部楼层
xiaosawanjava 发表于 2014-5-9 21:18
上一句  sub ax,ax   你想一想 一个数减去他自己是多少,肯定是0

不好意思,没看到sub。。。。
今天新看了那个3.4的实验,用debug32做的时候,
以MOV ax 【x】,就是以偏移地址的形式把内存中的值往寄存器里面放的时候,总是提示 1dc2 invalid use of left bracket 的错误,把寄存器的数字往内存里面放,则会出现08f5 invalid use ofregister的错误提示
我用的64位机子 ,用的是论坛里面那个debug32教程装的debug32,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-10 22:45:59 | 显示全部楼层
按错键了,没说完,接着,这个错误是不是因为系统的原因,有没有什么办法?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-10 23:52:03 | 显示全部楼层
旧当时 发表于 2014-5-10 22:45
按错键了,没说完,接着,这个错误是不是因为系统的原因,有没有什么办法?

你把你的代码发出来看看。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-12 17:20:26 | 显示全部楼层
我进行了ax值传入数据段,数据段内值传入ax中的操作,均不能通过附上图片,系统是64位,用的DOSBox模拟debug32,我觉得好像是所有涉及这个符号【】的都不能通过,最后 多谢了
进行操作时的数据.jpg
错误二数据段值传入寄存器.jpg
错误一ax存入数据段.jpg
初始信息.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-31 06:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表