高级语言经编译器编译生成后,最终会生成机器语言,汇编指令与机器语言又是对应的。所以汇编指令与高级语言语言定义存在一定的关系。
如:CALL、RET组合相当于方法调用。
LOOP、LOOPE、LOOPZ、LOOPNE、LOOPNZ、JCXZ、JECXZ循环执行指令。
INT、INTO、IRET中断,与并发执行和调试等有关。
—————————————————————————————————————
1.通用数据传送指令.
MOV----> move
MOVSX---->extended move with sign data
MOVZX---->extended move with zero data
PUSH---->push
POP---->pop
PUSHA---->push all
POPA---->pop all
PUSHAD---->push all data
POPAD---->pop all data
BSWAP---->byte swap
XCHG---->exchange
CMPXCHG---->compare and change
XADD---->exchange and add
XLAT---->translate
2.输入输出端口传送指令.
IN---->input
OUT---->output
3.目的地址传送指令.
LEA---->load effective address
LDS---->load DS
LES---->load ES
LFS---->load FS
LGS---->load GS
LSS---->load SS
4.标志传送指令.
LAHF---->load AH from flag
SAHF---->save AH to flag
PUSHF---->push flag
POPF---->pop flag
PUSHD---->push dflag
POPD---->pop dflag
二、算术运算指令
———————————————————————————————————————
ADD---->add
ADC---->add with carry
INC---->increase 1
AAA---->ascii add with adjust
DAA---->decimal add with adjust
SUB---->substract
SBB---->substract with borrow
DEC---->decrease 1
NEC---->negative
CMP---->compare
AAS---->ascii adjust on substract
DAS---->decimal adjust on substract
MUL---->multiplication
IMUL---->integer multiplication
AAM---->ascii adjust on multiplication
DIV---->divide
IDIV---->integer divide
AAD---->ascii adjust on divide
CBW---->change byte to word
CWD---->change word to double word
CWDE---->change word to double word with sign to EAX
CDQ---->change double word to quadrate word
三、逻辑运算指令
———————————————————————————————————————
AND---->and
OR---->or
XOR---->xor
NOT---->not
TEST---->test
SHL---->shift left
SAL---->arithmatic shift left
SHR---->shift right
SAR---->arithmatic shift right
ROL---->rotate left
ROR---->rotate right
RCL---->rotate left with carry
RCR---->rotate right with carry
四、串指令
———————————————————————————————————————
MOVS---->move string
CMPS---->compare string
SCAS---->scan string
LODS---->load string
STOS---->store string
REP---->repeat
REPE---->repeat when equal
REPZ---->repeat when zero flag
REPNE---->repeat when not equal
REPNZ---->repeat when zero flag
REPC---->repeat when carry flag
REPNC---->repeat when not carry flag
五、程序转移指令
———————————————————————————————————————
1>无条件转移指令(长转移)
JMP---->jump
CALL---->call
RET---->return
RETF---->return far
2>条件转移指令(短转移,-128到+127的距离内)
JAE---->jump when above or equal
JNB---->jump when not below
JB---->jump when below
JNAE---->jump when not above or equal
JBE---->jump when below or equal
JNA---->jump when not above
JG---->jump when greater
JNLE---->jump when not less or equal
JGE---->jump when greater or equal
JNL---->jump when not less
JL---->jump when less
JNGE---->jump when not greater or equal
JLE---->jump when less or equal
JNG---->jump when not greater
JE---->jump when equal
JZ---->jump when has zero flag
JNE---->jump when not equal
JNZ---->jump when not has zero flag
JC---->jump when has carry flag
JNC---->jump when not has carry flag
JNO---->jump when not has overflow flag
JNP---->jump when not has parity flag
JPO---->jump when parity flag is odd
JNS---->jump when not has sign flag
JO---->jump when has overflow flag
JP---->jump when has parity flag
JPE---->jump when parity flag is even
JS---->jump when has sign flag
3>循环控制指令(短转移)
LOOP---->loop
LOOPE---->loop equal
LOOPZ---->loop zero
LOOPNE---->loop not equal
LOOPNZ---->loop not zero
JCXZ---->jump when CX is zero
JECXZ---->jump when ECX is zero
4>中断指令
INT---->interrupt
INTO---->overflow interrupt
IRET---->interrupt return
5>处理器控制指令
HLT---->halt
WAIT---->wait
ESC---->escape
LOCK---->lock
NOP---->no operation
STC---->set carry
CLC---->clear carry
CMC---->carry make change
STD---->set direction
CLD---->clear direction
STI---->set interrupt
CLI---->clear interrupt
六、伪指令
—————————————————————————————————————
DW---->definw word
PROC---->procedure
ENDP---->end of procedure
SEGMENT---->segment
ASSUME---->assume
ENDS---->end segment
END---->end
分享到:
相关推荐
《汇编语言——计算机科学技术》 汇编语言是计算机科学中的一个重要组成部分,它是一种低级编程语言,直接对应于计算机硬件的指令集。在计算机的世界里,机器理解的语言是二进制代码,由0和1组成,而汇编语言则是...
### 汇编教程——关于汇编的一个较好的文章:深入解析Win32汇编与操作系统交互 #### 一、理解Win32与DOS的区别 在深入探讨Win32汇编之前,我们首先需要理解Win32环境与早期的DOS(磁盘操作系统)之间的根本区别。...
数据处理指令用于进行算术运算和逻辑运算,是ARM指令集中最常用的部分之一。 - **LDR/STR**:加载/存储指令,用于从内存读取数据到寄存器或将寄存器中的数据写入内存。 - **LDM/STM**:多寄存器加载/存储指令,可以...
#### 一、常用命令概述 GDB(GNU调试器)是一款强大的开源调试工具,用于调试C、C++等语言编写的程序。本文档旨在详细介绍GDB的一些常用命令及其应用场景,帮助开发者更高效地进行程序调试。 1. **backtrace (bt ...
### 汇编语言常用指令详解 #### MOV指令——数据移动 MOV指令是汇编语言中最基础也是最常用的指令之一,用于将一个操作数的值移动到另一个操作数中。其基本格式为`MOV dst, src`,其中`dst`(目的地)和`src`(来源...
附录1—— 汇编语言编程和调试工具 介绍两个常用的汇编语言编程环境Masm V6.11和Turbo Assember V5.0,着重讲解了如何设置系统参数,如何运用符号跟踪功能。 :解压(WinRAR)、Masm V6.11和Turbo Assember V5.0 ...
这样的文档对于初学者来说极其宝贵,因为它可能涵盖汇编语法、指令集、常用技巧等内容,帮助读者快速掌握汇编语言的基础知识。通过阅读和学习asmedu.htm,用户不仅能理解汇编语言的基本概念,还能了解到如何使用MASM...
汇编语言是一种低级编程语言,它直接对应于计算机的机器指令,每一个指令都与特定的机器硬件操作相对应。在本课程设计中,重点是用汇编语言进行十六进制四则运算。汇编语言虽然编程难度较大,但其直接控制硬件的能力...
### 黑客——脱壳常用方法总结 在网络安全与反病毒领域,“脱壳”是一种重要的技术,用于分析被加壳的恶意软件或受保护程序的真实功能。加壳技术常被用作防止逆向工程,使恶意软件更难被检测和分析。本文将深入探讨...
### 51系列单片机汇编语言常用指令与伪指令详解 #### 一、概述 51系列单片机是广泛应用于各种嵌入式系统设计中的微控制器之一,其强大的功能和低廉的成本使其成为教育和工业应用领域的首选。本文档主要介绍了51系列...
### 常用的汇编语言指令集 适合初学者 #### 概述 本文将详细介绍一系列基础且常用的汇编语言指令集,这些指令对于初学者来说是非常重要的基础知识。汇编语言是一种低级编程语言,它与特定类型的处理器架构紧密相关...
汇编语言是计算机科学的基础,它是直接针对计算机硬件进行编程的一种低级语言。汇编语言的每一个指令都对应着...因此,即使不专门编写汇编程序,掌握汇编语言的基本概念和常用指令也能提升作为一个程序员的技能水平。
本文将对汇编指令手册中常用的指令进行分类和解释,包括通用数据传送指令、算术运算指令、逻辑运算指令、串指令和程序跳转指令等。 通用数据传送指令 MOV指令是最基本的数据传送指令,MOV dst, src表示将src的值...
《汇编指令查询器AsmFun 1.3——洞察汇编语言的神奇工具》 在计算机科学领域,汇编语言是一种低级编程语言,它与机器语言紧密相连,是程序员与硬件沟通的重要桥梁。汇编指令查询器AsmFun 1.3是一款专为学习和理解...
汇编语言电子书,详细介绍了汇编语言...附录3—— 各类常用中断功能说明 分类介绍各种中断的功能及其参数说明。 附录4—— DOS和BIOS的宏定义 附录5—— 键盘按键的各种编码对照表 附录6—— 几个重要内存单元地址
### 常用ARM指令集及汇编 #### ARM架构简介 ARM(Advanced RISC Machines)是一种基于精简指令集计算机(RISC)技术的架构,由英国ARM Holdings公司开发。ARM架构以其高性能、低成本和低功耗等特点而闻名,在...