汇编语言
- 格式:ppt
- 大小:541.50 KB
- 文档页数:65


一、填空(每空1分,共计20分)
1、 计算机硬件的基本结构由 、 和 三个主要部分组成,用 把它们连接在一起。
2、 当运算结果为10011001,SF= ,ZF= , PF= 。
3、 47的十六进制数是 ,二进制数是 。
4、 汇编语言程序上机过程 、 、____________、_____________。
5、 AL=45H,执行AND AL,0B8H后,AL= ,CF= _ _。
6、 用 段寄存器和 寄存器可确定下一条指令的物理地址。
7、 段内转移的转移地址只有 地址,段间转移的转移地址包括 地址和 地址。
二、单项选择(每小题2分,共计20分)
1、一个字为( )位二进制数。
A、8位 B、16位 C、32位 D、64位
2、下列四个寄存器中,可作为八位寄存器的是( )。
A、AX B、CH C、BP D、IP
3、8086系统的存储器,存储单元的物理地址是( )位。
A.16 B. 8 C.20 D. 32
4、在双操作数指令中,目的操作数不能使用( )。
A. 存储器 B. 寄存器 C. 立即数 D. 段寄存器
5、执行MOV BX,OFFSET TTR,结果相当的指令是( )。
A、MOV BX,TTR B、LEA BX,TTR C、PUSH TTR D、XCHG BX,TTR
汇编
汇编大多是指汇编语言,汇编程序。把汇编语言翻译成机器语言的过程称为汇编。在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理的系统软件。
汇编汇编语言(Assembly Language)是面向机器的程序设计语言。
汇编语言比机器语言易于读写、易于调试和修改,同时也具有机器语言执行速度快,占内存空间少等优点,但在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植。
是能完成一定任务的机器指令的集合。
常说汇编语言过时,是低级语言,并不是说汇编语言要被弃之,相反,汇编语言仍然是程序员必须了解的语言,在某些行业与领域,汇编是必不可少的,非它不可适用。只是,现在计算机最大的领域为IT软件,也是我们常说的 Windows 编程,在熟练的程序员手里,使用汇编语言编写的程序,运行效率与性能比其它语言写的程序是成倍的优秀,但是代价是需要更长的时间来优化,如果对计算机原理及编程基础不扎实,实在是得不偿失,对比现在的软件开发,已经是市场化的软件行业,加上高级语言的优秀与跨平台,一个公司不可以让一个团队使用汇编语言来编写所有的东西,花上几倍甚至几十倍的时间,不如使用其它语言来完成,只要最终结果不比汇编语言编写的差太多,就能抢先一步完成,这是市场经济下的必然结果。
但是,至今为止,还没有程序员敢断定汇编语言是不需要学的,一个不懂汇编语言的程序员,只是三流的程序员,这是大部分人的共识,同时,技术汇编语言(Assembly Language)是面向机器的程序设计语言精湛的汇编程序员,已经脱离软件开发,挤身于工业电子编程中,一个电子工程师,主要开发语言就是汇编,c语言使用只占极少部分,而电子开发工程师是千金难求,在一些工业公司,一个核心的电子工程师比其它任何职员待遇都高,对比起来,一般电子工程师待遇是程序员的十倍以上。这种情况是因为现在学习汇编的人虽然也不少,但是真正能学到精通的却不多,它难学,难用,适用范围小,虽然简单,但是过于灵活,学习过高级语言的人去学习汇编比一开始学汇编的人难得多,但是学过汇编的人学习高级语言却很容易,简从繁易,繁从简难。
单片机汇编语言经典一百例
汇编语言是一种底层的程序设计语言,是一种将汇编指令直接翻译成机器指令的语言。在单片机编程中,掌握汇编语言是非常重要的,因为它可以充分发挥单片机的性能,并且提高程序的运行效率。本文将介绍一百个经典的单片机汇编语言例子,帮助读者更好地理解汇编语言的使用。
1. 点亮LED灯
```
ORG 0x0000 ; 程序起始地址
MOV P1, #0xAA ; P1口输出高电平,LED灯点亮
END ; 程序结束
```
2. LED流水灯效果
```
ORG 0x0000 ; 程序起始地址
MOV P1, #0x01 ; P1口输出低电平,第一个LED点亮
CALL DELAY ; 调用延时函数
MOV P1, #0x02 ; P1口输出低电平,第二个LED点亮
CALL DELAY ; 调用延时函数 MOV P1, #0x04 ; P1口输出低电平,第三个LED点亮
CALL DELAY ; 调用延时函数
MOV P1, #0x08 ; P1口输出低电平,第四个LED点亮
CALL DELAY ; 调用延时函数
…
DELAY: ; 延时函数
MOV R0, #100 ; 设置延时时间
DELAY_LOOP:
DJNZ R0, DELAY_LOOP ; 循环减一
RET ; 返回
END ; 程序结束
```
3. 数码管动态扫描显示
```
ORG 0x0000 ; 程序起始地址
CLR P0.0 ; P0.0口输出低电平,选择第一个数码管
MOV P2, #0x7E ; 将数码管对应的值存放到P2口
CALL DELAY ; 调用延时函数 CLR P0.1 ; P0.1口输出低电平,选择第二个数码管
MOV P2, #0x30 ; 将数码管对应的值存放到P2口
CALL DELAY ; 调用延时函数
汇编语言的名词解释
汇编语言是一种低级编程语言,用于编写计算机程序。它是一种符号化的机器语言表示形式,通过汇编程序翻译成机器指令,以便能够被计算机执行。在汇编语言中,使用各种名词来描述不同的概念和操作。
1. 汇编语言 (Assembly language)
汇编语言是一种使用助记符(Mnemonics)和符号(Symbol)来代替二进制代码的编程语言。它直接对应于计算机的指令集体系结构,可以通过助记符和符号来描述计算机的操作、寄存器、内存地址等信息。
2. 指令 (Instruction)
指令是汇编语言中最基本的单位,用于指示计算机执行某种操作。指令通常以助记符的形式表示,例如MOV、ADD、JMP等。一个指令包含操作码(Opcode)和操作数(Operand),操作码表示需要执行的操作,操作数则提供了操作所需的数据或地址。
3. 寄存器 (Register)
寄存器是用于存储和操作数据的高速内存单元。汇编语言使用寄存器来进行计算、传输数据和控制程序流程等操作。通常,寄存器具有特定的名称和功能,例如AX、BX、CX等通用寄存器,以及SP、BP、SI、DI等特殊用途寄存器。 4. 内存地址 (Memory Address)
内存地址指示了计算机内存中存储数据的位置。在汇编语言中,使用内存地址来读取和存储数据。内存地址可以通过直接给出地址值或使用标号(Label)来表示。
5. 标志位 (Flag)
标志位是用于记录计算机运算过程中的条件结果的特殊寄存器。在汇编语言中,标志位可用于控制程序的跳转、判断条件和处理中断等操作。
6. 宏指令 (Macro)
宏指令是一种能够扩展和简化程序的代码片段。它可以在汇编语言中定义和调用,类似于高级编程语言中的函数或宏定义。宏指令能够减少代码重复和提高程序的可维护性。
7. 伪指令 (Pseudo-Instruction)
伪指令是汇编语言中的一种特殊指令,用于给汇编程序提供附加的信息和指导。伪指令不会被翻译为机器指令,而是在汇编阶段进行处理,例如定义符号常量、分配内存空间等。