news 2026/6/26 17:33:26

脚本语言 汇编

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
脚本语言 汇编

# 汇编指令系统化分类

## 一、 主流指令集架构

### 1. x86 家族

#### 1.1 x86 通用指令

##### 1.1.1 数据传送

- MOV, PUSH, POP, LEA, XCHG

##### 1.1.2 算术运算

- ADD, ADC, SUB, SBB, MUL, IMUL, DIV, IDIV

##### 1.1.3 逻辑与位操作

- AND, OR, XOR, NOT, NEG, SHL, SHR, SAR, ROL, ROR

##### 1.1.4 控制转移

- CMP, TEST, JMP, JE, JNE, JL, JG, CALL, RET, LOOP

##### 1.1.5 字符串操作

- MOVS, LODS, STOS, CMPS, SCAS, REP, REPZ, REPNZ

#### 1.2 x86 系统/特权指令

##### 1.2.1 中断与系统调用

- INT n, IRET, SYSCALL, SYSENTER, SYSEXIT

##### 1.2.2 处理器控制与状态

- CLI, STI, HLT, NOP

##### 1.2.3 模型特定寄存器

- RDMSR, WRMSR, CPUID

##### 1.2.4 内存管理

- INVLPG, LGDT, SGDT, LLDT, SLDT, LTR, STR

### 2. ARM 家族

#### 2.1 ARM32 (AArch32) 通用指令

##### 2.1.1 数据处理

- MOV, MVN, ADD, SUB, RSB, ADC, SBC, RSC

- MUL, MLA, UMULL, UMLAL, SMULL, SMLAL

- AND, ORR, EOR, BIC, LSL, LSR, ASR, ROR, RRX

##### 2.1.2 内存访问

- LDR, STR, LDM, STM, PUSH, POP

##### 2.1.3 控制转移

- B, BL, BX, BLX, SWI

#### 2.2 ARM64 (AArch64) 通用指令

##### 2.2.1 数据处理

- ADD, SUB, ADC, SBC, NEG

- MUL, SMULH, UMULH, SDIV, UDIV

- AND, ORR, EOR, BIC, MVN, LSL, LSR, ASR, ROR

##### 2.2.2 内存访问

- LDR, STR, LDUR, STUR, LDP, STP, LDNP, STNP

- LDXR, STXR, LDAXR, STLXR, LDADD, SWP

##### 2.2.3 控制转移

- B, BL, BR, BLR, RET, CBZ, CBNZ, TBZ, TBNZ

#### 2.3 ARM 系统/特权指令

- SWI (ARM32), SVC, HVC, SMC (ARM64)

### 3. RISC-V 家族

#### 3.1 RISC-V 通用指令 (RV32I/RV64I 基础扩展)

##### 3.1.1 内存访问 (Load/Store)

- LW, SW, LD, SD, LB, SB, LH, SH

##### 3.1.2 算术与逻辑

- ADD, SUB, ADDI, LUI, AUIPC

- AND, OR, XOR, ANDI, ORI, XORI

- SLL, SRL, SRA, SLLI, SRLI, SRAI

##### 3.1.3 控制转移

- BEQ, BNE, BLT, BGE, BLTU, BGEU

- JAL, JALR

#### 3.2 RISC-V 系统/特权指令

- ECALL, EBREAK, CSRRW, CSRRS, CSRRC

### 4. 8/16 位微控制器架构

- 8051 内核

- AVR 内核

- PIC 内核

### 5. 历史/小众架构

- Motorola 68k

- MIPS32/64

- PowerPC

- SPARC

## 二、 按功能交叉索引

### 2.1 数据传送

- **寄存器↔寄存器**: MOV (x86), MOV (ARM)

- **寄存器↔内存**: MOV (x86), LDR/STR (ARM), LW/SW (RISC-V)

- **立即数→目标**: MOV (x86), LDR (ARM), ADDI (RISC-V)

- **堆栈操作**: PUSH/POP (x86/ARM32), PUSH/POP (ARM64伪指令)

- **地址加载**: LEA (x86), LDR (ARM,伪指令), LUI/AUIPC (RISC-V)

### 2.2 算术运算

- **加法/带进位加**: ADD/ADC (x86/ARM/RISC-V)

- **减法/带借位减**: SUB/SBB (x86), SUB/SBC (ARM), SUB (RISC-V)

- **乘法**: MUL/IMUL (x86), MUL/UMULL/SMULL (ARM), MUL (RISC-V)

- **除法**: DIV/IDIV (x86), SDIV/UDIV (ARM), (RISC-V M扩展)

