汇编语言期末复习要点

合集下载

汇编语言复习要点

汇编语言复习要点
2
6 7
堆栈对子程序功能的支持:CALL 和 RET;CALL FAR PTR SUBPROC 堆栈对中断功能的支持:中断响应以非指令方式操作堆栈及 IRET 和 RET 的异同。
四、 完整的指令集
1. 指令相关的核心内容包括: 1 指令的功能; 2 对标志位的影响; 3 必须和隐含使用的寄存器。
3
5. 其他要点 1 段寄存器不能直接接受立即数:mov 段寄存器间不能直接传递数据:mov 段寄存器只能: mov c/d/e/ss,r16/m16
ds,1000h es,ds ;r 通用寄存器,m 内存单元
mov r16/m16, c/d/e/ss push/pop c/d/e/ss
2 3 4 5
MUL/IMUL/DIV/IDEV 隐含使用 AL/AX/DX(16 位运算使用 DX) ; SCAS/LODS/STOS 隐含使用 AL(字节串)/AX(字串) ; IN/OUT 只能使用 AL/AX 寄存器; 逻辑运算指令、移位和循环移位指令统称为“位操作指令” : and or al,0fh al,0f0h ;高四位清 0 ;高四位置 1
五、 程序框架、伪指令和功能调用
1. 带子程序模板的源程序框架(附录) : 2. 常量和变量定义语句: 1 EQU、=: 编译程序将符号常量定义语句的定义值作为立即数,取代源程序中所有其他位置的 该符号常量; 2 DB、DW、DD 及 DUP: 编译程序根据各变量的排列顺序和所占的字节数,计算出各变量的偏移量,以直接 寻址方式或作为其他寻址方式中的位移量,取代源程序中所有其他位置的该变量符号。 3. 其他伪指令 1 $、ORG; 2 SEG、OFFSET; 3 NEAR、FAR;BYTE、WORD、DWORD; 4 LABEL、THIS、TYPE、PTR。 4. 子程序参数传递方式 1 寄存器传递; 2 堆栈传递和 RET n。 5. 常用功能调用 1 01H,02H,09H 和 0AH; 2 各功能使用的寄存器和内存结构; 3 新行功能串:

汇编语言复习提纲

汇编语言复习提纲

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)说明:①.堆栈:计算机开辟的以“后进先出”方式工作的存储区。

汇编语言期末复习要点

汇编语言期末复习要点

编译程序根据各变量的排列顺序和所占用的字节数,
计算出各变量的偏移量,以直接寻址方式或作中所有其他位置的该
变量符号。
8086汇编语言程序设计
18
3. 其他伪指令 ORG 、$:从哪里开始编译和编译到哪里了(偏移量) SEG、OFFSET 、TYPE: ——返回段基值、偏移量和变量类型
存器带有各种“附加”功能,这些“附加”功能是通
过机器指令的执行来实现的。
8086汇编语言程序设计
4
3. 8086/8088 CPU 的寄存器
8086/8088 CPU 的内部结构
8086汇编语言程序设计 5
三、存储器寻址方式及堆栈
1. 字节单元定位和物理地址
内存
地址 译码 逻辑 CPU 地址总线 数据总线
⑥ 基址变址寻址:xchg ax,[bx+si]
⑦ 相对基址变址寻址:push var[bx+si]
8086汇编语言程序设计 9
6. 堆栈
① 堆栈的“生成”和空栈的状态:
—— SP 的初值和堆栈容量、栈顶、栈底的关系; ② PUSH 和 POP 的行为方式: —— 栈指针 SP 的变化和数据入、出栈; ③ PUSHF 和 POPF 的默认操作数:标志寄存器;
④ 移位及循环移位类 ⑥ 标志位操作指令
② 8086 instructions
3. 掌握用 debug 学习、研究指令的方法
8086汇编语言程序设计
11
4. 特别提示:
① 目标操作数不能为立即数;
② 除了串操作指令外,双操作数不能同为存储器操作数; ③ 段寄存器只能: mov ax,ds mov ds,ax push ds pop ds
① 寄存器寻址:xor al,al

汇编语言复习重点

汇编语言复习重点

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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

主要复习知识点
1 机器语言、汇编语言、高级语言,汇编与连接程序的基本原理,标识符,debug中数据的进制数据类型循环的三大要素 dos
2 寄存器以及寄存器的位数,数据寄存器,地址寄存器,IP指针寄存器,标志寄存器,地址总线,段或者缓冲区中指定单元的物理地址与偏移地址,以及寻址空间,内存分段的原理,各段的最大值,各段如何与相应的段寄存器建立对应关系
3 堆栈的栈底栈顶以及入栈时数据的大小、栈顶的移动方向
5 变量标号的三种属性以及它们的运算符,变量的类型转换要用到的运算符,符号扩展的具体操作。

6系统的常用功能调用,2 9 10 号功能调用
7 子程序的类型宏定义中局部标号的展开
8 中断向量以及中断向量表在内存中占有的空间的大小
9 双字变量的加减运算,移位运算,乘法与除法指令中乘数与被乘数各自用到的寄存器
10 输入输出指令,输入输出端口地址空间的大小
11 七种寻址方式,物理地址的计算以及目的操作数的计算,指令的对错
12 变量在内存中占用的字节单元数,以及单元中的值(根据数据类型确定),存储变量在内存中占用存储空间的示意图
13 宏程序的展开
14 流程图以及完整的源程序,四则混合运算,尤其要注意双精度数的加减运算以及大小的判断
15 循环程序与子程序的设计
16 比较指令与跳转指令在程序设计中的运用。

相关文档
最新文档