汇编语言期末复习要点
- 格式:doc
- 大小:23.50 KB
- 文档页数:2
1、数制之间的转换。
压缩的BDC码。
2、补码的运算、补码的表示范围。
3、存储器的分段的概念,物理地址、逻辑地址和偏移地址的概念。
4、通用寄存器和专用寄存器的用法和用途。
5、数据定义DB、DW、EQU(注意$的含义)。
6、数据传送指令中的合法与非法指令。
类型PTR的用法。
7、堆栈操作,先减后推,先弹后加。
8、调试一个完整程序的步骤,.ASM、.OBJ、.EXE,使用的系统程序,TASM、TLINK、TD各
自的功能。
9、运算指令中注意乘除指令的操作数都是些什么。
会做多项式运算题,如果是带符号数运
算,注意要带符号扩展。
10、循环和分支控制指令是编程的基础,不一一列举。
掌握循环和分支程序的编写技能。
11、会根据要求编写简单的子程序,在主程序中会调用子程序。
掌握子程序和主程序之
间的几种参数传递方式,会写子程序文件,包括的内容见P139。
12、掌握利用DOS功能调用方法在磁盘上建立文件的方法,熟悉DOS调用时应该设置
的参数以及DOS功能返回后参数的含义。
13、掌握编写简单宏指令的方法。
并在程序中会进行宏调用。
汇编语言期末复习资料整理第二章1、寄存器组(1)通用寄存器数据寄存器EAX(32位)AX(16位)AH(8位)(高位)AL(8位)(低位)累加器EBX(32位)BX(16位)BH(8位)(高位)BL(8位)(低位)基址变址ECX(32位)CX(16位)CH(8位)(高位)CL(8位)(低位)计数器EDX(32位)DX(16位)DH(8位)(高位)DL(8位)(低位)数据指针或变址寄存器ESP(32位)SP(16位)堆栈指针寄存器EBP(32位)BP(16位)基址指针寄存器EDI(32位)DI(16位)目的变址寄存器ESI(32位)SI(16位)源变址寄存器(2)专用寄存器EIP(32位)IP(16位)指令指针寄存器EFLAGS(32位)FLAGS(16位)标志寄存器ESP (32位) SP(16位)堆栈指针寄存器2、标志位的符号表示、3、段寄存器CS(16位)代码段DS(16位)数据段SS(16位)堆栈段ES(16位)附加段4、段寄存器和相应存放偏移地址的寄存器之间的默认组合第三章1、七种寻址方式(举例)立即寻MOV AX,3069H寄存器寻MOV AL,BH在内存中的五种寻址直接寻MOV AX,[2000H]寄存器间接寻MOV AX,[BX]寄存器相对寻MOV AX,COUNT[SI] 或者MOV AX,[SI+COUNT](不推荐) 基址变址寻址MOV AX,[BP][DI]相对基址变址寻址MOV AX,MASK[BX][SI]2、指令系统I.数据传送指令(1)通用数据传送指令MOV 传送MOVSX 带符号扩展传送用源操作数的符号位来填充目的操作数的高位数据位。
例:MOVSX EAX,CL把CL寄存器中的8位数,符号扩展为32位数,送到EAX寄存器中。
MOVZX 带零扩展传送恒用0来填充目的操作数的高位数据位例:MOVZX DX,AL把AL寄存器中的8位数,零扩展成16位数,送到DX寄存器中。
汇编语言(教材王爽)期末考试复习:考试题型:选择、填空、程序分析、编程题一、重点复习课本的检测点1.1-3.2与课后实验1-14:二、需要掌握的指令见后面附录三、汇编语言主要知识点:寄存器与存储器1. 寄存器功能. 寄存器的一般用途和专用用途. CS:IP 控制程序执行流程. SS:SP 提供堆栈栈顶单元地址. DS:BX(SI,DI) 提供数据段内单元地址. SS:BP 提供堆栈内单元地址. ES:BX(SI,DI) 提供附加段内单元地址. AX,CX,BX和CX寄存器多用于运算和暂存中间计算结果,但又专用于某些指令(查阅指令表)。
. PSW程序状态字寄存器只能通过专用指令(LAHF, SAHF)和堆栈(PUSHF,POPF)进行存取。
2. 存储器分段管理. 解决了16位寄存器构成20位地址的问题. 便于程序重定位. 20位物理地址=段地址 * 16 + 偏移地址. 程序分段组织: 一般由代码段,堆栈段,数据段和附加段组成,不设置堆栈段时则使用系统内部的堆栈。
3. 堆栈. 堆栈是一种先进后出的数据结构 , 数据的存取在栈顶进行 , 数据入栈使堆栈向地址减小的方向扩展。
. 堆栈常用于保存子程序调用和中断响应时的断点以及暂存数据或中间计算结果。
. 堆栈总是以字为单位存取指令系统与寻址方式1. 指令系统. 计算机提供给用户使用的机器指令集称为指令系统,大多数指令为双操作数指令。
执行指令后,一般源操作数不变,目的操作数被计算结果替代。
. 机器指令由CPU执行,完成某种运算或操作,8086/8088指令系统中的指令分为6类: 数据传送,算术运算,逻辑运算,串操作,控制转移和处理机控制。
2. 寻址方式. 寻址方式确定执行指令时获得操作数地址的方法. 分为与数据有关的寻址方式(7种)和与转移地址有关的寻址方式(4)种。
. 与数据有关的寻址方式的一般用途:(1) 立即数寻址方式--将常量赋给寄存器或存储单元(2) 直接寻址方式--存取单个变量(直接给出地址值或变量名)(3) 寄存器寻址方式--访问寄存器的速度快于访问存储单元的速度(4) 寄存器间接寻址方式--访问数组元素(5) 变址寻址方式(6) 基址变址寻址方式课本P164(7) 相对基址变址寻址方式(5),(6),(7)都便于处理数组元素. 与数据有关的寻址方式中,提供地址的寄存器只能是BX,SI,DI或BP. 与转移地址有关的寻址方式的一般用途:(1) 段内直接寻址--段内直接转移或子程序调用(2) 段内间接寻址--段内间接转移或子程序调用(3) 段间直接寻址--段间直接转移或子程序调用(4) 段间间接寻址--段间间接转移或子程序调用汇编程序和汇编语言1. 汇编程序. 汇编程序是将汇编语言源程序翻译成二进制代码程序的语言处理程序,翻译的过程称为汇编。
1.通用数据传送指令MOV——传送指令指令格式:MOV DST,SRC;(DST)←(SRC)。
DST表示目的操作数, SRC表示源操作数说明:①.DST为除CS外的各寄存器寻址方式或任意存储器寻址方式。
SRC为任意数据寻址方式。
②.DST、SRC不能同时为存储器寻址方式,也不能同时为段寄存器寻址方式,而且在DST为段寄存器时,SRC不能为立即数。
③.MOV指令不影响标志位。
2.地址传送指令(1).LEA——有效地址(EA)送寄存器指令指令格式:LEA REG,SRC;(REG)←SRC说明:①.指令把源操作数(只能是存储器寻址方式)指定的有效地址送到指令指定的16位或32位寄存器(REG)中(但不能是段寄存器)。
②.LEA指令不影响标志位。
3.加法指令(1).ADD——加法指令指令格式:ADD DST,SRC;(DST)←(DST)+( SRC)4.减法指令(1).SUB——减法指令指令格式:SUB DST,SRC;(DST)←(DST) - (SRC)(2).SBB——带借位减法指令指令格式:SBB DST,SRC ;(DST)←(DST) - (SRC) - CF5.除法指令(1).DIV——无符号数除法指令指令格式:DIV SRC;字节操作:(AL)←(AX)/(SRC),(AH)←(AX)%(SRC)字操作:(AX)←(DX,AX)/(SRC),(DX)←(DX,AX)%(SRC)双字操作:(EAX)←(EDX,EAX)/(SRC),(EDX)←(EDX,EAX)%(SRC)6.逻辑运算指令:可以对双字、字或字节执行按位的逻辑运算。
(1).AND——逻辑与指令指令格式:AND DST,SRC;(DST)←(DST)∧(SRC)(2).OR——逻辑或指令指令格式:OR DST,SRC;(DST)←(DST)∨(SRC)(3).XOR——逻辑异或指令指令格式:XOR DST,SRC;(DST)←(DST)⊕(SRC)(4).PUSH——进栈指令指令格式:PUSH SRC;16位指令:(SP)←(SP) –2 ((SP)+1,(SP))←(SRC)32位指令:(ESP)←(ESP) –4 ((ESP)+3, (ESP)+2, (ESP)+1,(ESP))←(SRC)说明:①.堆栈:计算机开辟的以“后进先出”方式工作的存储区。
Ch1 汇编语言基础知识1.什么是汇编语言?2.汇编语言与机器语言的区别3.学习汇编语言的意义4.码制:不同进制、原码、反码、补码、BCD码表示,压缩BCD码Ch2 微型计算机体系结构1.8086是16位微处理器,它有16根数据线和20根地址线,寻址空间1MB。
2.8086中设置了一个6字节的指令预取队列,它的意义如何?3.8086分为EU和BIU两个部分。
说明它们的功能、作用和相互关系。
4.8086中有4个寄存器可以拆分为两个8位寄存器独立使用。
是那些寄存器?5.说明8086堆栈的特点。
指令指针寄存器IP、堆栈指针SP………6.指令对标志寄存器FLAGS的影响。
7.在8086中,当一个字存入存储器时,占有连续的两个字节空间。
存放时,低位字节存入低地址,高位字节存入高地址。
8.8086是采用存储器分段管理方式来解决寻址问题的。
即将1MB地址空间分为若干个逻辑段,段的大小按实际需要确定,最大为64KB。
9.8086对于1MB的物理存储空间,每一个存储单元都有一个20位的物理地址10.8086是采用存储器分段管理方式来解决寻址问题,指令中采用逻辑地址形式,逻辑地址表示格式为:段地址:偏移地址11.逻辑地址“段地址:偏移地址”转换为对应的物理地址的方法。
Ch3 指令系统1.在一般情况下,机器指令应包含两个部分内容,其一般格式为:操作码操作数。
2.什么是寻址方式?8086有哪些寻址方式?3.重点指令。
Ch4 伪指令与汇编语言程序结构设计1.汇编语言源程序由若干条语句组成,其语句分为两类:指令性语句和指示性语句。
2.合法的名字。
3.数据定义伪指令开始。
DB、DW、DUP等。
4.段定义Ch7 输入输出程序设计1. 接口与外设之间的信息。
2. I/O接口的功能。
3. 接口的基本组成。
4. 输入输出的控制方式的概念:无条件传送、查询式传送、中断传送。
5. 中断的基本概念、优点。
6. 什么是中断向量表、特点。
Ch8 高级汇编技术1. 什么是宏。
汇编语言期末总结第一章汇编语言基础知识1、程序设计语言分哪三类?答:(1)机器语言(2)汇编语言(3)高级语言2、十进制数用D(Decimal)、二进制数用B(Binary)、八进制数用O(Octal)、十六进制数用H(Hexadecimal)来表示。
由于英文字母O 容易和零误会,所以也可以用Q 来表示八进制数。
★任意进制数的通式:+±=±=∑∑∑--==-=m i i i n i i i nm i i i r x r x r x N 10 其中∑=ni irx i为整数部分,∑--=mi irx i1为小数部分,r 为基数。
每一项的数字可用0~r -1数字中的一个数字来表示。
、3、进制转化:(1)十进制数与二进制数之间的转换:1) 十进制整数转换成二进制整数:除2取余法【例1-1】将十进制数97转换成二进制数。
其过程如下:最后结果为:(97)10 =(A6 A5 A4 A3 A2 A1 A0)2=(1100001)2 2) 十进制小数转换成二进制小数:乘2取整法。
【例1-2】将十进制小数0.6875转换成二进制小数。
其过程如下:最后结果为:(0.6875)10=(0.A-1A-2A-3A-4) 2 =(0.1011)2 3)带小数的转化:(97)10=(1100001)2 (0.6875)10=(0.1011)2由此可得: (97.6875)10=(1100001.1011)24)二进制数转换成十进制数:按位权展开后相加。
【例1-3】将二进制数111.11转换成十进制数。
其过程如下:(111.11)2=1×22+1×21+1×20+1×2-1+1×2-2=4+2+1+0.5+0.25=(7.75)10(2)十进制与八进制之间的转换:1) 十进制整数转换成八进制整数:除8取余法。
【例1-4】将十进制数97转换成八进制数。
其过程如下:最后结果为:(97)10 =(A2 A1 A0)8 =(141)82)十进制小数转换成八进制小数:乘8取整法。
《汇编语言程序设计》期末复习题百度文库第一章:汇编语言基础知识概述在开始复习《汇编语言程序设计》之前,我们先来回顾一下汇编语言的基础知识。
1.1 汇编语言的定义和作用汇编语言是一种低级语言,可以直接操作计算机硬件,并且具有较高的执行效率。
它是机器语言的可读性表示,通过一系列指令来实现计算机的基本操作。
汇编语言在计算机系统中发挥着重要的作用,特别适合于编写底层程序和对性能要求较高的应用。
1.2 汇编语言的特点与高级语言相比,汇编语言具有以下特点:- 与硬件相关:汇编语言直接操作计算机硬件,可以实现对寄存器、内存及其他硬件资源的直接访问。
- 相对繁琐:由于直接操作硬件,所以汇编指令的书写比较繁琐,需要对计算机硬件有深入的了解。
- 执行效率高:汇编语言编写的程序执行效率高,能够充分发挥计算机硬件的性能。
1.3 汇编语言的基本概念在学习汇编语言时,需要了解以下基本概念:- 寄存器:汇编语言使用寄存器来存储数据和进行计算,常用的寄存器有通用寄存器和特殊寄存器等。
- 指令:汇编语言通过一系列指令来实现计算机的基本操作,如MOV、ADD、SUB等。
- 内存:汇编语言中使用内存来存储程序和数据,在编写程序时需要合理地管理内存。
- 标志位:用于记录计算过程中的状态信息,可以用于控制程序的执行流程。
第二章:汇编语言程序设计实践2.1 环境准备在进行汇编语言程序设计之前,需要正确配置环境,并安装相应的汇编语言开发工具。
一般来说,常用的汇编语言开发工具有MASM、NASM等。
2.2 汇编语言程序的编写编写汇编语言程序需要按照特定的格式和规范进行,一般包括以下几个步骤:- 定义程序入口:使用`start`指令定义程序的入口点。
- 导入库文件:将需要调用的库文件导入到程序中。
- 定义数据段:使用`data`关键字定义数据段,存放程序中用到的数据。
- 定义代码段:使用`code`关键字定义代码段,存放程序的主体逻辑。
- 定义子程序:可以将一些常用的代码逻辑封装成子程序,便于复用。
汇编语言程序设计复习题一、基本概念和知识点1、汇编语言的特点?2、二、八、十、十六进制数之间的转换?3、有无符号数、原码、反码、补码的概念?补码的加减法运算规则?4、8086 CPU的两大逻辑部件?各自的功能?5、8088/8086CPU内部寄存器有个 ,其中的是数据寄存器,是指针寄存器,是变址寄存器,是段寄存器,此外还有指令指针寄存器和标志位寄存器,所有寄存器都是位寄存器,其中可以分为高低字节独立使用。
6、8088/8086CPU的标志位寄存器中有个标志位,其中的是控制标志,是状态标志。
各个状态标志在什么情况下被置为1?7、8088/8086CPU有三组总线,它们是总线、总线和总线;地址总线是条,因此它可以寻址的范围是字节。
通常将字节称为1K,将字节称为1M。
8、8088/8086CPU的存储器采用分段方式管理,每个段最多可以有字节,全部存储空间可以分成个大小为64K且互相不重叠的段。
9、采用分段方式管理的存储单元的地址分成和地址两种,逻辑地址由和两部分构成,段地址是每个存储器段的;偏移地址则是相对于每个段第一个存储单元的。
物理地址和逻辑地址间的关系是。
10、存储器中,数据是以为单位存放的,它是一个位二进制数,16位二进制数是,又称为;每个存储单元可以存放一个;一个字则占用存储单元,存放时要将放在地址较小的存储单元中。
11、计算机的指令由和构成,它们分别给出计算机和。
12、指令的操作数通常可以存放在指令中,也可以存放在CPU的寄存器中,大多数存放在存储器中,它们分别称为、和。
立即数存放在段中,紧跟在后。
表示操作数存放的方式称为。
8088/8086CPU的寻址方式有、和三类,第三类寻址方式又分成、、、、几种。
13、汇编语言的语句分成、和三类。
14、指令语句在汇编时被翻译成指令,伪指示语句则在汇编时由执行,而不被翻译成机器语言指令。
15、汇编程序中的名字项可以分为和,它们都有、、三种属性。
16、数据定义伪指令的功能是,通常使用的数据定义伪指令是。
汇编语言复习资料【引言】汇编语言作为计算机科学中的重要一环,是掌握计算机底层工作原理的基础。
本文将为读者提供一份汇编语言的复习资料,以帮助读者巩固对汇编语言的理解,并加深对底层计算机工作过程的认识。
【一、汇编语言基础知识】1.1 汇编语言的概念和作用汇编语言是一种低级别的计算机语言,与机器语言一一对应,用于编写和调试底层程序。
掌握汇编语言可以更加直接地操作计算机硬件资源,提高程序的执行效率。
1.2 汇编指令与机器指令汇编指令是汇编语言中最基本的单位,包括机器指令和操作数。
机器指令是计算机能够识别和执行的指令,由操作码和操作数组成。
1.3 寄存器和内存寄存器是计算机内部存储器的一种,用于存储和操作数据。
常见的寄存器包括通用寄存器、指针寄存器和标志寄存器。
内存是计算机中的主要存储器,用于存储指令和数据。
1.4 数据表示和运算汇编语言中使用不同的数据格式表示整数、浮点数和字符等数据类型,并提供相应的运算指令进行数据操作。
【二、汇编语言的程序结构】2.1 汇编语言程序的基本结构汇编语言程序包括数据段、代码段和堆栈段。
数据段用于定义和初始化数据,代码段包含程序的执行指令,堆栈段用于存储程序执行过程中的临时数据。
2.2 汇编语言程序的组织方式汇编语言程序可以使用汇编宏、过程和函数来实现模块化组织,提高代码的可读性和可维护性。
2.3 汇编语言程序的调试方法汇编语言程序的调试可以使用调试器进行单步执行、断点设置和变量查看等操作,以实时监控程序的运行状态。
【三、常用的汇编语言指令】3.1 数据定义指令数据定义指令用于定义变量和常量,并分配存储空间。
常用的数据定义指令包括DB、DW和DD等。
3.2 算术和逻辑指令算术和逻辑指令用于进行加减乘除和逻辑运算等操作。
常见的算术和逻辑指令包括ADD、SUB、MUL、DIV和AND、OR等。
3.3 分支和循环指令分支和循环指令用于根据条件进行跳转或循环执行。
常用的分支和循环指令包括JMP、JZ、JCXZ和LOOP等。
汇编复习要点知识概括1、硬件基础(1)了解微型计算机的硬件系统组成(5大功能模块)(2)了解CPU的作用(控制指令的执行)(3)了解CPU内部的3个主要组成部分及功能(运算器、控制器、寄存器组)(3)了解ALU的作用(算术和逻辑运算)(4)8088\8086的字长和地址线各是多少?8088\8086CPU可以直接访问的存储范围是多少?(5)8088\8086 CPU 内部的寄存器结构?知道有以下寄存器:通用寄存器:AX\BX\CX\DX基址寄存器:BX\BP变址寄存器SI\DI段寄存器DS\ES\SS\CS专用寄存器:IP\SP\标志寄存器需要掌握以下要点:各个段寄存器的名称和作用哪些寄存器是16位的,哪些寄存器是8位的?指令在内存中的存放位置由CS:IP的值决定,课本习题2.5标志寄存器中常用标志的含义数据在内存中的存放的位置:段地址可以是DS\ES\SS,偏移地址是指令中给出有效地址(注意:何时使用DS作为默认段地址,何时使用SS作为默认段地址)(6)掌握8088\8086系统的存储器结构支持的数据类型:字节、字、双字(各是多少位?)不同类型数据在内存中的存放情况,课本习题2.2 2.3理解存储器的分段管理,掌握什么是逻辑地址、偏移地址、物理地址?掌握如何进行逻辑地址和物理地址的转换。
(逻辑地址是在程序中对存储器地址的一种表示方法,由段地址和段内偏移地址两部分组成,如1234H:0088H。
偏移地址是指段内某个存储单元相对该段首地址的差值,16位二进制表示。
物理地址是20位的,是信息存放在内存中的实际地址。
物理地址是由逻辑地址的段地址左移4位加上偏移地址计算得到的。
)2、DEBUG的使用理解DEBUG是一种调试工具掌握几个常用命令如:R\D\A\U\T命令的作用3、汇编语言上机(1)程序设计语言包括哪几种(机器语言、汇编语言、高级语言)?各自的特点?(2)什么是汇编?汇编程序的作用?连接程序的作用?汇编语言源程序的扩展名是?汇编程序的输入文件是?输出文件是?连接程序的输入文件?输出文件?熟悉上机过程。
汇编语言期末复习第一章汇编语言及其重要性一、什么是汇编语言二、汇编语言的重要性三、汇编语言的种类和本课程学习的汇编语言第二章8088微处理器及其寻址方式一、寄存器的概念二、8088的寄存器结构三、8088的存储器组织四、8088的寻址方式第三章源程序的书写格式和数据组织一、源程序书写格式二、段寄存器的装填三、程序中数据的组织第五章数据传送程序一、数据块的传送二、字符的输入/ 输出三、堆栈操作程序四、数据交换五、端口输入/ 输出六、换码程序七、其它传送指令重点例题:P.114 例6.1; P.118 例6.2;P.120 例6.3; P.125 例6.6;第六章算术运算程序一、二进制数算术运算二、十进制数算术运算重点例题:P.137 例7.1第七章逻辑运算程序一、逻辑运算指令二、逻辑运算指令应用举例重点例题:P.169 例8.1; P.175 例8.5;P.176 例8.6; P.177 例8.7第八章分支程序一、标号二、比较和转移指令三、分支程序实例重点例题:P.192 例9.2第九章字符串操作程序一、字节串、字串的概念二、字符串操作指令前可加的重复前缀三、字符串操作指令的一些共同特性四、字符串操作指令及其应用第九章循环程序设计一、迭代控制指令二、循环程序设计应用实例重点例题:P.210 例11.1; P.210 例11.2;P.218 例11.7; P.221 例11.8;第十二章过程一、过程定义及其调用二、模块间的调用和转移三、调用程序与被调用的过程之间的数据传送及程序实例重点例题:P.266 例13.4第十三章中断及中断处理一、中断的概念二、中断的分类三、中断服务程序四、中断向量表五、BIOS中断服务六、DOS中断服务七、BIOS功能调用与DOS功能调用的关系考试题型•一、选择题•二、阅读程序并回答问题•三、根据题意完善程序•四、编程题一、选择题:1、在计算机的许多应用场合,人们总是用汇编语言来编制应用程序,原因是汇编语言(1)。
汇编期末知识点总结一、计算机体系结构1. 计算机的组成部分:中央处理器、主存储器、输入输出系统2. 计算机的主要功能:数据处理、数据存储和数据传输3. 计算机体系结构的三个基本要素:数据、指令、控制。
4. 计算机的层次结构:硬件层次、机器语言层次、系统层次、程序设计语言层次和应用软件层次。
二、汇编语言概述1. 汇编语言的定义和特点2. 汇编语言的分类和发展历程3. 汇编语言的应用领域三、汇编语言的指令系统1. 数据传送指令:MOV指令、LEA指令、LDS指令、LES指令2. 算术运算指令:ADD指令、SUB指令、INC指令、DEC指令、NEG指令3. 逻辑运算指令:AND指令、OR指令、XOR指令、NOT指令4. 移位指令:SAL指令、SHR指令、SAR指令、ROL指令、ROR指令5. 控制指令:JMP指令、JC指令、JNC指令、JO指令、JNO指令、JZ指令、JNZ指令、CMP指令、LOOP指令、CALL指令、RET指令四、寄存器和内存1. 通用寄存器:AX、BX、CX、DX、SP、BP、SI、DI2. 段寄存器:CS、DS、SS、ES3. 操作寄存器:IP、FLAGS4. 内存访问指令:MOV指令、XCHG指令5. 标志寄存器:OF、DF、IF、TF、SF、ZF、AF、PF、CF五、地址和位移1. 设计位移的基本原则和方法2. 直接寻址、寄存器间接寻址、直接寻址、相对寻址、基址变址寻址、变址寻址、相对基址变址寻址六、程序设计与调试1. 程序的段定义、区定义、符号定义2. 程序的生成与调试3. 目标程序的连接和装入4. 调试工具的使用七、汇编语言与C语言的结合1. 汇编语言和C语言的特点2. 汇编语言和C语言的调用关系3. 汇编语言和C语言的相互调用方法4. 汇编语言和C语言的优化方法八、嵌入式系统与汇编语言1. 嵌入式系统的定义和特点2. 嵌入式系统的应用领域3. 嵌入式系统中的汇编语言特点4. 嵌入式系统中的汇编语言编程方法九、汇编语言的扩展1. Intel 8086的扩展指令集2. 增强指令集3. 浮点运算指令集4. SIMD指令集以上是汇编期末考试的知识点总结,总字数超过了6000字。
第一章:1、根据冯诺依曼机制,计算机由五大部件组成,即运算器、控制器、存储器、输入设备、输出设备。
2、存储器,存储体里面有若干个存储单元,每个存储单元都有编号,称为地址。
存储单元存放了一串二进制代码,这些代码有可能表示指令(每一个基本操作叫做一条指令),也有可能表示数据。
这些二进制代码的组合称为存储字。
存储单元中二进制代码的位数称为存储字长。
MAR是存储器地址寄存器,反映了存储单元的个数;MDR是存储器数据寄存器,反映了存储字长。
存储器的所有存储单元的总数称为存储容量,通常用单位KB、MB、GB、TB表示。
数据容量越大,计算机记忆储存的信息量也就越多。
设MAR=4位,MDR=8位,则存储单元个数为24=16个,存储字长为8,存储容量为16*8。
3、计算机软件通常分为两大类:系统软件和应用软件。
(系统软件:操作系统语言处理程序数据库管理程序服务性程序网络管理软件.应用软件:工程设计程序数据处理程序科学计算程序;应用软件:又称应用程序,它是用户在各自不同的应用领域根据具体的任务需要所开发编写的各种程序,如工程设计程序、数据处理程序、自动控制程序、企业管理程序、科学计算程序等)。
4、8086是Intel公司推出的第一个16位的微处理器,由执行部件EU和总线接口部件BIU组成,尾部具有20根地址总线,可直接寻址的存储器空间达220=1MB4.1、8086中程序可访问的寄存器共有14个,按功能可分为通用寄存器组8个、段寄存器组4个和专用寄存器组2个。
1、寄存器组(共14个)(1)通用寄存器组(8个)1)数据寄存器:AX(16位)AH(高位)AL(低位)累加寄存器;BX(16位)BH(高)BL(低)基址变址CX(16位)CH(高位)CL(低位)计数器;DX(16位)DH(高位)DL(低位)数据2)指针或变址寄存器:SP(16位)堆栈指针寄存器;BP(16位)基址指针寄存器DI(16位)目的变址寄存器SI(16位)源变址寄存器(2)、段寄存器:CS(16位)代码段;DS 数据段;SS 堆栈段;ES 附加段(3)专用寄存器:EIP(32位)IP(16位)指令指针寄存器;EFLAGS(32位)FLAGS(16位)标志寄存器1页第二章1、补码、原码,给真值,求原码、补码、负补、变补、移位原码:如果机器字长为n,那么一个数的原码就是用一个n位的二进制数,其中最高位为符号位:正数为0,负数为1。
〔习题1.24〕说明下列指令中源操作数的寻址方式?如果BX=2000H,DI=40H,给出DX 的值或有效地址EA的值。
(1)mov dx,[1234h] 直接寻址,EA=1234H(3)mov dx,bx 寄存器寻址,DX=2000H(6)mov dx,[bx+di] 基址变址寻址,EA=2040H第2章8086的指令系统〔习题2.1〕已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12 34 56 78H,[21200H]~[21203H]依次存放2A 4C B7 65H,说明下列每条指令执行完后AX寄存器的内容。
(1)mov ax,1200h AX=1200H(2)mov ax,bx AX=0100H(3)mov ax,[1200h] AX=4C2AH ;偏移地址=1200h(4)mov ax,[bx] AX=3412H ;偏移地址=bx=0100h(5)mov ax,[bx+1100h] AX=4C2AH ;偏移地址=bx+1100h=1200h(6)mov ax,[bx+si] AX=7856H ;偏移地址=bx+si=0100h+0002h=0102h(7)mov ax,[bx][si+1100h] AX=65B7H ;偏移地址bx+si+1100h=0100h+0002h+1100h=1202h〔习题2.2〕指出下列指令的错误(1)mov cx,dl 两操作数类型不匹配(2)mov ip,ax IP指令指针禁止用户访问(3)mov es,1234h 立即数不允许传给段寄存器(DS、CS、SS、ES)(4)mov es,ds 段寄存器之间不允许传送(5)mov al,300 两操作数类型不匹配(6)mov [sp],ax 目的操作数应为[ SI ](7)mov ax,bx+di 源操作数应为[BX+DI](8)mov 20h,ah 立即数不能作目的操作数〔习题2.8〕请分别用一条汇编语言指令完成如下功能:(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。
1.8086CPU共有14个16位寄存器,包括4个16位数据寄存器。
2个16位指针寄存器,2个16位变址寄存器,1个指令指针,4个16位段寄存器,1个16位标志寄存器。
2.8086的标志寄存器有9个标志,分为两组,条件标志分为哪几个,控制标志包括哪几个?3.8086有7中寻址方法4.汇编语言的指令分成哪三种?5.指令格式是否正确的判断方法:(1) 操作数是否匹配如mov ax,bl不匹配。
改为mov ax,bx(2) 两个操作数不可同时为存储器数。
如mov [di],[si] 改为mov di,[si](3) cs,ip等不做目的操作数。
如:mov cs,bx(4) 立即数不做目的操作数如moc 2050H,ax 改为:mov ax,2050H(5) 无法判断类型时,要加类型说明符:如inc [bx] 改:inc byte ptr(6) 寻址方法是否有错(7) 不能用mov ds,2000h 将立即数直接赋给段寄存器6.指令指针寄存器IP的作用是什么?7.PF标志的含义是什么?、8.mov ,and ,xor ,sub 指令对标志寄存器的影响是什么?9.与交换指令xchg等价的操作方法?10.and ,not ,inc ,xor ,mov 指令对标志的影响?11.有符号数和无符号数转移指令的使用:无符号数用:ja表大于,jb表小于。
有符号数用:jg 大于,jL小于,JNI不小于12.栈操作只有字操作,故pop[bx]是正确的,可不用写成pop word ptr[bx]13.数据定义伪指令:db 字节,dw 字,DD双字,df 三字,DQ 四字,DT 五字14.栈操作中恢复断点的操作顺序是什么?15.8086标志寄存器中定了哪些标志?这些标志分为哪两种?如何改变这些标志的状态?16.取变量偏移地址的常用方法有哪两种17.如何根据逻辑地址计算物理地址?18.如何通过栈来交换两个操作数的内容?19.地址计数器的使用。
第一章基础知识一、机器语言:即机器指令(机器可以正确执行的命令)的集合。
二、汇编语言的产生:汇编指令是机器指令便于记忆的书写格式,即助记符。
(编译)三、汇编语言的组成:汇编指令(机器码的助记符)、伪指令(由编译器执行)、其他符号(由编译器识别)。
四、存储器:存放指令和数据的地方。
磁盘上的数据不读到内存中就无法被CPU使用。
五、指令和数据:都为二进制信息。
1KB=1024B。
六、存储单元:每个存储单元从0开始顺序编号。
七、CPU对存储器的读写:地址信息、控制信息、数据信息。
三者都属于电信号,需要靠导线传输。
总线为物理导线的集合,分为地址总线、数据总线、控制总线。
八、地址总线:CPU通过地址总线来指定存储单元,N根地址总线的宽度为N,最多可寻找2N个内存单元。
地址总线的宽度决定了CPU的寻址能力。
九、数据总线:数据总线的宽度决定了CPU和外界的数据传送速度。
十、控制总线:控制总线的宽度决定了CPU对外部器件的控制能力。
(低电平表示读取)。
十一、内存地址空间:宽度为10,可寻址的地址为1024个,即1024个内存地址空间。
十二、主板:主板上的器件通过总线(地址总线、数据总线、控制总线)相连。
十三、接口卡:CPU对外部设备不能直接控制,控制其工作的为扩展插槽上的接口卡。
十四、各类存储器芯片:随机存储器RAM/只读存储器ROM。
存储器物理上独立,但都和CPU总线连接,CPU由此控制读写。
逻辑存储器由若干物理存储器组成,十五、内存空间地址段:主随机存储器+显存地址空间+各个ROM的地址空间。
第二章寄存器(CPU工作原理)CPU的组成:运算器、控制器、寄存器,彼此之间靠内部总线相连。
8086CPU共有14个寄存器,所有寄存器都是16位的,可以存放2个字节。
一、通用寄存器:AX/BX/CX/DX,可分为2个独立的8位寄存器AH和AL(低8位)。
可存储16位数据,所能存储的最大值为216-1。
二、字在寄存器中的存储:用十六进制表示,存储在16位的寄存器中。
主要复习知识点
1 机器语言、汇编语言、高级语言,汇编与连接程序的基本原理,标识符,debug中数据的进制数据类型循环的三大要素 dos
2 寄存器以及寄存器的位数,数据寄存器,地址寄存器,IP指针寄存器,标志寄存器,地址总线,段或者缓冲区中指定单元的物理地址与偏移地址,以及寻址空间,内存分段的原理,各段的最大值,各段如何与相应的段寄存器建立对应关系
3 堆栈的栈底栈顶以及入栈时数据的大小、栈顶的移动方向
5 变量标号的三种属性以及它们的运算符,变量的类型转换要用到的运算符,符号扩展的具体操作。
6系统的常用功能调用,2 9 10 号功能调用
7 子程序的类型宏定义中局部标号的展开
8 中断向量以及中断向量表在内存中占有的空间的大小
9 双字变量的加减运算,移位运算,乘法与除法指令中乘数与被乘数各自用到的寄存器
10 输入输出指令,输入输出端口地址空间的大小
11 七种寻址方式,物理地址的计算以及目的操作数的计算,指令的对错
12 变量在内存中占用的字节单元数,以及单元中的值(根据数据类型确定),存储变量在内存中占用存储空间的示意图
13 宏程序的展开
14 流程图以及完整的源程序,四则混合运算,尤其要注意双精度数的加减运算以及大小的判断
15 循环程序与子程序的设计
16 比较指令与跳转指令在程序设计中的运用。