汇编期末复习要点
汇编语言期末总结

汇编语言期末总结整理了些关于汇编语言的基础知识,希望能帮到你们的期末复习!计算机内部寄存器阵列●数据寄存器●指针及变址寄存器●段寄存器●控制寄存器数据寄存器包括4个16位的寄存器(AX, BX, CX, DX)或者8个8位寄存器( AH, AL,BH, BL, CH, CL, DH, DL)这些寄存器都可以用来暂时存放操作数, 运算结果以及其他信息, 但同时又具有某些专用用途● AX 数据累加器算术运算中的主要寄存器, 在乘除运算中用来指定被除数和被除数, 也是乘, 除,运算后积和商的默认存储单元. 另外I/O指令均使用该寄存器与I/O设备传送信息● BX 基址寄存器指令寻址时常用做基址寄存器. 存入偏移量或偏移量的构成成分● CX 计算寄存器在循环指令操作或串处理指令中隐含计数● DX 数据寄存器在双字节长运算是, 与AX构成32位操作数, DX为高16位. 在某些I/O指令中, DX被用来存放端口地址指针及变址寄存器这些寄存器都是16位的寄存器, 用来存放16位的操作数或中间结果, 但更经常的用途是存放偏移量, 或位移量● SP 堆栈指针寄存器始终只是栈顶的位置, 与SS寄存器一起组成栈顶数据的物理地址● BP 基址指针寄存器系统默认其指向堆栈中某一单元, 即提供栈中该单元的偏移量. 加段前缀后, BP可作非堆栈段的地址指针● SI 源变址寄存器与DS联用, 指示数据段中某操作的偏移量. 在做串处理时, SI指示源操作数地址, 并有自动增量或自动减量的功能. 变址寻址时, SI与某一位移量共同构成操作数的偏移量● DI 目的变址寄存器与DS联用, 指示数据段中某操作数的偏移量, 或与某一位移量共同构成操作数的偏移量. 串处理操作时, DI指示附加段中目的地址,并有自动增量或减量的功能段寄存器● CS 代码段存放当前程序的指令代码● DS 数据段存放程序所涉及的源数据或结果● SS 堆栈段以”先入后出”为原则的数据区● ES 附加段辅助数据区, 存放串或其他数据控制寄存器● IP 指令指针寄存器它始终指向当前将要执行指令在代码段中存放的偏移量● FR 控制标志位1. CF 进位标识位进行加减运算时, 如果最高二进制位产生进位或错位, CF则为1, 否则为0. 程序设计中, 常用条件转移指令JC, JNC指令据此标志位实现转移2. PF 奇偶标志位操作结果中二进制位1的个数为偶数是, PF为1, 某则为03. AF 辅助进位标志位运算时半字节产生进位或借位时,AF为1, 某则为0. 主要用于BCD码的调整4. ZF 零标志位运算结果为0时, ZF为1, 否则为05. SF 符号标志位当运算结果的最高位为1时, SF为1, 否则为0. 最高位表示符号数的正和负6. TF 跟踪标志位用于调试程序时进入单步方式工作. TF=1时, 每条指令执行完后产生一个内部中断, 让用户检查指令运行后寄存器, 存储器和各标志位的内容. TF=0时, CPU工作正常, 不产生内部中断7. IF 中断允许标志位IF=1同时中断屏蔽寄存器的相应位为0, 允许系统响应可屏蔽中断, 反之, 不接收外部发出的中断请求8. DF 方向位标志位用于控制串操作时地址指针位移方向. 当DF=1时, 指针向高地址方向移动9. OF 溢出标志位算术运算时结果超出系统所能表示的数的范围. 溢出时, OF=1关于汇编代码中的指令汇编指令语句的格式: [标号:] 指令助记符 [[目的操作数][, 源操作数]] [; 注释]●指令助记符如MOV, SUB这些词分别表示传送, 减法. 汇编源程序时, 系统使用内部对照表将每条指令的助记符翻译成对应的机器码●目的操作数目的操作数一共有两个作用1. 参与指令操作2. 暂时储存操作结果●源操作数源操作数主要提供原始数据或操作对象, 面向所有寻址方式. 例如, 在指令SUB AX, BX 中的值作为减数提供给指令SUB●注释这是对源程序的说明, 在汇编中用 ; 号, 后面的内容将被注释介绍指令前, 先熟悉下这些在指令中的符号(必须要记得)● imme: 立即数● DST: 目的操作数● SRC: 源操作数● mem: 存储器操作数● OPR: 操作数● reg: 通用寄存器● EA: 偏移地址(偏移量)● Sreg: 段寄存器● Port: 端口地址● Label: 标号汇编指令一共可以分为6组:1. 数据传送指令2. 算术运算指令3. 逻辑运算与移位指令4. 串操作指令5. 程序控制指令6. 处理器控制指令数据传送指令通用数据传送指令:● MOV DST,SRC ;传送指令: 把源操作数的内容送入目的操作数注意:1. 立即数做源操作数时, 立即数的长度必须小于等于目的操作数的长度2. 操作数DST, SRC分别为reg, reg或reg, Sreg或Sreg, reg时, 两者的长度必须保持一致3. CS和IP寄存器不能做DST操作数, 不允许用立即数直接为段寄存器赋值4. 立即数不能作为目的操作数5. 不能将一个段寄存器的内容直接送到另一个段寄存器中, 可借助通用寄存器或PUSH, POP指令实现这一要求● PUSH SRC ;压栈指令: 将一个字数据压入当前栈顶, 位移量disp=-2的地址单元. 数据进栈时, 栈指针SP首先向低地址方向移动两个字节位置, 接着数据进栈, 形成新的栈顶● POP DST ;出栈指令: 弹出栈顶元素, 后将栈顶指针向栈底方向移动一个字● XCHG OPR1,OPR2 ;交换指令: 将这两个操作数交换地址传送指令:● LEA DST,SRC ;装载有效地址指令: 该指令将源操作数的偏移量OA装载到目的操作数中● LDS DST,SRC ;装载数据段指针指令: 将当前数据段中的一个双字数据装入到一个通用寄存器SI(双字数据的低字)和数据段寄存器DS(双字数据的高字)中● LES DST,SRC ;装载附加段指针指令: 将附加数据段中的一个32位地址数据指针(附加段指针)送到DI(低字)和ES(高字)寄存器中标志传送指令: (专用于标志寄存器保护和更新的指令, 共四条)● LAHF ;标志寄存器送AH指令, 将标志寄存器的低字节送入AH中● SAHF ;AH送标志寄存器指令, 将AH寄存器内容送标志寄存器FR的低字节● PUSHF ;标志进栈指令, 标志寄存器进栈● POPF ;标志出栈指令, 标志寄存器出栈累加器专用传送指令:● IN AL,Port ;从端口读入数据, 存放在AL中● OUT Port,A● ;传送AL中的数据到端口● XLAT OPR或XLAT ;用于将AL中当前的内容转换为一种代码算术运算指令加法指令:● ADD DST,SRC ;DST+SRC的和存放到DST中去● ADC DST,SRC ;带进位加法指令, DST+SRC+CF● INC DST ;增1指令减法指令:● SUB DST,RSC ;DST-SRC, 存放到DST中● SBB DST,SRC ;带借位减法指令, DST-SRC-CF● DEC DST ;减1指令● NEG DST ;求补指令, 求补码● CMP OPR1,OPR2 ;比较指令乘法指令:● MU● SRC ;无符号数乘指令, AL*SRC, 结果放入AX中● IMU● SRC ;有符号数乘指令, AL*SRC, 结果放入AX中除法指令:● DIV SRC ;无符号数除指令, AX/SRC, 商放入AL中, 余数放在AH中● IDIV SRC ;符号数除指令, AX/SRC, 上放入AL中, 余数放在AH中● CBW,CWD ;都是符号扩展指令. 将AL的符号扩到AX中; 将AX的符号扩到DX中逻辑运算与移位指令逻辑运算指令:● NOT OPR ;逻辑非指令● AND OPR ;逻辑与指令● OR OPR ;逻辑或指令● XOR OPR ;逻辑异或指令移位指令:● SH● DST,CNT ;逻辑左移● SHR DST,CNT ;逻辑右移● SA● DST,CNT ;算术左移● SAR DST,CNT ;算术右移循环移位指令:● RO● DST,CNT ;循环左移● ROR DST,CNT ;循环右移● RC● DST,CNT ;带进位循环左移● RCR DST,CNT ;带进位循环右移串操作指令● MOVS ;串传送指令● CMPS ;串比较指令● SCAS ;串扫描指令● LODS ;装入串指令● STOS ;存储串指令控制转移指令转移指令:● JMP ;无条件转移指令● JX ;条件转移指令(JC/JNC, JZ/JNZ, JE/JNE,JS/JNS, JO/JNO, JP/JNP…)循环指令:● LOOP 标号 ;该指令执行时, 技术寄存器CXX首先减1, 然后判断CX, 若为0, 跳出循环条件循环指令:● LOOPZ/LOOPE,LOOPNZ/LOOPNE ;前者用于找到第一个不为0的事件, 后者用于找到第一个为0的事件子程序调用指令:● CAL●子程序名 ;段内直接调用● RET中断指令:● INT N(中断类型号) ;软中断指令● IRET ;中断返回指令处理器控制指令标志处理指令:● CLC ;进位标志CF置0● CMC ;进位标志CF求反● STC ;进位标志值1● CLD ;方向标志置0● STD ;方向标志置1● CLI ;中断允许标志置0● STI ;中断允许标志置1其他处理器控制指令:● NOP ;空操作● HLT ;停机● WAIT ;等待● ESC ;换码● LOCK ;封锁祝大家期末最后一门考试顺利!元旦快乐,亲们!。
汇编总复习

