资源描述:
《西工大软件学院汇编复习资料》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、汇编复习资料使用说明:1•本资料绝大部分内容來自PPT,部分课本,部分网上。2.知识点只是列出了主要部分,细节需要仔细看课本,因此每一知识点后均标注出其在课本的页码。3.课本上老师讲过的例题以及课后所布置的作业是重点,尽量全都搞懂。4.资料中有些图看不清楚,可根据页码在课本中找到相对应的图。第一章1.基木概念P1机器语言…是用二进制编码的机器指令的集合及一组使用机器指令的规则。目标程序…用机器语言描述的程序称为目的程序或目标程序。汇编…把汇编语言源程序翻译成目标程序的过程称为汇编。2.汇编语言的特点Pl~2①汇编语言与机器关系密切;②汇编语言程序效率高;(吋间:运行
2、速度快,空间:目标程序短)③编写汇编语言源程序繁琐;④汇编语言程序调试困难,维护、交流和移植程序更困难。3.汇编语言的使用场合P2①对软件的执行时间或存储容量有较高要求的场合。例如:系统程序的关键核心,智能化仪器仪表的控制系统,实吋控制系统等。②需要提高大型软件性能的场合。通常把大型软件中执行频率高的子程序(过程)用汇编语言编写,然后把它们与其他程序一起连接。③软件与硬件关系密切,软件要有直接和有效控制硬件的场合。如设备驱动程序等。④没有合适的高级语言的场合。4.地址转换规则P6物理地址二段基地址X10H+偏移地址5.标志寄存器P5进位标志CF(CarryFlag)
3、:用于反映运算是否产生进位或借位。如果运算结果的最高位产生一个进位或借位,则CF置1,否则置0。奇偶标志PF(ParityFlag):用于反映运算结果低8位AL中“1”的个数。“1”的个数为偶数,则PF置1,否则置0。辅助进位标志AF(AuxiliaryCarryFlag):在字节操作时低半字节向高半字节进位或借位,字操作时低字节向高字节进位或借位,AF置1,否则置()。零标志ZF(ZeroFlag):用于判断结果是否为0。运算结果0,ZF置1,否则置0。符号标志SF(SignFlag):用于反映运算结果的符号,运算结果为负,SF置1,否则置0。溢出标志OF(Ove
4、rflowFlag):反映有符号数加减运算是否溢出。如果运算结果超过了8位或者16位有符号数的表示范围,则OF置1,否则置0。屮断标志IF(Interrupt-enableFlag):决定CPU是否响应外部可屏蔽中断请求。IF为1时,CPU允许响应外部的可屏蔽中断请求。方向标志DF(DirectionFlag):决定串操作指令执行吋有关指针寄存器调整方向。当DF为1时,串操作指令按递减方式改变有关存储器指针值,每次操作后使SI、DI递减。第一早一、寻址方式1.立即寻址P17操作数(乂称立即数)包含在指令中。低字节在前、高字节在后。1D24:OIOOB83412MOV
5、AX,1234H适用于对寄存器或存储器赋值。2.寄存器寻址P17操作数在寄存器中。MOVAX,BX3.存储器寻址P18~21操作数在存储器中,指令以某种方式给出操作数在存储器的地址。1)直接寻址指令直接包含操作数的有效地址。MOVAX,BUF2/MOVAX,[000DH]2)寄存器间接寻址地址寄存器BX,BP,SI,DI存放操作数的有效地址。MOVDI,OFFSETBUF2MOVBX,[Dll适用于表格的处理。3)寄存器相对寻址操作数的有效地址为基址或变址值加上偏移量MOVBL,BUF[DI]MOVAX,[BX十5]MOVAX,5[BX]适用于实现对结构或记录等数据
6、类型进行的操作。4)基址变址寻址操作数的有效地址为基址和变址Z和MOVAX,[BX+SI]MOVAX,[BP十DI]MOVAX,[BP][DI]适用于数组或表格存取5)相对基址变址寻址操作数的有效地址为基址、变址和位移量Z和。MOVAX,[BX十SI十1122H]MOVAX,1122H[BX十SI]MOVAX,1122H[BX][SI]基址:BX、BP变址:SI、DI其中,BP默认段地址为SS,BX、SI、DI默认为DS。二、指令系统(注意指令对标志位的影响)(1)数据传送指令P28〜32MOVDEST,SRC传送MOVSXDEST,SRC有符号数扩展传送MOVZX
7、DEST,SRC无符号数扩展传送XCHGOPR1,OPR2交换(不可直接对两个存储器操作数进行交换)PUSHSRC(PUSHAPUSHAD)压栈POPDEST(POPAPOPAD)出栈LEAREG,MEM収有效地址(相当于MOVREG,OFFSETMEM)LDS(ES,FS,GS,SS)REG,MEM取偏移地址中的内容XLAT查表(BX存放表的首地址,AL存放表内偏移量,取出表屮一个字节送AL屮)(2)算术运算指令P32〜38ADDDEST,SRC加法ADCDEST,SRC带进位加法SUBDEST,SRC减法SBBDEST,SRC带借位减法INCDEST加1DE