一 : 01--汇编语言简要介绍
8086汇编语言初学者教程(第一部分) 本教程是为从未接触过汇编语言的或者略知一二的朋友编写的。[www.61k.com] 当然,如果你有其他语言基础(Basic, C/C++, Pascal...) 更 好。但是,即使你熟悉汇编语言,最好也将本文通读以便熟悉 Emu8086 标记。 这里假定您已经掌握了关于数制的知识(十六进制/二进制), 如果目前还没有,在进行下面内容之前,请参考上一章节 进制。 什么是汇编语言? 汇编语言是底层编程语言。为了学习这门语言,你需要对于 计算机结构有所了解。计算机系统模型如下: 系统总线 system bus(图中黄色部分)是将计算机各个 部分连接到一起的部件。 CPU是计算机的心脏,大部分的运算都是在CPU中完成的。 RAM是读取并且存放将要执行的程序的地方。 通用寄存器
的是保存数值(变量)。上面提到的寄存器是16位的,意思是: 0011000000111001b (二进制),或者12345 (十进制形式)。 4个通用寄存器(AX, BX, CX, DX) 在使用时分为两个8位 寄存器,例如 假设AX= 0011000000111001b, AH=00110000b AL=00111001b。当你修改其中任 意8位值,整个16位寄存器的值同样改变。同样对于其他的3 个寄存器,“H”表示高8位,“L”表示低8位。 寄存器在CPU内部,访问中它们速度远远超过内存。因为, 访问内存需要经过系统总线,所以时间要长一些。而访问 寄存器中的数据几乎不需要时间。于是,编程中,应当尽量 在寄存器中保存数据。虽然寄存器很小,并且这些寄存器都 有具体用途,但他们依然是存放计算中临时数据的好地方。
一个好主意。段寄存器有着非常特别的目的--指出 可以访问内存块的地址。 区域。例如,如果我们打算访问物理地址是12345h (十六进制)的内存单元,我们应设置DS = 1230h SI = 0045h 这样以来,我们便能访问超过一个寄存器 (16位)所能表示的内存地址的范围。CPU计算物理地址 的方法是将段寄存器乘以10H在加上一个特定的通用 寄存器。(1230h * 10h + 45h = 12345h): (effective address) 默认下,BX, SI 及 DI 与 DS协同工作,BP SP 与 SS 寄存器协同工作。 其余的通用寄存器不能形成有效地址!同样,尽管 BX可以形成有效地址,但是BH BL不能! 控制寄存
IP 始终同CS 协同工作,指出当前执行的指令。 Flags Register 完成一次数学运算后,由CPU自动 修改,通过它可以得到当前结果类型,也可以作为跳转 语句条件。通常你无法直接访问它们。 |
<<< 上一部分 <<<【8086汇编基础】00--基础知识--各种进制的数据
>>> 下一部分 >>>【8086汇编基础】02--寻址方式和MOV指令
扩展:8086汇编语言 / 8086汇编语言程序设计 / 8086汇编语言编译器
二 : 汇编语言基础MOVAX,BXNOTAXADDAX,BXINCAX
汇编语言基础
MOV AX,BX
NOT AX
ADD AX,BX
I AX
执行上述指令后:AX=____,ZF=_______,CF=_____
地一条指令:AX=BX
第二条指令:AX=!BX
第三条指令:AX=FFFFFFFF
最后一条指令:AX=0,CF=1,ZF=1
三 : 汇编语言:从机器语言到高级语言的进化
【51CTO年终策划】汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。
1950年代,为了让广大程序员摆脱机器语言的束缚,让程序开发不再成为少数人的专利。一些基于RISC架构的汇编语言开始出现,比如MIPS, Sun的SPARC以及HP的PA-RISC语言。
汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。
汇编语言逻辑一例
汇编语言比机器语言易于读写、调试和修改,同时具有机器语言全部优点。但在编写复杂程序时,相对高级语言代码量较大,而且汇编语言依赖于具体的处理器体系结构,不能通用,因此不能直接在不同处理器体系结构之间移植。
汇编语言的特点:
1.面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。
2.保持了机器语言的优点,具有直接和简捷的特点。
3.可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。
4.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。
5.经常与高级语言配合使用,应用十分广泛。
本文标题:汇编语言-01--汇编语言简要介绍61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1