码迷,mamicode.com
首页 > 编程语言 > 详细

汇编语言指令长度

时间:2019-06-05 21:34:23      阅读:589      评论:0      收藏:0      [点我收藏+]

标签:转移   操作   tab   word   内存地址   用两个   没有   声明   ida   

1.没有操作数的指令

指令长度为1个字节

2.操作数只涉及寄存器的的指令

指令长度为2个字节
如:mov bx,ax

3.操作数涉及内存地址的指令

指令长度为3个字节
如:mov ax,ds:[bx+si+idata]

4.操作数涉及立即数的指令

指令长度为:寄存器类型+1
8位寄存器,寄存器类型=1,如:mov al,8;指令长度为2个字节
16位寄存器,寄存器类型=2,如:mov ax,8;指令长度为3个字节

5.跳转指令

分为2种情况:

5.1 段内跳转

指令长度为2个字节或3个字节
jmp指令本身占1个字节
段内短转移,8位位移量占一个字节,加上jmp指令一个字节,整条指令占2个字节
如:jmp short opr

段内近转移,16位位移量占两个字节,加上jmp指令一个字节,整条指令占3个字节
如:jmp near ptr opr

5.2 段间跳转

指令长度为5个字节
如:jmp dword ptr table[bx][di]
或 jmp far ptr opr
或 jmp dword ptr opr

6.inc指令

占用一个字节

7.push指令

占用一个字节

8.segment声明

占用两个字节
如codesg segment

汇编语言指令长度

标签:转移   操作   tab   word   内存地址   用两个   没有   声明   ida   

原文地址:https://www.cnblogs.com/Java-Starter/p/10981728.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!