鱼C论坛

 找回密码
 立即注册
查看: 4664|回复: 5

[已解决]谁给我讲讲16位位移和8位位移什么意思?用大白话讲,不然听不懂谢谢啦

[复制链接]
发表于 2019-6-22 23:31:18 | 显示全部楼层 |阅读模式

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

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

x
谁给我讲讲16位位移和8位位移什么意思?用大白话讲,不然听不懂谢谢啦
就是转移指令中的
最佳答案
2019-6-23 13:46:11
楼主说的是位移量吧?
其实位移量也就是我们常说的可转移的范围
例如:8位位移量,可表示的最大的数是256,也就是说可以在-128~127字节这个范围内转移
类似的有16位位移量,32位,64位,都表示转移的字节范围,注意是带符号的,因为可以向上和向下转移
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-6-22 23:38:32 | 显示全部楼层
转移指令和位移不是一个概念吧?我懵了。

如果是位移的话,就拿逻辑左移来讲,二进制数整体左移,最右边补0,
比如一个二进制数1111,逻辑左移一位就是1110

类比16位8位
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-23 13:46:11 | 显示全部楼层    本楼为最佳答案   
楼主说的是位移量吧?
其实位移量也就是我们常说的可转移的范围
例如:8位位移量,可表示的最大的数是256,也就是说可以在-128~127字节这个范围内转移
类似的有16位位移量,32位,64位,都表示转移的字节范围,注意是带符号的,因为可以向上和向下转移
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-25 13:08:31 | 显示全部楼层
我在学习这里的时候也觉得这个用词有问题,例如一个8位二进制数:0000 0001B变成0000 0010,这才叫位移
最后经过我仔细思考,其实他说得是意思是:16位以内的偏移,和8位以内的偏移
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-26 19:59:07 | 显示全部楼层
你们讲的 听不懂我去
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-26 21:35:36 | 显示全部楼层
转移指令是指可修改IP或CS的指令,及它可以控制CPU执行内存的代码指令。
   段内位移:(修改IP)jmp ax
   段间位移:(修改IP和CS) jmp 1000:0
短位移:-128~127
近位移:-32768~32767
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-5 02:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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