版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-微机重点总结第一章计算机中数的表示方法:真值、原码、反码-127+127、补码-128+127、BCD码,1000的原码为-0,补码为-8,反码为-7。ASCII码:7位二进制编码,空格20,回车0D,换行0A,0-930-39,A-Z41-5A,a-z61-7A。模型机构造介绍1、 程序计数器PC:4位计数器,每次运行前先复位至0000,取出一条指令后PC自动加1,指向下一条指令;2、 存储地址存放器MAR:接收来自PC的二进制数,作为地址码送入存储器;3、 可编程只读存储器PROM4、 指令存放器IR:从PROM接收指令字,同时将指令字分别送到控制器CON和总线上,模型机指令字长为8位,
2、高4位为操作码,低4位为地址码操作数地址;5、 控制器CON:1每次运行前CON先发出CLR=1,使有关部件清零,此时PC=0000,IR=0000 0000;2CON有一个同步时钟输出,发出脉冲信号CLK到各部件,使它们同步运行;3控制矩阵CM根据IR送来的指令发出12位控制字,CON=CPEPLMER LIEILAEA SUEULBIO;6、 累加器A:能从总线接收数据,也能向总线送数据,其数据输出端能将数据送至ALU进展算数运算双态,不受E门控制;7、 算数逻辑部件ALU:当SU=0时,A+B,当SU=1时,A-B;8、 存放器B:将要与A相加或相减的数据暂存于此存放器,它到ALU的输出
3、也是双态的;9、 输出存放器O:装入累加器A的结果;10、 二进制显示器D。中央处理器CPU:PC、IR、CON、ALU、A、B;存储器:MAR、PROM;输入/输出系统:O、D。执行指令过程:指令周期机器周期包括取指周期和执行周期,两者均为3个机器节拍模型机,其中,取指周期的3个机器节拍分别为送地址节拍、读存储节拍和增量节拍。控制器:环形计数器RC、指令译码器ID、控制矩阵CM、其他控制电路。微型计算机硬件根本构造:算术逻辑单元ALU、控制器、存储器、输入/输出设备。微型机工作原理:存储程序,按地址顺序执行。第二章微处理器根本构造和功能:1、部存放器阵列通用存放器和专用存放器;2、算数逻辑运
4、算单元;3、控制器指令存放器、指令译码器和各种定时与控制信号产生电路;4、现代微处理器中还集成了浮点运算部件及高速缓冲存放器cache。 8086/8088微处理器构造: 8086/8088CPU总线接口单元BIU完成取指令和存取数据执行单元EU负责分析指令和执行指令段存放器CS、SS、DS、ES指令指针存放器IP地址加法器指令队列内部控制逻辑输入/输出控制电路算术逻辑单元ALU存放器组标志存放器FR暂存器执行部件EU的组成:1、ALU算术逻辑单元;2、存放器组:1通用存放器:4个16位通用存放器A*、B*、C*、D*或8个8位存放器AL、AH、BL、BH、CL、CH、DL、DH,其中A*为累
5、加器,B*为基址存放器,C*为计数存放器,D*为数据存放器;2专用存放器:两个16位指针存放器SP和BP,两个16位变址存放器SI和DI,其中,SP是堆栈指针存放器,由它和堆栈段存放器SS一起来确定堆栈在存中的位置,BP是基址指针存放器,通常用于存放基地址,SI是原变址存放器,DI是目的变址存放器,都用于指令变址寻址方式;A*B*C*D*AHALBH通用存放器BLCHCLDHDLSP专用存放器BPSIDI3标志存放器FR:为16位存放器,其中7位未使用,使用的9个标志位可分为两类:状态标志CF、PF、AF、ZF、SF、OF,控制标志TF、IF、DF,15-1211109876543210OFD
6、FIFTFSFZFAFPFCFCF进位标志位:做加法最高位有进位或减法最高位有借位时为1,反之为0;PF奇偶标志位:运行结果低8位中1的个数为偶数时为1,反之为0;AF半进位标志位:低四位有向高四位的进位或借位时为1,反之为0;ZF零标志位:运算结果为0时置1;SF符号标志位:与运算结果最高位一样;OF溢出标志位:字节运算结果围超过-128+127或者字运算结果围超出-32768+32767时置1,溢出判断:同符号数相加,结果的符号位与之不同符号位发生变化;TF陷阱标志位:置1时8086/8088进入单步工作方式,通常用于程序调试;IF中断允许标志位:置1时处理器响应可屏蔽中断;DF方向标志位
7、:置1时串操作指令的地址修改为自动减量方向。总线接口部件BIU的组成:1、段存放器:4个16位段存放器DS数据段存放器、CS代码段存放器、ES附加段存放器、SS堆栈段存放器;2、16位指令存放器IP:CPU每取一个指令字节,IP自动加1,IP总是指向下一条要取出的指令代码的首地址;3、20位地址加法器;4、6字节8088为4字节指令队列缓冲器。BIU与EU的动作协调原则:BIU和EU是并行工作的,按流水线技术原则管理1、当8086指令队列中有两个空字节8088中一个时,BIU自动把指令取到队列中;2、EU从指令队列取指,执行,执行过程中如要存储器或I/O,而此时BIU正在取指,完成取指后响应E
8、U的总线请求;3、指令队列已满,EU又没有总线,BIU进入空闲状态;4、执行转移、调用和返回指令时,指令队列中的原有容自动消除,BIU往指令队列中装入另一程序段中的指令。存储器组织:1、物理地址:物理地址=段地址×16+偏移量任何一个存储单元的20位实际地址称为物理地址,又称绝对地址,同一物理地址可以有不同的段地址和偏移量。2、逻辑地址:段地址:偏移地址程序中出现的地址,由段地址和段偏移量组成,段地址和段偏移量都是16位二进制数。3、一般程序存放在代码段中,段地址来源于代码段存放器CS,偏移地址来源于指令指针存放器IP;当涉及一个堆栈操作时,段地址在堆栈段存放器SS中,偏移地址来源于
9、栈指针存放器SP;当涉及一个操作数时,则数据段存放器DS或附加段存放器ES作为段存放器,而偏移地址由16位的偏移量得到,16位的偏移量取决于指令的寻址方式。4、采用段存放器的优点:1、解决了16位存放器如何大于64KB存空间的问题;2、可以实现程序的重定位。总线:总线是传送信息的公共导线,一般由地址总线、数据总线和控制总线组成;1、地址总线AB,一般是单向总线,传送CPU发出的地址信息;2、数据总线DB,是双向总线,可以从CPU传送数据信息到外设和主存,也可以从主存和外设向CPU传送数据;3、控制总线CB,其中每根线上的方向是一定的,它们分别传送控制信息、时序信息和状态信息。8086/8088
10、微处理器的工作模式:1、最小工作模式MN/M*=VCC:单CPU系统系统中只有一个8086/8088微处理器,所有的总线控制信号都直接由8088/8086产生。2、最大工作模式MN/M*=GND多CPU系统:8086/8088要通过总线控制器8288来形成各种总线周期,控制信号由8288供给。指令周期、总线周期、时钟周期:1、指令周期:执行一条指令所需要的时间,执行每一条指令的时间不同;2、总线周期:一次总线的时间,CPU从存储器或I/O端口存取一次所需要的时间,一个根本的总线周期由4个T状态T1、T2、T3、T4组成,根本总线周期包括存储器的读或写,输入/输出的读或写,中断响应,假设存储器或
11、外设速度较慢,不能及时送上数据T3状态数据没准备好,则通过READY线通知CPU,CPU在T3前沿检测READY,假设READY=0,则在T3完毕后自动插入1个或几个TW,并在每个TW的前沿处检测READY,等到RAEDY变高后,自动脱离TW进入T4;3、时钟周期:T状态,是微机系统工作的最小时间单位,取决于系统的主频率,系统完成任何操作所需要的时间均是时钟周期的整数倍。8086/8088引脚信号和功能:8086/8088都有16位数据线,20位地址线,直接寻址能力为1MB,引脚数为40,其中32个引脚在两种工作模式下的名称和功能是一样的,还有8个引脚在不同的工作模式下,具有不同的名称和功能。
12、双功能引脚的功能转换,一是通过分时复用,即同一引脚在总线的不同时钟周期其功能不同;二是根据工作模式定义引脚的功能。两种模式下,名称和功能一样的32个引脚:1、VCC、GND:单一+5V电源,两个地;2、AD15AD0:地址/数据复用总线,双向,三态8088中A15A8不复用,输出,三态;3、A19/S6A16/S3:地址/状态线复用,输出,三态;4、NMI:非屏蔽中断,输入,高电平有效, INTR:可屏蔽中断,输入,高电平有效;5、RD:读信号,输出,三态,低电平有效;6、CLK:时钟信号,输入;7、RESET:复位信号,输入至少保持4个时钟周期的高电平,复位信号输入后,CPU立即停顿操作,清
13、FR、DS、ES、SS、IP及指令队列,同时置CS为0FFFFH,当RESET变为低电平时,CPU从FFFF0单元开场启动;8、READY:“准备好信号,输入;9、TEST:测试信号,输入,低电平有效;10、MN/M*:最小/最大模式控制引脚,输入,MN/M*=VCC时为最小工作方式单CPU,MN/M*=GND时为最大工作方式多CPU;11、BHE/S7:高8位数据线允许/状态信息复用引脚,输出。最小工作模式的2431引脚括号中是最大工作模式下的引脚功能:1、INTAQS1:中断响应,输出,三态,低电平有效,该信号为两个连续负脉冲;2、ALEQS0:地址锁存允许信号,输出,三态,高电平有效;3
14、、DENS0:数据允许信号,输出,三态,低电平有效;4、DT/RS1:数据发送/接收控制,输出,三态;5、M/IOS2:存储器/IO控制,输出,三态8088中为M/IO;6、WRLOCK:写信号,输出,三态,低电平有效;7、HOLDRQ/GT0:请求占用总线信号,输入,高电平有效总线保持请求信号;8、HLDARQ/GT1:同意让出总线信号,输出,高电平有效总线保持响应信号。最大工作模式的2431引脚:1、QS1和QS2,指令队列状态信号,输出2、S2、S1、S0:总线周期状态信号,输出,三态;3、LOCK:总线封锁信号,输出,三态,低电平有效;4、RQ/GT1、RQ/GT0:双向总线请求/允许
15、信号,双向。总线空操作:CPU与存储器或I/O端口之间没有数据传送,总线空操作并不意味着CPU不工作,只是总线接口部件BIU不工作,总线执行部件EU仍在工作,实质上,总线空操作期间是BIU对EU的一种等待。地址线为什么需要锁存:由于8086系统的地址的低16位与数据引脚公用,地址信号与数据信号是分时复用这些引脚的。这样先送出的地址信号可能被后送出的数据信号所代替,因此要有一个地址锁存器来保存先送出来的地址信息。锁存器主要用来锁存地址的低16位。第三章机器指令:1、操作码表示该指令所要完成的操作二进制代码;2、地址码操作数或操作数的地址。8086/8088汇编语言指令:标号 指令助记符 操作数表
16、 ;注释指令的寻址方式:1、顺序寻址方式;2、跳转寻址方式。8086/8088操作数的寻址方式:1、立即数寻址:MOV AL,80H MOV A*,1090H操作数就包含在指令当中,紧跟在操作码之后;立即数为常量,常量可以是二进制数、十进制数、十六进制数以AF开头则要加0、字符串用单或双引号括起的字符,表示对应的ASCII码值,如A=41H,还可以是标识符表示的符号常量、数值表达式等;立即数可以是8位、16位;立即数只能是整数,不能是小数、变量或其它类型数据;立即数只能作原操作数。2、存放器寻址:INC C* ROL AH,1MOV A*,B* MOV A*,1090H存放器寻址方式的操作数存
17、放在CPU部的存放器中,它可以是8位存放器AH/AL/BH/BL/CH/CL/DH/DL,也可以是16位存放器A*/B*/C*/D*/SI/DI/BP/SP,另外,操作数还可以存放在4个段存放器CS/DS/SS/ES中;因为操作数存放在CPU部,取操作数时不需要存储器,因而执行速度较快;在一条指令中,可以对源操作数采用存放器寻址,也可以对目标操作数采用存放器寻址,还可以两者都采用存放器寻址方式;在双操作数指令中,操作数之一必须是存放器寻址,汇编语言在表达存放器寻址时使用存放器名。其实质就是指它存放的容操作数。3、存储器寻址:操作数存放在主存储器中,指令中给出的是有关操作数所在存储器单元的地址信
18、息。1直接寻址:MOV A*,DS:2000H; 等价于MOV A*,2000HMOV ES,ES:3000H; 物理地址=(ES)×16+3000H操作数地址的16位偏移量有效地址直接包含在指令中,它与操作码一起存放在代码段区域,操作数一般存放在数据段区域,系统默认DS为数据段存放器;8086/8088中允许段超越,还允许操作数放在代码段、堆栈段或附加段中,此时要在指令中,指明段超越,格式为段存放器:偏移地址与立即数寻址不同的是,直接寻址的地址要放在方括号。2存放器间接寻址:操作数在存储器中,但是操作数的有效地址包含在SI、DI、BP、B*四个存放器中,如没有特殊说明,用存放器SI
19、、DI和B*间接寻址时,对应的段存放器是DS,如:MOV A*,SI假设SI=2000H,原操作数物理地址=DS×16+SI=32000H;如果用存放器BP间接寻址时,对应的段存放器是SS,如:MOV A*,BP原操作数物理地址=SS×16+BP;存放器间接寻址指令中也可以使用段超越,如:MOV A*,DS:BP原操作数物理地址=DS×16+BP;3存放器相对寻址:操作数在存储器中,由指定的存放器容,加上指令中给出的8位或16位偏移量作为操作数的有效地址,即带位移量的存放器间接寻址;可以作为存放器相对寻址的四个存放器是SI、DI、B*、BP同存放器间接寻址,假设用
20、SI、DI和B*作存放器相对寻址,则操作数默认在数据段,如:MOV A*,SI+4000H原操作数物理地址=(DS)×16+(SI)+4000H;指令中可以使用段超越,假设用BP作为存放器相对寻址,则SS为默认的段存放器地,如:MOV A*,COUNTBP原操作数物理地址=(SS)×16+(BP)+COUNT。4基址加变址寻址:把B*和BP看作基址存放器,把SI、DI看作变址存放器,把一个基址存放器B*或BP的容加上一个变址存放器SI或DI的容,作为操作数的有效地址,即为基址加变址寻址方式,如:MOV A*,B*+SI原操作数物理地址=(DS)×16+(B*)+S
21、I;当基址存放器为BP时,默认的段地址存放器为SS,如:MOV A*,BPSI5相对基址变址寻址:基址加变址寻址加上一个相对位移量,如:MOV A*,MASKB*SIMOV BH,4DIBPMOV BH,BP+DI+4常用语法规则:立即数不能作目的操作数;代码段存放器CS不能作目的操作数;两个操作数不能同时是存储器寻址;堆栈操作都是十六位的操作;两个操作数的类型必须匹配;8086/8088存放器间接寻址地址是B*、BP、SI、DI之一;数据传送类指令:1、通用数据传送指令:MOV OPRD1,OPRD2功能:把一个字节或一个字从源操作数PORD2送至目的操作数OPRD1,源操作数不改变;本卷须
22、知:1原和目的操作数的类型要一致,即同时为字节或同时为字;2不允许对IP进展操作,CS不能作为目的操作数;3两个操作数中,除立即寻址外必须有一个为存放器寻址,即两个存储器操作数之间不允许直接进展信息传送;4两个段存放器之间不能直接传递信息,也不允许用立即数寻址方式为段存放器负初值;4目的操作数不能用立即寻址方式;MOV可以实现的传送: 立即数 存放器 立即数 存储单元 存放器 存放器 存放器 存储器 存放器 段存放器 存储器 段存放器2、交换传送指令:*CHG OPRD1,OPRD2功能:操作数OPRD1的容与操作数OPRD2的容交换;OPRD1和OPRD2可以是通用存放器和存储单元两个操作数
23、不能同时为存储单元,可以采用除立即数寻址外的各种寻址方式,但段存放器和立即数不能作为交换指令的一个操作数。3、堆栈操作指令后进先出1入栈指令:PUSH OPRD功能:SP-2SP,将原操作数OPRD的16位数据压入堆栈;步骤:SP-2SP;操作数低8位送至SP所指向的堆栈单元;操作数高8位送至SP+1所指向的堆栈单元;本卷须知:OPRD可以是CPU部的16位通用存放器、段存放器CS除外和存操作数所有寻址方式,入栈操作对象必须是16位数。2出栈指令:POP OPRD功能:从堆栈中弹出16位数据到目的操作数OPRD ,SP+2SP;步骤:SP所指向的堆栈单元的容送至操作数低8位;SP+1所指向的堆
24、栈单元的容送至目的操作数高8位;SP+2SP。4、有效地址传送指令:LEA REG,OPRD功能:把操作数的有效地址传送到操作数REG存放器REG为16位通用存放器;LEA与MOV的区别是为:LEA传送原操作数的有效地址,MOV传送原操作数的容。5、换码指令:*LAT功能:完成一个字节的查表转换;表的容预先已经存在,表的首地址存放于B*存放器,AL存放相对于表首地址的位移量,该指令执行后B*+AL单元的容送至AL。6、标志存放器传送指令1读取标致指令:LAHF功能:将标志存放器中的低8位包括SF、ZF、AF、PF、CF传送至AH存放器的指定位,空位没有定义。2设置标志指令:SAHF功能:将存放
25、器AH的容送至标志存放器FR的低8位,根据AH的容,影响标志位SF、ZF、AF、PF和CF,对OF、DF、IF无影响。3标志存放器入栈指令:PUSHF功能:堆栈指针SP-2SP,将标志存放器压入堆栈顶部SP指向的单元,不影响标志位。4标志存放器出栈指令:POPF功能:将堆栈顶部SP指向单元的一个字,传送到标志存放器,堆栈SP+2SP。7、输入/输出数据传送指令:1输入指令:IN 累加器,端口地址功能:从一个端口读取一个字节或一个字,传送到AL或A*;本卷须知:端口地址可以直接给出或由D*存放器间接给出;外部设备最多可有65536个I/O端口0000FFFFH,只有前256个端口可在指令中直接给
26、出00FFH,假设端口地址超过255时,则必须用D*保存端口地址。2输出指令:OUT 端口地址,累加器功能:将AL中的一个字节或A*中的一个字输出到指定端口;传送类指令不影响标志位;与I/O端口打交道的存放器有累加器A*,存放器D*,A*存放与外部设备交换的数据,D*存放端口地址。算数运算类指令:1、加法指令1加法指令:ADD OPRD1,OPRD2功能:OPRD1OPRD1+OPRD2,完成两个操作数相加,结果送至目的操作数OPRD1,原操作数不变;指令的运行结果对标志位CF、OF、PF、SF和AF产生影响。2带进位加法指令:ADC OPRD1,OPRD2功能:OPRD1OPRD1+OPRD
27、2+CF,ADC指令主要用于多字节运算中。3增量指令:INC OPRD功能:操作数OPRD的容加1,结果送回OPRD;此指令主要用于在循环程序中修改地址指针和循环次数等,该指令执行的结果影响标志位AF、OF、PF、SF和ZF,不影响进位标志CF。2、减法指令1减法指令:SUB OPRD1,OPRD2功能:OPRD1OPRD1-OPRD2,目的操作数减去原操作数,结果送到目的操作数,原操作数不变,本指令对标志位AF、CF、OF、PF、SF和ZF都有影响。2带借位的减法指令:SBB OPRD1,OPRD2功能:OPRD1OPRD1-OPRD2-CF,目的操作数减去原操作数,同时还要减去借位进位标志
28、CF的现行值,结果送到目的操作数,原操作数不变,本指令对标志位AF、CF、OF、PF、SF和ZF都有影响。3减量指令:DEC OPRD功能:操作数OPRD的容减1,并把结果送回OPRD,执行结果不影响CF,但影响其它五个状态标志。4取补指令:NEG OPRD功能:对操作数取补码,将结果送回操作数OPRD中,实际上是用0减去操作数,执行结果影响标志位AF、CF、OF、PF、SF和ZF,一般总是使标志位CF=1,除非在操作数为0时,才使CF=0。5比较指令:CMP OPRD1,OPRD2功能:操作数OPRD1减去OPRD2,运算结果不送到OPRD1,不影响两个操作数,但影响状态标志。3、乘法和除法
29、指令1无符号数乘法指令MUL和带符号数乘法指令IMUL:MUL OPRD IMUL OPRD功能:如果OPRD是字节操作数,则AL的容与OPRD相乘的16位结果送到A*中;如果OPRD是字操作数,则A*的容与OPRD相乘32位的结果送到D*和A*中,D*中是高16位,A*中是低16位。本卷须知:如果乘积结果的高半局部字节相乘时为AH,字相乘时为D*不等于零,则标志CF=1,OF=1;否则CF=0,OF=0,对其它标志该指令无定义,所以,如果CF=0,OF=0,表示AH或D*中的结果数无效。2无符号数除法指令DIV和带符号数除法指令IDIV:DIV OPRD IDIV OPED功能:如果OPRD
30、是字节操作数,则A*的容除以OPRD8位的商送到AL中,8位余数送到AH中;如果OPRD是字操作数,则D*中高16位和A*中低16位的容除以OPRD,16位的商送到A*中,16位的余数送到D*中。本卷须知:除法指令对标志位的影响无定义;如果除数为0,或者8位数除时商超过8位,或者16位除时商超过16位,则认为是溢出,引起0号中断。3符号扩展指令字节扩展指令CBW:存放器AL中的符号扩展到存放器AH。假设AL的最高有效位为0,则AH=0,否则AH=0FFH;字扩展指令CWD:存放器A*中的符号扩展到存放器D*。假设A*的最高有效位为0,则D*=0,否则D*=0FFFFH。逻辑运算与移位指令:1、
31、逻辑运算指令1逻辑“与指令:AND OPRD1,OPRD2功能:两个操作数进展按位的逻辑“与运算,结果送到目的操作数OPRD1,CF=0,OF=0,结果影响ZF、SF、PF;对自身的“与操作作用是清标志位CF和OF,自身容不变。2逻辑“或指令:OR OPRD1,OPRD2功能:两个操作数进展按位的逻辑“或运算,结果送到目的操作数OPRD1,CF=0,OF=0,结果影响ZF、SF、PF。3逻辑“非指令:NOT OPRD功能:把操作数OPRD按位取反,结果送回OPRD,对标志位没有影响。4逻辑“异或指令:*OR OPRD1,OPRD2功能:两个操作数进展按位的逻辑“异或运算,结果送到目的操作数OP
32、RD1,CF=0,OF=0,结果影响ZF、SF、PF。5逻辑测试指令:TEST OPRD1,OPRD2功能:两个操作数进展按位的逻辑“与运算,结果不送到目的操作数OPRD1,仅仅影响标志位,通常用于检测*位是否为1,但又不改变原来值的场合。2、移位指令1算数/逻辑移位指令:SAL OPRD,T ;算数左移SHL OPRD,T ;逻辑左移SAR OPRD,T ;算数右移SHR OPRD,T ;逻辑右移T为移位位数,可以是1或存放器CL,当需要移多位时,移位位数需存放在CL存放器中。算数/逻辑左移2循环移位指令:ROL OPRD,T ;循环左移ROR OPRD,T ;循环右移RCL OPRD,T
33、;带进位循环左移RCR OPRD,T ;带进位循环右移T为移位位数,可以是1或存放器CL,当需要移多位时,移位位数需存放在CL存放器中。控制转移类指令:1、无条件转移指令:JMP OPRD2、调用和返回指令:CALL DSTRET3、条件转移指令:1标志位转移指令;JC进位位为1JNC进位位为0JO溢出JNO不溢出JNP/JPO奇偶位为0奇JP/JPE奇偶位为1偶JNS符号位为0非负JS符号位为1负JE/JZ结果为0JNE/JNZ结果不为02无符号数比较转移指令;JA/JNBE大于/不小于等于JAE/JNB大于等于/不小于/JNAE小于/不大于等于E/JNA小于等于/不大于3有符号数比较转移指
34、令;4测试转移指令;本卷须知:条件转移不影响标志位;条件转移指令的目的地址必须在线性的代码段CS,并且以当前指针存放器IP容为基准,其位移必须在-128+127的围。4、循环控制指令:LOOP OPRD功能:存放器C*的值减1,如果结果不等于0,则循环置OPRD,否则顺序执行。第四章表达式:1、算术运算符、逻辑运算符和关系运算符1算术运算符+、-、*、/、MOD、SHL、SHR;2逻辑运算符AND、OR、NOT、*OR按位运算;3关系运算符EQ等于、NE不等于、LT小于、LE小于等于、GT大于、GE大于等于关系运算结果总是一个数值,假设关系式不成立,则结果为0,假设关系成立,则结果为0FFFF
35、H。2、分析运算符1SEG 变量或标号计算段地址;2OFFSET 变量或标号计算偏移地址;3TYPE 变量或标号计算符号类型。3、组合运算符属性操作符1定义符号名为新类型PTR <类型> PTR <符号名> 用于指定或零时改变变量或标号的类型;2指定新类型THIS THIS <类型> 为*个符号名建立新类型,如BYTE字节、WORD字、DWORD双字。伪指令:1、数据定义变量定义变量名 助记符 <初值表>功能:根据定义类型不同,为变量分配存储单元,并且把其后的初值表中的各项值存入连续的指定存储单元中,或者置分配单元而不存入确定的值。初值表中的各项
36、可以是数值、字符串、标号名或变量名,表达式。DB:定义字节,即初值表中的每个数据占1个字节单元;DW:定义字,即初值表中的每个数据占1个字单元2个字节,且低字节存放在低地址单元,高字节存放在高地址单元;DD:定义双字,即初值表中每个数据占两个字单元4个字节,且低字节存放在低地址单元,高字节存放在高地址单元;DQ:定义4字长,即每个数据项占8个字节;DT:定义10个字节长。当一个定义的存储区的每个单元要防止同样的数据时,可用DUP重复操作符COUNT DUP?COUNT为重复次数,“中为要重复的数据,.表示空出一个单元,没有存放初值,DUP可以嵌套使用。2、符号常量定义伪指令1等价语句 <
37、常量名> EQU <表达式>功能:将表达式的值赋给符号常量,表达式可以是常数、数值表达式、字符串、存储器符号等;2等号语句 <符号常量名> = <表达式>功能:将表达式的数值赋给符号常量,表达式为数值表达式。注意:等价语句的符号常量名不能被重新赋值,等号语句可以重新赋值。3、段定义伪指令SEGMENT和ENDS<段名> SEGMENT 定位类型组合类型类别段体 <段名> ENDS注意:开场的段名与完毕的段名必须一样,段的长度不能超过64KB,SEGMENT后面的参数是可选的,但段名是不可默认的。4、设定段存放器伪指令ASSUME
38、ASSUME 段存放器:段名,段存放器:段名功能:告诉汇编程序在汇编时,段存放器CS、DS、SS、ES应具有的符号段基址,但是段存放器的实际值CS除外还要由传送指令在执行程序时赋值。5、ORG伪指令 ORG <表达式>功能:规定了在*一段,程序或代码存放的起始偏移地址。6、汇编完毕伪指令END END 表达式功能:告诉汇编程序源文件完毕,并给出执行程序的入口地址,表达式为程序的启动地址。7、过程定义伪指令PROC和ENDP <过程名> PROC 过程类型 RET <过程名> ENDP过程类型:段间为FAR,段为NEAR。汇编语言程序的根本框架:STACK S
39、EGMENT STACK ;定义堆栈段 STACK ENDSDATA SEGMENT ;定义数据段 DATA ENDSCODE SEGMENT ;定义代码段 ASSUME CS:CODE,DS:DATA,SS:STACKSTART MOV A*,DATA MOV DS,A* ;数据段段地址送DS MOV AH,4CH ;程序完毕返回DOS INT 21HCODE ENDS ;代码段完毕 END START系统功能调用:1、调用方法:1准备入口参数;2功能调用号送AH存放器;3软中断指令INT 21H。2、常用系统功能调用1从键盘接收一个字符01H功能MOV AH,1INT 21H功能:从键盘读
40、一个字符,并将该字符回显在显示器上;入口参数:无;出口参数:AL=读到字符的ASCII码;如果读到的字符是Ctrl+c或Ctrl+Break则完毕程序。2从键盘接收一串字符0AH号功能MOV D*,OFFSET BUFMOV AH,0AHINT 21H入口参数:DS:D*=缓冲区首址,缓冲区的第一个字节放缓冲区最大容量数;出口参数:接收到的字符串在缓冲区中第三个字节开场;注意: 缓冲区第二个字节存放实际读入的字符数; 字符串以回车完毕; 如果输入字符串超过了缓冲的区容量, 超出的局部丧失,同时响铃; 如果在输入时按Ctrl+C或Ctrl+Break,则完毕程序。3显示一个字符02H功能 MOV
41、 DL,A MOV AH,02H INT 21H功能:存放器DL中的字符从屏幕上显示输出;入口参数:DL=要输出字符的ASCII码;出口参数:无。4显示一串字符09H功能BUF DB good bye $ MOV D*,OFFSET BUF MOV AH,09H INT 21H功能:将指定缓冲区中的字符串从屏幕上显示输出;入口参数:DS:D*=要输出字符的首址,字符串以字符,为完毕标志;出口参数:无。5返回操作系统4CH号功能 MOV AH,4CH INT 21H功能:完毕当前正在执行的程序,并返回操作系统,回到DOS提示符下C:>;入口参数:无;出口参数:无。汇编文件类型:编辑程序输出
42、的文件为.asm;汇编程序输出的文件有.obj、.lst;连接程序输出的文件为.e*e。第五章存储器容量的扩展方法:1、位扩展位扩展只是在位数方向扩展加大字长,而芯片的字数和存储器的字数是一致的,位扩展的连接方式是将各存储芯片的地址线、片选线和读/写线相应地并联起来,而将各芯片的数据线单独列出,例如用64K×1bit的DRAM芯片组成64K×8bit的存储器。2、字扩展 字扩展是指仅在字数方向扩展,而位数不变,字扩展将芯片的地址线、数据线、读/写线并联,由片选信号来区分各个芯片,例如用16K×8bit的SRAM芯片组成64K×8bit的存储器。地址译码的
43、方法:1、线选法 高位地址线直接或经反相器接至各个存储芯片的片选端,当*条地址线信息为“0时,就选中与之对应的存储芯片,这些片选地址线每次寻址只能有一位有效,保证每次只选中一个或组芯片。2、全译码法 用除了片寻址外的全部高位地址线作为地址译码器的输入,把经过译码器译码后的输出作为各芯片的片选信号,将它们分别接到存储芯片的片选端,以实现对存储芯片的选择。3、局部译码 用除了片寻址外的高位地址的一局部来译码产生片选信号,在系统中如果不要求提供CPU可直接寻址的全部存储单元,则可采用线选法和全译码法相结合的方法,这就是局部译码法。第六章接口的作用:接口的作用总的来说就是要能够根据CPU的要求对外设进展管理与控制,实现信号逻辑及工作时序的转换,保证CPU与外设之间能可靠而有效地进展信息交换。具体地说,接口应该具备以下功能:1、数据缓冲及转换功能 2、设备选择和寻址功能 3、联络功能 4、接收、解释并执行CPU命令的功能 5、中断管理功能 6、可编程功能 7、错误检测功能第八章中断的概念及应用:1、中断向量:中断效劳程序的第一个可执行语句所在单元的地址称为中断向量,即中断效劳程序的入口地址开场地址。2、中断向量表:将中断向量按中断类型号的顺序固定存放在存的特定区域,这就是中断向量表,该表含有256个中断效劳程序入口地址,占据存储器低地址区的1KB空间,从0000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年小学三年级数学计算能力专项练习
- 2025股权投资顾问合同范本模板
- 工程应用里拟合算法性能对比
- 2025年商场总经理年终总结及明年计划
- 2025标准个人住宅买卖合同范本
- 2025年下半年吉林省高速公路集团限公司第十三期公开招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年台州市路桥区事业单位招考工作人员(下半年)易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年厦门翔安区青少年宫职业见习生招考易考易错模拟试题(共500题)试卷后附参考答案
- 2025签订房屋买卖合同应注意的事项
- 2025年下半年北京市公共卫生热线(12320)服务中心招考人员易考易错模拟试题(共500题)试卷后附参考答案
- 学前教育机构社区教案
- 2025河南航空港投资集团校园招聘笔试考试参考题库及答案解析
- 2025至2030中国水运行业发展趋势分析与未来投资战略咨询研究报告
- 2025贵州毕节市中医医院招聘暨人才引进编外聘用专业技术人员78人考试笔试备考试题及答案解析
- 2025税务师考试《税法一》冲关速记
- 直播电商职业知识培训课件
- 药学专业个人简历模板
- 全国大学生数学建模竞赛2025年本科组赛题分析试卷
- 轮状病毒疫苗研发进展与接种应用指南
- 生物安全培训海报模板课件
- 云南省国省干线公路养护管理模式优化:基于公路局视角的深度剖析与创新路径
评论
0/150
提交评论