鱼C论坛

 找回密码
 立即注册
查看: 3303|回复: 27

汇编语言 第九章 JMP不是很懂

  [复制链接]
发表于 2013-5-15 15:22:39 | 显示全部楼层 |阅读模式

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

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

x
  第九章中 JMP中的一个小节

1.jpg 最近看的迷糊了,


第一句(1)中: 那个是减号还是什么? 8位位移=标号处的地址jmp指令后的第一个字节的地址?

  我也不知道我要问什么了......  就解释一下头两句话的意思吧

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-15 16:55:27 | 显示全部楼层

回帖奖励 +1 鱼币

本帖最后由 nios 于 2013-5-15 17:13 编辑

就是用两点间的地址定位(从那个地址开始,到那个地址结束),然后用这之间的机器码做减法。向上跳减出来是负数(用补码表示),向下跳减出来是正数(正常码)。看图
捕获.JPG
红圈里是机器码.一次数一个字节例如:EB 而不是数一个字EB 03

short 位移8位,也就是指跳的范围是-128~127

不知道我说对没有?还请各位斧正。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-5-15 18:28:18 | 显示全部楼层

  我看了看你的解释 加上之前自己想的 书上说:标号处的地址-jmp指令后的第一个字节的地址
  6-3=3,这个就是:标号处(jmp s0=偏移地址0006)6-3(jmp s0指令后的第一个字节地址0003)=3???  可以这样理解吧?
  后面同上   22.jpg

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-15 19:05:55 | 显示全部楼层
summyu 发表于 2013-5-15 18:28
我看了看你的解释 加上之前自己想的 书上说:标号处的地址-jmp指令后的第一个字节的地址
  6-3=3,这个 ...

我想是对了,再听听别的大牛的解释?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-15 19:06:25 | 显示全部楼层

回帖奖励 +1 鱼币

我只是路过打酱油的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-15 22:01:36 | 显示全部楼层

回帖奖励 +1 鱼币

上面的二位讲解得好清楚了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-15 22:09:42 | 显示全部楼层

回帖奖励 +1 鱼币

呼呼。。。。楼主,我也正在学这章,卡在这章第三天了,呼呼。。。。。

我个人觉得,这个位移多少,没必要一定能自己计算出多少来,只要知道这是编译器在编译的时候帮你把这个值算出来了然后换成机器码就行了。我个人觉得就算你自己知道计算这个值,是没有实际意义的吧?毕竟我们不会去改机器码,要改也是改汇编语句,改的时候只要清楚这个转移范围就好。只要汇编JMP改对了,CPU自然跳转到你要执行的目的地址。不知道我这个想法是不是对的?还请大家指正啊

今天有点小兴奋,居然写了几个彩色的字母在屏幕上了。哈哈。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-15 22:22:41 | 显示全部楼层
依据位移转移的转移指令,都是段内转移,(对吧?)

反正这种转移指令格式上在汇编语句中带都“标号”的,

所以我个人觉得,在编写或者修改这类汇编语句的时候,

我们只要知道CPU她执行的原理就可以了,在真正的实际应用中,不会计算这个位移,或者说不知道这个位置的值是多少,这个跟我们没什么关系吧。

由于没有实战过,没有写过这类底层代码,只是个人这么猜想。

还是请经验丰富的大侠们,说说吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-16 00:59:14 | 显示全部楼层

回帖奖励 +1 鱼币

请问 移动8位 怎么又变成了 -128~127?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-16 07:21:42 | 显示全部楼层

回帖奖励 +1 鱼币

感谢楼主分享,新手学习,感谢楼主分享!!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-5-16 09:21:26 | 显示全部楼层

RE: 汇编语言 第九章 JMP不是很懂

蜗牛8 发表于 2013-5-15 22:09
呼呼。。。。楼主,我也正在学这章,卡在这章第三天了,呼呼。。。。。

我个人觉得,这个位移多少,没必 ...

是啊 我是这么想过,毕竟这个位移由编译器算出。 但了解一下还是可以有得,,,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-5-16 09:27:00 | 显示全部楼层

RE: 汇编语言 第九章 JMP不是很懂

zqzq 发表于 2013-5-16 00:59
请问 移动8位 怎么又变成了 -128~127?

8个1。。   11111111     1.2.4.8.16.32.64.128  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-16 09:46:33 | 显示全部楼层
summyu 发表于 2013-5-16 09:27
8个1。。   11111111     1.2.4.8.16.32.64.128

2的8次方,就是128,然后考虑负数就是-127~128这是一个范围。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-16 10:28:28 | 显示全部楼层

回帖奖励 +1 鱼币

我只是路过打酱油的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-16 10:38:09 | 显示全部楼层

回帖奖励 +1 鱼币

楼主加油,鱼C加油!我们都看好你哦!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-17 17:12:08 | 显示全部楼层

回帖奖励 +1 鱼币

无回帖,不论坛,这才是人道。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-17 17:38:43 | 显示全部楼层

回帖奖励 +1 鱼币

无回帖,不论坛,这才是人道。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-17 17:55:38 | 显示全部楼层

回帖奖励 +1 鱼币

楼主加油,鱼C加油!我们都看好你哦!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-17 18:16:03 | 显示全部楼层

回帖奖励 +1 鱼币

1楼正解!~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-17 18:25:13 | 显示全部楼层

回帖奖励 +1 鱼币

无回帖,不论坛,这才是人道。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-17 12:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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