打开主菜单

求真百科

汇编

来自 网络网 的图片

汇编是指汇编语言,汇编程序。把汇编语言翻译成机器语言的过程称为汇编。在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理的系统软件。

随着现代软件系统越来越庞大复杂,大量经过了封装的高级语言如C/C++,Pascal/Object Pascal也应运而生。这些新的语言使得程序员在开发过程中能够更简单,更有效率,使软件开发人员得以应付快速的软件开发的要求。而汇编语言由于其复杂性使得其适用领域逐步减小。但这并不意味着汇编已无用武之地。由于汇编更接近机器语言,能够直接对硬件进行操作,生成的程序与其他的语言相比具有更高的运行速度,占用更小的内存,因此在一些对于时效性要求很高的程序、许多大型程序的核心模块以及工业控制方面大量应用。

此外,虽然有众多编程语言可供选择,但汇编依然是各大学计算机科学类专业学生的必修课,以让学生深入了解计算机的运行原理。

目录

基本信息

中文名称 汇编、汇编语言、汇编程序 [1]

外文名称 Assembly Language

拼音 huì biān

释义 把资料或文章等编辑在一起

编译环境

汇编的调试环境总的来说比较少,也很少有非常好的编译器。reallychenchi设计的轻松汇编是一款非常适合初学者的汇编编译器。轻松汇编是一个汇编语言集成开发环境,主要面向汇编语言初学者,也可以用它进行开发。除了普通的编辑功能以外,它还可以自动整理格式、高亮显示和编译、链接、调试汇编程序,非常方便实用。

轻松汇编的最大特点是可以格式整理,就像VC6.0一样,可以设置断点调试,省却了使用者的不少工作。它可以在Win98/2k/XP下运行,是一款很优秀的软件。

常用命令

数据传送指令

一 通用数据传送指令

指令

英文全拼

翻译

MOV

Move

传送

PUSH

Push onto the stack

进栈

POP

Pop from the stack

出栈

XCHG

Exchange

交换

MOV指令为双操作数指令,两个操作数中不能全为内存操作数

格式:MOV DST,SRC

执行操作:dst = src

注:1.目的数可以是通用寄存器,存储单元和段寄存器(但不允许用CS段寄存器).

2.立即数不能直接送段寄存器

3.不允许在两个存储单元直接传送数据

4.不允许在两个段寄存器间直接传送信息

PUSH入栈指令及POP出栈指令:

堆栈操作是以"后进先出"的方式进行数据操作。

格式:PUSH SRC //Word

执行操作:(SP)<-(SP-2)

((SP+1),(SP))<-(SRC)

注:1.入栈的操作数除不允许用立即数外,可以为通用寄存器,段寄存器(全部)和存储器。

2.入栈时高位字节先入栈,低位字节后入栈。

格式:POP DST //Word

执行操作:(DST)<-((SP+1),(SP))

(SP)<-(SP+2)

注:1.出栈操作数除不允许用立即数和CS段寄存器外,可以为通用寄存器,段寄存器和存储器。

2.执行POP SS指令后,堆栈区在存储区的位置要改变。

3.执行POP SP 指令后,栈顶的位置要改变。

XCHG(eXCHanG)交换指令:

将两操作数值交换。

格式:XCHG OPR1,OPR2 //Byte/Word

执行的操作:(OPR1)<-->(OPR2)

注:1.必须有一个操作数是在寄存器中

2.不能与段寄存器交换数据

存储器与存储器之间不能交换数据。

二 累加器专用传送指令

參考來源