社区
汇编语言
帖子详情
用什么方法可以知道一条指令占多少个字节
冷羽
2003-11-03 03:16:14
比如
004034F3 8B F4 mov esi,esp
004034F5 8B 4D F8 mov ecx,dword ptr [ebp-8]
同样是mov指令为什么有的占的字节数多,有的占的字节数少,前面是2个字节,而后面是3个字节,用什么方法可以判断一条指令占用多少个字节数??
...全文
793
10
打赏
收藏
用什么方法可以知道一条指令占多少个字节
比如 004034F3 8B F4 mov esi,esp 004034F5 8B 4D F8 mov ecx,dword ptr [ebp-8] 同样是mov指令为什么有的占的字节数多,有的占的字节数少,前面是2个字节,而后面是3个字节,用什么方法可以判断一条指令占用多少个字节数??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
WYC2300
2003-11-03
打赏
举报
回复
”$“是可以初类的知道哦
你也可以去查INTEL的~~~~~~~~~~~`
vcshcn
2003-11-03
打赏
举报
回复
aaa:
mov esi,esp
$
len = $ -aaa
itaolu
2003-11-03
打赏
举报
回复
看看Intel 第二卷,关于opcode的知识,你就会明白了。
hswxf
2003-11-03
打赏
举报
回复
与操作数的类型有关,与寻址方式有关
尤其是不同的寻址方式,占用字节是不同的
sh210
2003-11-03
打赏
举报
回复
1、debug 下,结合a,u命令就可以看到你想看到的指令的机器码
2、softice下,下命令:code on
神农氏
2003-11-03
打赏
举报
回复
每一条指令的长度intel都有定义,是不变得,查intel的文档就知道了。
itaolu
2003-11-03
打赏
举报
回复
通过opcode和mod r/m位,你可以求出要用多少个字节。不过有一定的烦。
bluedreammer
2003-11-03
打赏
举报
回复
debug 就可以看到了
一般相同操作下使用ax的指令占的字節數少.
reaperGD
2003-11-03
打赏
举报
回复
这些都是系统定义的,没有规律可查,程序写的多了,就知道常用指令占的字节数了
冷羽
2003-11-03
打赏
举报
回复
好像大家误解我的用意了。我也知道用debug 和softice可以看到那些指令占用多少字节;关键是我想用程序求出占用多少字节。不知道debug和softice还有那些反汇编程序是怎么求出来的啊?
51 单片机
一条
指令
占
几个
字节
51 单片机
一条
指令
通常
占
用 1 到 3 个
字节
。 51 单片机
指令
码采用
字节
编址,即每个
字节
都有一个独立的地址。每条
指令
都由一个操作码和一个或多个参数组成。操作码
占
用一个
字节
,参数可能
占
用一个或两个
字节
。因此,
一条
指令
通常
占
用 1 到 3 个
字节
。 例如,51 单片机的
指令
MOV A, #data 操作码为 74H,
占
用 1 个
字节
。参数 data
占
用 1 个
字节
。因此,这条
指令
占
用 2 个...
cpu怎么
知道
(判断)
一条
指令
有多少个
字节
?
指令
译码一般有几个过程(部件):
指令
预取、
指令
预分析(预解码)、解码。预取是从cache或者内存取一系列的
字节
(大小可以保证至少包含
一条
指令
),并设置一个待分析的位置,预分析从此位置逐
字节
分析,如果是前缀就设置分析状态(因为前缀可能改变默认地址尺寸和操作数的大小,影响后续
指令
长度),直到不是前缀,就认为是操作码,x86的op code长度一般为1
字节
,某些2
字节
,查表就可以直接找出
指令
长度了。 ...
设相对寻址的转移
指令
占
两个
字节
,第一
字节
是操作码,第二
字节
是相对位移量(用补码表示),若CPU每当从存储器取出一个
字节
时,即自动完成(PC)+1一PC
(PC)+ 相对位移 =有效地址 低
字节
地址为字地址:低位
字节
在低地址 例:FFDFH这个十六进制数中,FF为高位
字节
,DF为低位
字节
1.设相对寻址的转移
指令
占
两个
字节
,第一
字节
是操作码,第二
字节
是相对位移量(用补码表示),若CPU每当从存储器取出一个
字节
时,即自动完成(PC)+1一PC。 设当前PC的内容为2009H,要求转移到2000H地址,则该转移
指令
第二个
字节
的内容应为( A )。 A.F5H 1111 0101 B.F7H 1111 0111 C 08H 0000 1000 D.0
指令
由多少
字节
组成?
在debug中可以查看。比如add
指令
多少
字节
,就看左边红框," 83C406 " 这个代表3个
字节
。2位数字表示一个
字节
,这里是16进制的。 注意: 1
字节
=8位 二进制数 (1111 1111) 1
字节
=2位 十六进制数(F F) ...
51单片机
指令
字节
长度判断
方法
在学习51单片机时,
指令
长度判断有疑惑之处,把自己的学习到的知识整理下来。
汇编语言
21,459
社区成员
41,601
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章