81、汇编语言与相关架构技术详解

汇编语言与相关架构技术详解

1. 字符、指令与宏

1.1 字符与指令对应

在汇编语言中,存在着字符与十六进制代码以及 x86 指令的对应关系,如下表所示:
| 字符 | 十六进制代码 | x86 指令 | 说明 |
| — | — | — | — |
| u | 75 | JNE | |
| v | 76 | JBE | |
| w | 77 | JA | |
| x | 78 | JS | |
| y | 79 | JNS | |
| z | 7a | JP | |
| f | 66 | (in 32 - bit mode) switch to 16 - bit operand size | |
| g | 67 | (in 32 - bit mode) switch to 16 - bit address size | |

此外,还有一些常见指令总结,如 AAA、AAS、CMP、DEC、IMUL、INC、JA、JAE、JB、JBE、JE、JNE、JNO、JNS、JO、JP、JS、POP、POPA、PUSH、PUSHA、XOR 等。

1.2 npad 宏

npad 是一个用于在特定边界对齐标签的汇编语言宏。在控制流经常跳转的繁忙标签处,如循环体起始位置,这种对齐是很有必要的,这样 CPU 可以通过内存总线、缓存行等有效加载数据或代码。

以下是 npad 宏的代码实现:

npad macro size
if size eq 1
nop
el
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值