汇编总复习机考重点:排序纸考重点:一、汇编的认识1.汇编语言的特点【P1】2.汇编与链接【P54】3.DOS和DEBUG的使用【P27】二、【P2~P14】1.N进制数的按权展开2.二进制、十进制、十六进制的转化3.字节、字、双字4.原码、反码、补码、BCD码三、【P22~P26】1.物理地址与逻辑地址2.数据存储1)以字节为基础存储单位(8 bit)2)高位-> 高地址3)低位-> 低地址<物理地址= 逻辑地址* 10H + 偏移量><一个字占两个单元>四、【P19~P22】1.通用寄存器:1)数据寄存器:●AX(AH, AL);●BX(BH, BL);●CX(CH, CL);●DX(DH, DL).2)指针寄存器:●堆栈指针寄存器:SP●基址指针寄存器:BP3)变址寄存器:●源变址寄存器:SI●目标变址寄存器:DI2.专用寄存器:1)控制寄存器:●指令指针:IP●标致寄存器:FLAGS2)段寄存器:●代码段寄存器:CS●堆栈段寄存器:SS●数据段寄存器:DS●附加段寄存器:ES五、标志位【P21】9个标志位,其中6个状态3个控制4个最重要的状态标志位:ZF SF CF DF●ZF:zero flag 零标志运算结果等于0时为1,否则为0●SF:sign Flag 符号标志记录运算结果的符号,结果负时为1●CF:carry flag 进位标志最高有效位产生进位时为1,否则为●DF:direction flag 方向标志用于串处理.DF=1时,每次操作后使SI和DI减小.DF=0时则增大控制标志位:DF IF TF●DF:direction flag 方向标志用于串处理.DF=1时,每次操作后使SI和DI减小.DF=0时则增大.●IF:interrupt flag 中断标志IF=1时,允许CPU响应可屏蔽中断,否则关闭中断●TF:trap flag 陷阱标志用于调试单步操作六、指令格式【P38】1.[标号:] 指令助记符[操作数] [;注释]1)指令助记符是必须的2)操作数1~3个且有3种形式:●立即数操作数●寄存器操作数●内存操作数<操作数有符号必须是半角模式的>七、寻址方式【P39~P48】1.直接寻址2.寄存器间接寻址3.变址寻址4.基址变址寻址5.相对基址变址寻址八、指令系统数据传送指令【P66】算术指令【P73】位操作指令【P108】控制转移指令【P97】串操作指令【P133】标志位处理九、变量、标号和表达式十、伪指令十一、操作符十二、汇编语言源程序结构十三、过程十四、输入输出与中断十五、相关图片资料:。
汇编语言期末复习要点