- **增量/减量**: INC/DEC (x86), (ARM/RISC-V 通常用 ADD/SUB #1 实现)

### 2.3 逻辑与位操作

- **与/或/异或**: AND/OR/XOR (x86/ARM/RISC-V)

- **非/取反**: NOT/NEG (x86), MVN (ARM), (RISC-V 通常用 XOR -1 实现)

- **移位/循环**: SHL/SHR/SAR/ROL/ROR (x86), LSL/LSR/ASR/ROR (ARM), SLL/SRL/SRA (RISC-V)

### 2.4 比较与测试

- **比较**: CMP (x86/ARM), (RISC-V 通常用 SUB/SLT 实现)

- **测试位**: TEST (x86), (ARM/RISC-V 通常用 ANDS 实现)

- **位扫描/置位**: BSF/BSR/BTS (x86)

### 2.5 控制转移

- **无条件跳转**: JMP (x86), B/BR (ARM), JAL/JALR (RISC-V)

- **条件跳转**: Jcc (x86), Bcc (ARM), Bcc (RISC-V)

- **调用/返回**: CALL/RET (x86), BL/RET (ARM), JAL/JALR/RET (RISC-V)

- **循环**: LOOP (x86), (ARM/RISC-V 通常用组合指令实现)

### 2.6 字符串/向量 (SIMD)

- **字符串操作**: MOVS/CMPS/SCAS (x86)

- **SIMD 算术**: ADDPS/PMULLD (x86 SSE/AVX)

- **SIMD 洗牌/移位**: SHUFPS/PSLLDQ (x86 SSE/AVX)

### 2.7 系统/特权

- **中断/异常**: INT/IRET (x86), SWI/SVC (ARM), ECALL/EBREAK (RISC-V)

- **系统调用**: SYSCALL/SYSENTER (x86), SVC (ARM), ECALL (RISC-V)

- **读写控制寄存器**: MOV CRx/MSR (x86), CSRRW/CSRRS/CSRRC (RISC-V)

- **缓存/TLB 维护**: INVLPG (x86), IC IALLU (ARM)

## 三、 汇编器伪指令与宏

### 3.1 段定义

- .text, .data, .bss

### 3.2 符号与常量定义

- .equ, .set

### 3.3 宏定义与条件汇编

- .macro, .if, .endif

## 四、 学习资源与工具

### 4.1 官方文档与手册

- Intel/AMD 官方手册

- ARM 架构参考手册

- RISC-V 非特权/特权规范

### 4.2 社区资源与速查表

- 社区速查仓库

- 在线指令集查询工具

### 4.3 开发与调试工具

- 汇编器

- 反汇编工具

- 调试器

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/25 20:14:46

未来智造·赢在昌平!2025iCAN未来机器人创业挑战赛总决赛圆满举行

2025年12月14日,iCAN未来机器人创业挑战赛总决赛在北京昌平未来科学城圆满落下帷幕。本次大赛由iCAN大学生创新创业大赛组委会与北京市昌平区人民政府联合主办,赛事聚焦全球高校,广纳具备硬科技创新实力的机器人项目,以赛事为纽带…

作者头像 李华
网站建设 2026/6/25 21:03:06

生态共赢 携手共进 —“职点迷津”央国企就业生态合作洽谈会盛启

在央国企就业需求持续攀升、职业教育赛道加速革新的背景下,职点迷津作为国内领先的央国企就业指导机构,于12月13日在京成功举办了“央国企就业生态合作洽谈会”。活动汇聚了多家教育领域的优秀企业,共同探讨央国企就业服务生态的共建路径&…

作者头像 李华
网站建设 2026/6/26 2:20:27

Qwen3-8B模型pipeline流式与非流式调用实践

Qwen3-8B模型pipeline流式与非流式调用实践 在AI应用日益普及的今天,如何让大模型“说人话”且“快点说”,成了开发者最关心的问题之一。尤其是面对像 Qwen3-8B 这类性能强劲又部署友好的国产开源模型时,我们不仅希望它能答得准,…

作者头像 李华
网站建设 2026/6/25 22:31:46

Jaccard算法及其扩展(token、加权)原理详解

Jaccard算法是一种简单而强大的集合相似性度量方法,特别适合处理二元属性数据。它通过计算两个集合的交集与并集的比值,直观地反映两个对象的相似程度。随着应用场景的扩展,Jaccard算法被赋予了多种变体形式,包括添加token的扩展&…

作者头像 李华
网站建设 2026/6/25 18:06:39

卫星传输降本利器:伟博编码板压缩编码让流量资费仅为原先 1/6

在应急救援、远洋作业、偏远矿区等依赖卫星传输音视频的场景中,“流量资费高昂” 始终是行业痛点 —— 卫星带宽资源稀缺,传统未压缩或低效率编码的音视频传输方式,动辄产生巨额流量费用,甚至让部分场景因成本问题放弃实时视频传输…

作者头像 李华
网站建设 2026/6/25 10:46:48

AI Agent 开源记忆框架对比2

集成难度:从开发者视角评估接入现有 Agent 系统(如 LangChain、Dify、Qwen-Agent)的复杂度; 代码健壮性:基于文档完整性、错误处理机制、测试覆盖率、生产就绪程度等综合判断; 流行度:结合 GitHub Star、社区活跃度、企业采用情况; 记忆准确度(精准记忆):对时间顺序…

作者头像 李华