IBM-PC-汇编语言--期末复习.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

IBM-PC汇编语言期末复习课程学习目标与要求:•掌握以Intel系列微处理器为基础的PC机的基本结构•掌握Intel系列微处理器的指令系统及寻址方式•掌握IBM-PC汇编语言设计、编写、调试和运行的方法•学会使用DOS和BIOS功能调用及高级汇编语言技术•了解图形、显示、发声和磁盘文件存取编程技术•基础理论第一章基础知识第二章80x86计算机组织•编程工具第三章80x86指令系统和寻址方式第四章汇编语言程序格式•编程方法第五章循环与分支程序设计第六章子程序结构第七章高级汇编语言技术第八章输入/输出程序设计第九章BIOS和DOS中断•实际应用(自学)第十章图形与发声系统的程序设计第十一章磁盘文件存取技术教材结构第一章基础知识1.1进位计数制与不同基数的数之间的转换1.2二进制数和十六进制数运算1.3计算机中数和字符的表示1.4几种基本的逻辑运算十进制:基数为10,逢十进一,权为10k12.34=1×101+2×100+3×10-1+4×10-2二进制:基数为2,逢二进一,权为2k11012=1×23+1×22+1×20=1310十六进制:基数为16,逢十六进一,权为16k918716=9×163+1×162+8×161+7×160八进制:基数为8,逢八进一,权为8k1.1.1进位计数制基数:进位计数制中基本数码的个数权:形式为:基数位置(…1,0,-1,…)数制基数数码二进制Binary20,1八进制Octal80,1,2,3,4,5,6,7十进制Decimal100,1,2,3,4,5,6,7,8,9十六进制Hexadecimal160,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F方法:(1)降幂法(2)除法(1)降幂法步骤:1.写出要转换的十进制数2.写出所有小于此数的各位二进制权3.用要转换的十进制数减去与他最相近的二进制权,如够减记1,否则记04.不断反复,直到该数为0十进制数转换为二进制数(2)除法整数部分:除二取余,直到商为0小数部分:乘二取整,直到结果的小数部分为0,或达到精度。例:N=117D117/2=58a0=158/2=29a1=029/2=14a2=114/2=7a3=07/2=3a4=13/2=1a5=11/2=0a6=1得:N=1110101B1.3计算机中数和字符的表示真值:日常生活中用+、-加绝对值的方法表示的数,如,+0.1011,-0.1011等等机器数:计算机中使用的,连同数符一起数字化的数,如0.1011,1.1011机器字长:表示机器数所用的位数有符号数的表示方法有:原码、补码、反码等计算机中数的表示原码:数的最高位是符号位,正数时为0,负数时为1,数值部分不变。反码:正数的反码同原码,负数的反码数值位与原码相反各位取反,1变0,0变10的表示不唯一补码:将某数x对模M的补数称为x的补码,形式为:[x]补=M+x(mod=M)[±0]补=00000000[-128]补=10000000(定义)0的表示唯一•方法1:根据定义•方法2:符号位不变,其余位按位求反,末位(最低位)加1。负数补码的求法求补运算:方法:对一个二进制数按位求反、末位加1第二章80x86计算机组织2.180X86微处理器2.2基于微处理器的计算机系统构成2.3中央处理机2.4存储器2.5外部设备计算机的五个组成部分:运算器、控制器、存储器、输入设备、输出设备。80x86微处理器是美国Intel公司生产的微处理器系列。微处理器即中央处理机(centralprocessingunitCPU),包括运算器和控制器。微计算机系统:微处理器+存储器+输入输出设备+系统软件386微机:80386微处理器+存储器+输入输出设备+系统软件586微机:80586微处理器+存储器+输入输出设备+系统软件•5总线计算机中的一组公共信号线•6数据总线负责计算机中数据在各组成部分之间的传送数据总线宽度:芯片内部数据传送的宽度外部数据总线宽度:芯片内和芯片外交换数据的宽度•7地址总线负责指出信息的来源和目的地址总线宽度:专用于传送地址的总线宽度寻址空间:处理器可以访问的存储器的最大范围存储器容量的单位:基本单位210=1024,1024K=1M,1024M=1G•8控制总线负责控制总线的动作•10工作方式实模式8086的工作方式保护模式80286+,可提供虚拟存储的管理和多任务的管理机制虚86模式80386+一台机器可同时模拟多个8086处理器的工作系统管理模式供系统设计人员实现十分高级功能的工作方式算数逻辑部件ALU控制逻辑寄存器组CPU一般组成2.3中央处理机2.3.280x86的寄存器组1、程序可见的寄存器汇编语言程序中用到2、程序不可见的寄存器系统所用通用寄存器专用寄存器段寄存器80x86程序可见的寄存器1、通用寄存器数据寄存器AX(accumulator)BX(base)CX(count)DX(data)指针或变址寄存器SP(stackpointer)BP(basepointer)SI(sourceindex)DI(destinationindex)15870AHAL累加器BHBL基址寄存器CHCL计数器DHDL数据寄存器通用寄存器150SP堆栈指示器BP基址指示器SI源变址器DI目的变址器指针和变址寄存器80x86通用寄存器相同点:每个寄存器的专用特征相同不同点:1、16位可以保存的数据宽度可以是8位、16位,而32位可以保存的数据宽度可以是8位、16位、32位2、16位只有SP、BP、SI、DI、BX五个寄存器可用于存放地址,而32位则8个都可以用于存放地址16位与32位通用寄存器的异同点:2、专用寄存器IP(instructionpointer)指令指针寄存器(存放代码段中的偏移地址,始终指向下一条指令的首地址)FLAGS(PSWprogramstatusword)程序状态字寄存器条件码标志控制标志系统标志位OF溢出标志SF符号标志ZF零标志CF进位标志AF辅助进位标志PF奇偶标志TF陷阱标志IF中断标志IOPLI/O特权级DF方向标志8086/8088标志寄存器(程序状态字寄存器PSW)1514131211109876543210条件码标志:控制标志:系统标志位:OF溢出标志DF方向标志IF中断标志SF符号标志TF陷阱标志ZF零标志CF进位标志AF辅助进位标志PF奇偶标志OFDFIFTFSFZFAFPFCF程序状态字(PSW)3、段寄存器CS(codesegment)代码段DS(datasegment)数据段SS(stacksegment)堆栈段ES(extrasegment)附加段FS附加的数据段GS附加的数据段CSDSESSSFSGS代码段数据段堆栈段附加段2.4存储器计算机存储信息的基本单位是一个二进制位(bit),1或0存储器以字节(8bit)为单位存储信息汇编语言的数据类型:字节、字、双字、四字每个字节单元有一个唯一的物理地址,从0编号,顺序加1地址也用二进制数表示(无符号整数,写成十六进制)16位二进制数可表示216=65536=64K个地址0000H~FFFFH字长16位,一个字要占用相继的两个字节低位字节存入低地址,高位字节存入高地址机器以偶地址访问(读/写)存储器字、4字单元地址用它的最低字节地址来表示2.4.2实模式存储器寻址实模式即8086/8088的工作方式,工作在20位地址,单任务工作方式下,独占系统所有资源。8086/8088的数据总线宽度是16位,地址总线宽度是20位,因220=210*210=1024K=1M(地址范围00000H~FFFFFH)所以实模式下允许的最大寻址空间为1MB,但由于其数据总线宽度是16位,所以实模式要解决在16位字长的情况下实现20位的寻址。如何解决?1、存储器地址的分段每个段的最大长度可达64KB(216KB),段内地址是连续的、线性增长的,允许单个逻辑段在整个1MB存储空间内浮动。小段(Paragraph):从0地址开始,每16个字节为一小段,共有64K个小段00000H,00001H,~,0000EH,0000FH00010H,00011H,~,0001EH,0001FH00020H,00021H,~,0002EH,0002FH…FFFF0H,FFFF1H,~,FFFFEH,FFFFFH小段首地址的特征:在十六进制表示的地址中,最低位为0(即20位地址的低四位为0)•逻辑地址是程序中使用的地址,它由段基址和段内偏移值所组成,段基址与段内偏移值都为16位的二进制数。•物理地址也叫实际地址或绝对地址,是CPU访问存储器时实际使用的地址,为20位地址。•段地址:段起始地址的高16位•偏移地址:段内相对于段起始地址的偏移值(16位)(有效地址EA)物理地址=段基址×16+段内偏移地址。段地址0000偏移地址物理地址150150地址加法器190316位段地址16位偏移地址0000+20位物理地址8086/88/286的段寄存器和相应存放偏移地址的寄存器之间的默认组合段偏移CSIPSSSP或BPDSBX、DI、SI或一个16位数ESDI(用于串指令)80386+的段寄存器和相应存放偏移地址的寄存器之间的默认组合段偏移CSEIPSSESP或EBPDSEAX、EBX、ECX、EDX、EDI、ESI一个8位数或一个32位数ESEDI(用于串指令)FS无默认GS无默认2.5外部设备外部设备:实现人机交互和机间通讯为目的的一些机电设备,如键盘、鼠标、显示器、硬盘等等外部设备与主机(CPU和存储器)的通信是通过外设接口(Interface)进行的,每个接口包括一组寄存器。数据寄存器:存放外设和主机间传送的数据状态寄存器:保存外设或接口的状态信息命令寄存器:保存CPU发给外设或接口的控制命令端口(port)地址:又称端口号,是外设中的每个寄存器的编号I/O地址空间:独立于内存储器,80x86机可达64KB,也即端口地址的范围是:0000~FFFFH主机与外设交换信息的方式:直接查询中断成组传送BIOS(basicinput/outputsystem)基本输入输出系统DOS(diskoperatingsystem)磁盘操作系统共同点:都是系统编制的子程序,通过终端方式转入所需要的子程序去执行,执行完后返回原来的程序继续执行不同点:1.BIOS存放在机器的只读存储器ROM中,而DOS是操作系统DOS的一部分2.BIOS的层次比DOS更低,更接进硬件,而DOS例行程序可以一次或多次调用BIOS,已完成比BIOS更高级的功能BIOS和DOS简介第3章80x86的指令系统和寻址方式•3.1程序语言简介•3.280x86的寻址方式•3.3程序占有的空间和时间•3.480x86的指令系统CPU是一个可以完成一些基本操作的电子器件。用编码表示CPU的一个基本操作,称为一条指令。全部指令集称为指令系统。指令系统反映CPU的基本功能,是硬件设计人员和程序员能见到的机器的主要属性,是硬件构成的计算机系统向外部世界提供的直接界面。指令、指令系统和程序(1)操作码指明CPU要执行什么样的操作。是一条指令必不可少的部分,用助记符表示。指令格式例ADDAL,10H数据传送算术运算逻辑运算串操作控制转移处理机控制按功能指令分六类(2)操作数指明参与操作的数据或数据所在的地方。了解操作数的来源、个数、类型。(5)8086/8088指令格式简介操作码操作数...操作数操作数来源指明操作数所在的地方有三种来源:①操作数在指令中,称立即数操作数如MOVAL,9②操作数在寄存器中,称寄存器操作数指令中给出用符号表示的寄存器名。如MOVAL,9③操作数在内存单元中,称存储器操作数或内存操作数指令中给出该内存单元的地址。用[]表示存储器操作数如MOVAL,[2000H]3.280x86的寻址方式与数据有关的寻址方式与转移地址有关的寻址方式存储器寻址(除代码段)四种成分的组合EA=基址+(变址*比例因子)+位移量位移量:

1 / 132
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功