主要复习知识点
1 机器语言、汇编语言、高级语言,汇编与连接程序的基本原理,标识符,debug中数据的进制数据类型循环的三大要素 dos
2 寄存器以及寄存器的位数,数据寄存器,地址寄存器,IP指针寄存器,标志寄存器,地址总线,段或者缓冲区中指定单元的物理地址与偏移地址,以及寻址空间,内存分段的原理,各段的最大值,各段如何与相应的段寄存器建立对应关系
3 堆栈的栈底栈顶以及入栈时数据的大小、栈顶的移动方向
5 变量标号的三种属性以及它们的运算符,变量的类型转换要用到的运算符,符号扩展的具体操作。
6系统的常用功能调用,2 9 10 号功能调用
7 子程序的类型宏定义中局部标号的展开
8 中断向量以及中断向量表在内存中占有的空间的大小
9 双字变量的加减运算,移位运算,乘法与除法指令中乘数与被乘数各自用到的寄存器
10 输入输出指令,输入输出端口地址空间的大小
11 七种寻址方式,物理地址的计算以及目的操作数的计算,指令的对错
12 变量在内存中占用的字节单元数,以及单元中的值(根据数据类型确定),存储变量在内存中占用存储空间的示意图
13 宏程序的展开
14 流程图以及完整的源程序,四则混合运算,尤其要注意双精度数的加减运算以及大小的判断
15 循环程序与子程序的设计
16 比较指令与跳转指令在程序设计中的运用。
汇编语言复习重点总结版

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
汇编语言考试复习资料

