x86和ARM指令格式及汇编语言详解
1. 不同指令集特点概述
在计算机指令集的世界里,有不同的指令集承担着不同的任务。有一种指令可以将两个压缩十进制数相加,通过OP1和OP2指定一个十进制字符串的长度和起始地址,OP3和OP4指定另一个字符串,相加结果存储在由OP5和OP6指定长度和起始位置的十进制字符串中。
VAX指令集提供了广泛的操作和寻址模式,这为程序员(如编译器编写者)提供了强大而灵活的编程工具。理论上,它能实现高级语言程序的高效机器语言编译,有效利用处理器资源。但代价是,与指令集和格式更简单的处理器相比,VAX处理器的复杂度增加。
2. x86指令格式
x86配备了多种指令格式,其中只有操作码字段是始终存在的。其一般指令格式由零到四个可选的指令前缀、1或2字节的操作码、可选的地址指定符(由ModR/M字节和Scale Index Base字节组成)、可选的位移量和可选的立即数组成。
| 字段 | 说明 |
|---|---|
| 指令前缀 | 若存在,包含LOCK前缀或重复前缀。LOCK前缀用于多处理器环境中确保对共享内存的独占使用;重复前缀指定字符串的重复操作,有REP、REPE、REPZ、REPNE和REPNZ五种,绝对REP前缀使指令对字符串元素重复执行,重复次数由寄存器CX指定,条件REP前缀使指令重复直到CX计数为零或条件满足 |
| 段覆盖 | 显式指定指令应使用的段寄存器, |
超级会员免费看
订阅专栏 解锁全文
14万+

被折叠的 条评论
为什么被折叠?



