news 2026/5/10 19:24:17

脚本语言 汇编

作者头像

张小明

前端开发工程师

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/5/10 3:27:32

如何在本地运行OpenAI的gpt-oss-20b大模型

如何在本地运行 OpenAI 的 gpt-oss-20b 大模型 你有没有想过,一台普通的笔记本电脑,16GB 内存,甚至没有独立显卡,也能跑起一个接近 GPT-4 水平的语言模型?听起来像科幻,但它已经成真了。 就在最近&#x…

作者头像 李华
网站建设 2026/5/10 2:40:29

GitHub热门项目GPT-SoVITS语音合成模型实测体验

GPT-SoVITS语音合成模型实测:少样本克隆如何做到以假乱真? 在AI生成内容(AIGC)浪潮席卷各个领域的当下,语音合成技术正悄然经历一场“静默革命”。过去需要专业录音棚、数小时语料和庞大算力才能完成的个性化声音复刻&…

作者头像 李华
网站建设 2026/5/10 13:40:16

伪装对账单诱导远控:针对Coinbase用户的Windows钓鱼攻击分析

摘要2025年末,Kaspersky披露了一起针对Coinbase加密货币平台用户的定向钓鱼攻击活动。该攻击以“账户对账单查看”为诱饵,通过伪造通知邮件引导用户访问特制网页,并施加“仅限Windows系统打开”的操作限制,诱导用户下载并执行名为…

作者头像 李华
网站建设 2026/5/8 16:16:14

Ollama GPU加速设置确保Anything-LLM高并发响应

Ollama GPU加速设置确保Anything-LLM高并发响应 在企业知识管理日益智能化的今天,越来越多组织开始部署私有化的大语言模型(LLM)系统,以实现对内部文档的高效问答与信息提取。然而,当多个用户同时发起复杂查询时&#…

作者头像 李华
网站建设 2026/5/9 5:06:28

【后端】预生产环境与生产环境数据库表隔离方案

文章目录一、问题背景问题场景业务影响二、解决方案设计2.1 核心思路2.2 架构设计2.3 环境变量配置三、代码实现3.1 DAO 接口层3.2 Provider 实现层3.3 SelectProvider 工作原理四、数据库脚本4.1 初始化脚本(example_prepare_001.sql)4.2 数据同步脚本&…

作者头像 李华
网站建设 2026/4/26 7:27:57

Obsidian性能优化终极指南:让你的知识库运行如飞

Obsidian性能优化终极指南:让你的知识库运行如飞 【免费下载链接】awesome-obsidian 🕶️ Awesome stuff for Obsidian 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-obsidian 还在为Obsidian启动缓慢、编辑卡顿而烦恼吗?当你…

作者头像 李华