汇编语⾔考试复习资料汇编语⾔期末复习资料整理第⼆章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. 计算机的基本组成和工作原理
2. 汇编语言与高级语言的区别和联系
3. 汇编语言程序的编写和调试
4. 汇编语言的指令格式和寻址方式
5. 寄存器的结构和使用方法
二、汇编指令集
1. 数据传送指令
2. 算术运算指令
3. 逻辑运算指令
4. 控制转移指令
5. 输入输出指令
6. 栈操作指令
三、汇编程序设计
1. 程序框架和流程控制
2. 数据定义和数据处理
3. 子程序的设计和调用
4. 宏指令的定义和使用
5. 内存管理和中断处理
四、调试与优化
1. 调试工具的使用方法
2. 单步执行和观察程序运行状态
3. 程序的性能优化和指令优化技巧
五、应用案例分析
1. 汇编语言在嵌入式系统开发中的应用
2. 汇编语言在操作系统开发中的应用
3. 汇编语言在编译器和解释器开发中的应用
4. 汇编语言在网络通信和数据加密中的应用
以上是汇编语言考试的主要要点,希望对你的复习有所帮助。
祝你考试顺利!。
《汇编语言》复习提纲

《汇编语言》复习提纲一、引言A. 简述汇编语言的定义和作用B. 指明复习汇编语言的目的和重要性二、基础知识回顾A. 计算机体系结构基础1. CPU和内存的功能和交互2. 寄存器的种类和作用3. 指令集的概念和分类B. 汇编语言的概念和特点1. 汇编指令和机器指令的关系2. 汇编语言与高级语言的对比3. 汇编语言的优缺点三、汇编语言基本语法和结构A. 数据类型和数据存储1. 字节、字和双字等数据类型2. 内存的寻址方式3. 数据的声明和访问方法B. 汇编指令的格式和使用方法1. 指令的组成和语法2. 数据传输指令和算术指令3. 条件判断和跳转指令4. 循环和函数的实现方式四、汇编语言程序设计A. 程序设计的基本步骤1. 确定程序的功能和需求2. 设计算法和数据结构3. 编写和调试汇编程序B. 典型实例分析和解析1. 计算两个数的和与差2. 查找和排序算法的实现3. 字符串处理和IO操作的案例五、汇编语言的高级特性A. 中断和异常处理1. 中断的分类和处理2. 异常的概念和处理机制B. 内存管理和扩展1. 内存的分段和分页机制2. 内存扩展和地址映射C. 硬件接口和外设控制1. 端口和寄存器的配置和读写2. 外设控制和驱动程序的编写六、实践项目和综合应用A. 汇编语言与其他编程语言的结合1. 汇编语言与C/C++的接口2. 汇编语言在嵌入式系统中的应用B. 汇编语言程序的调试和优化1. 调试工具和技巧的应用2. 代码优化和性能提升的方法七、总结和展望A. 总结汇编语言复习的重点内容B. 展望汇编语言的发展和应用领域八、参考资料A. 书籍和文献资料B. 在线教程和学习资源以上提纲为复习《汇编语言》的参考大纲,希望能够帮助你系统地复习和理解汇编语言的基本概念、语法和应用。
在复习过程中,建议结合具体的例子和实践项目,加深对汇编语言的理解和应用能力。
祝你复习顺利,取得好成绩!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编期末复习要点
1 机器语言、汇编语言、高级语言,汇编与连接程序的基本原理
机器语言,顾名思义是机器指令的集合,是计算机硬件可以直接理解与执行的语言;汇编语言是用符号书写的,并遵循一定语法规则的计算机语言。
由于汇编语言依赖于硬件体系,且助记符量大难记,于是就发明了语法和结构更类似汉字或英文的高级语言。
一个汇编源程序,首先要经过汇编,汇编过程将汇编程序翻译成能直接被计算机识别的目标程序,然后连接成exe文件,最终执行。
2.标识符
汇编中的标识符是由字母(大、小写均可),下划线和数字组成。
且第一个字符必须是字母或者下划线,而且不能用有意义的指令或者寄存器,在汇编中,一般用大写。
3.debug中数据的进制都是十六进制。
4.汇编中的变量类型有5种,分别是DB,DW, DD, DQ, DT;注意:汇编中数据类型除了上述5中外,还有字符串,一共6种。
5.循环的三大要素为循环变量、循环体和循环终止条件。
6.寄存器以及寄存器的位数
汇编中除了AX、BX、CX、DX可划分为8位寄存器外,其余均是16位。
7.数据寄存器
数据寄存器:AX、BX、CX和DX。
其中AX为累加器,BX为基址寄存器,CX为计数寄存器,DX为数据寄存器。
8.地址寄存器
地址寄存器:BP、SP、DI和SI。
SP为堆栈指示器,BP为对堆栈操作的基址寄存器,SI为源变址寄存器,DI为目的变址寄存器。
其中BP、SI和DI在不作指示器和变址寄存器时,也可以当作数据寄存器使用。
因为SP是专用的堆栈指示器,所以不能作数据寄存器使用。
9.IP指针寄存器和标志寄存器
指令指示器IP总是保存着下一次要从主存中取出指令的偏移地址(简称EA)
标志寄存器Flags中设置了9个标志,共占用2个字节。
分为条件标志和控制标志。
控制标志有:DF(方向标志)、IF(中断允许标志)和TF(跟踪标志)。
10.地址总线
8086微处理器中有20根地址总线,寻址能力为1M,物理地址编号从00000H ~ FFFFFH
11.段或者缓冲区中指定单元的物理地址与偏移地址,以及寻址空间
数据段中指定单元物理地址:PA = (DS)左移4位+ EA
堆栈段中指定单元物理地址:PA = (SS)左移4位+ EA
代码段中指定单元物理地址:PA = (CS)左移4位+ IP
寻址空间均为64KB。
12.内存分段的原理,各段的最大值,各段如何与相应的段寄存器建
立对应关系
8086最大寄存器位数为16位,很明显用16位的地址寻址1MB空间是不可能的,所以要把内存分段。
分段方案:1.寻址逻辑空间只有64KB,因此要将1MB按最大不超过64KB进行分段;2.为了能将分段后20位段首地址装入16位寄存器,要求段首低4位为0。
分段后各段最大值为64KB。
通过在程序中CS:CODE, DS:DATA, SS:STACK来建立联系。
13.堆栈的栈底栈顶以及入栈时数据的大小、栈顶的移动方向
空栈时,堆栈的栈底为SP,栈顶为SS。
入栈的数据大小为16位。
存入时栈顶均由高地址向低地址变化。
14.变量、标号的三种属性以及它们的运算符
变量和标号的三种属性为段属性、偏移地址属性和类型属性。
运算符有:PTR(类型运算符)、THIS(定义类型运算符)、SEG(取段地址运算符)、OFFSET(取偏移地址运算符)和TYPE(取类型运算符)。
15.变量的类型转换要用到的运算符,符号扩展的具体操作。
变量类型转换要用到PTR。
符号扩展指令CBW、CWD。
CBW将AL中的符号位扩展至AH中,CWD将AX中的符号位扩展至DX中。
因此,将有符号数进行扩展时,要使用符号扩展;将无符号进行扩展时,要使用零扩展。
16.系统的常用功能调用,2 9 10 号功能调用
2号调用将要显示的字符串的ASCLL码送到DL,然后在显示器上显示该字符。
若DL中为<CTRL>+<Break>的ASCLL码,则从调用的执行中退出。
9号调用将字符串首偏移地址送至DX,屏幕上打印数据区中DS:[DX]所指向处以‘$’结尾的字符串。
10号调用接收从键盘输入的一个字符串,并保存在缓冲区第三个字节处存放,缓冲区第一个字节规定缓冲区的大小,第二个字节存放实际输入的字符个数。
17.子程序的类型
段内调用的子程序为NEAR类型,段间调用的子程序为FAR类型。
当为NEAR类型时可以简写。
18.宏定义中局部标号的展开
书本P162 and 试卷简答题1
19.中断向量以及中断向量表在内存中占有的空间的大小
中断向量表存放在内存前1K字节,即00000H — 003FFH。
中断向量表可容纳256个中断向量,每个中断向量占用4个字节。
20.双字变量的加减运算
试卷编程大题1
21.移位运算
移位指令包括算术移位指令、逻辑移位指令和循环移位指令。
算术、逻辑左移:SAL、SHL。
向左移动指定位数,低位补0。
算术右移:SAR。
向右移动指定位数,最高位保持不变。
最高位是
什么它的下一位就补什么。
逻辑右移:SHR。
向右移动指定位数,最高位补0。
循环左、右移:ROL、ROR。
将目的操作数的最高位与最低位连接起来,所有位一起向左或右移动。
22.乘法与除法指令中乘数与被乘数各自用到的寄存器
乘法和除法运算被乘数和被除数均存于AX。
乘法运算中,最终结果存于AH/AL(字节乘法)和DX/AX(字乘法)。
除法运算总,最终余数和商分别存于AH/AL(字节除法)和DX/AX(字乘法)。
23.输入输出指令,输入输出端口地址空间的大小
输入输出指令分别为IN和OUT。
端口地址最大可达64K,地址从0000H —— 0FFFFH。
I/O空间只能由I/O指令访问,而对其他任何指令的访问一律无效。
24.七种寻址方式
立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、基址加变址寻址([BX/BP + SI/DI])和相对基址加变址寻址([BX/BP + SI/DI + 常数])。
——试卷简答题3
接下来就都是试卷和书本上的了,多看看,弄懂就没问题了。
加油!
25.物理地址的计算以及目的操作数的计算
PA = SS/DS * 10 + EA ——试卷简答题2
26.指令的对错——试卷简答题4
27.变量在内存中占用的字节单元数,以及单元中的值(根据数据类
型确定),存储变量在内存中占用存储空间的示意图
——试卷简答题5 and 书本P41
28.宏程序的展开——试卷简答题6 and 书本P162
29.流程图以及完整的源程序,四则混合运算,尤其要注意双精度数
的加减运算以及大小的判断——试卷大题1、3 30.循环程序与子程序的设计——试卷大题2
——书本P92 31.比较指令与跳转指令在程序设计中的运用
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
————————————————————
祝你成功!( ^__^ ) ……
————————————————————。