汇编语言复习重点总结版

上传人:桔**** 文档编号:487984996 上传时间:2022-08-22 格式:DOCX 页数:12 大小:34.03KB
返回 下载 相关 举报
汇编语言复习重点总结版_第1页
第1页 / 共12页
汇编语言复习重点总结版_第2页
第2页 / 共12页
汇编语言复习重点总结版_第3页
第3页 / 共12页
汇编语言复习重点总结版_第4页
第4页 / 共12页
汇编语言复习重点总结版_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《汇编语言复习重点总结版》由会员分享,可在线阅读,更多相关《汇编语言复习重点总结版(12页珍藏版)》请在金锄头文库上搜索。

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位寄

2、存器(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)

3、%(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)

4、+3, (ESP)+2, (ESP)+1, (ESP)(SRC)说 明:.堆栈:计算机开辟的以“后进先出”方式工作的存储区。它必须存在于堆栈段中,只有一个出入口,所以只有一个堆栈指针SP或ESP。SP或ESP的内容在任何时候都指向当前的栈顶。.8086中的SRC不能为立即数寻址方式。286及其后继机型可用立即数寻址方式。.PUSH指令不影响标志位。(5). POPF/POPFD标志出栈指令指令格式:POPF ;(FLAGS)(SP)+1,(SP),(SP)(SP)+2POPFD;(EFLAGS)(ESP)+3, (ESP)+2, (ESP)+1, (ESP),(ESP)(ESP) -4说 明:

5、这组指令中LAHF、PUSHF/PUSHFD不影响标志位。但POPFD指令不影响VM,RF,IOPL,VIF和VIP的值。7. 移位指令(1). 移位指令1). SHL逻辑左移指令指令格式:SHL OPR,CNT;2). SAL算术左移指令指令格式:SAL OPR,CNT;同上3). SHR逻辑右移指令指令格式:SHR OPR,CNT ;4). SAR算术右移指令指令格式:SAR OPR,CNT;(2). 循环移位指令1). ROR循环右移指令指令格式:ROR OPR,CNT;2). RCR带进位位循环右移指令指令格式:RCR OPR,CNT;说 明:.OPR为除立即数以外的任意寻址方式。移位

6、次数由CNT决定,CNT=1只移位1次;若移位次数超过1次,在8086中则CNT必须用CL代替。而在其他机型中也可用8位立即数指定范围从131的移位次数。.CF位已在指令中给出其影响情况。OF位只有在CNT=1时有效,一次移位前后的最高有效位(符号位)发生变化则OF=1,否则OF=0。循环指令不影响其它条件。移位指令由结果影响SF、ZF、PF,而AF无定义。8. 循环指令(1). LOOP循环指令指令格式:LOOP OPR测试条件:(Count Reg)01). JZ (或JE)结果为零(或相等)则转移指令格式:JZ (或JE) OPR测试条件:ZF=1(2). TEST测试指令指令格式:TE

7、ST OPR1,OPR2 ;(OPR1)(OPR2)说 明:.DST、OPR、OPR1不允许使用立即数寻址方式。(3). CMP比较指令指令格式:CMP OPR1,OPR2;(OPR1) - (OPR2),运算后根据结果影响标志说 明:.以上指令除DEC不影响CF标志外,它们都影响条件标志位。.OF是有符号数的溢出,CF是无符号数的溢出。但CF可作为多位运算借位标志。1. WORD PTR:取字长地址值操作符。(4). INT中断调用指令指令格式:INT TYPE或INT;TYPE=3时,缺省执行操作:Push (FLAGS)IF0TF0AC0Push (CS)Push (IP)(IP)(TY

8、PE*4) (每个中断向量占4个字节)(CS)(TYPE*4+2)说 明:.其中TYPE为类型号,它可以是常数或常数表达式,其值需在0255范围内。.类型0的中断称为除数为0中断,由CPU自动产生,不能用中断指令调用。.类型1的中断称为单步中断,CPU进入单步中断的依据为(TF)=1。不能用中断指令来调用。单步中断由调试程序DEBUG使用。.类型2的中断称为非屏蔽中断,属硬件中断,紧急情况使用,不许用中断指令来调用。.类型3的中断称为断点中断。用在调试程序中。INT又称为断点中断指令,它是单字节指令。与其他INT TYPE不同,是双字节指令。.类型4的中断称为溢出中断。有专门的溢出中断调用指令

9、INTO。无INT 4指令。见下面。1.1.2 段定义伪操作1. 完整的段定义伪操作(1). SEGMENT/ENDS段定义伪操作:此对伪操作可以将汇编语言源程序分成几个段,通常为数据段、堆栈段、附加段和代码段。伪操作格式:segname SEGMENT align_typecombine_typeuse_type class(2). ASSUME段指定伪操作:告诉汇编程序,段和段寄存器的对应关系。伪操作格式:ASSUME 分配(assignment),assignment说 明:其中assignment说明分配情况,其格式为:段寄存器名(segment register name):段名字(

10、segment name),段寄存器名:段名字,ASSUME NOTHING则可取消前面由ASSUME所指定的段寄存器。2. 助记符(Mnemonic):说明所用伪操作的助记符名称同时也说明所定义的数据类型。通常为下面6种。(1). DB(Define Byte):定义字节伪操作,其后的每个操作数都占有一个字节(8位)。(2). DW(Define Word):定义字伪操作,其后的每个操作数都占有一个字(16位)。(3). DD(Define Double Word):定义双字伪操作,其后的每个操作数都占有一个双字(32位)。(4). 重复操作符DUP:用来指定某个(或某些)操作数重复的次数(

11、还可以嵌套)。形式为:repeat_count DUP (初值,初值);repeat_count为重复的次数(5) “?” 操作数:仅给变量保留相应的存储空间,而不赋给变量初值。3. EQU表达式赋值伪操作:用来对一个名字进行赋值。但不能对一个已赋值的名字重新赋值。伪操作格式:表达式名字 EQU 表达式;表达式可以为常数或者数据的地址说 明:PURGE语句:用来解除对某一个名字的赋值。以后此名字才可由EQU重新赋值。伪操作格式:PURGE 原名字;原名字,即前面已赋过值的名字4. = 表达式赋值伪操作:“=”(等号)伪操作的功能与EQU伪操作基本相同,主要区别在于它可以对同一个名字重新赋值。伪

12、操作格式:名字 = 表达式;表达式可以为常数或者数据的地址(1). INC加1指令指令格式:INC OPR;(OPR)(OPR)+1说 明:.以上指令除INC不影响CF标志外,它们都影响条件标志位。.OF是有符号数的溢出,CF是无符号数的溢出。但CF可作为多位运算的进位标志。(2). PTR属性操作符:指定操作数的类型属性为BYTE、WORD、DWORD、FWORD、QWORD或TBYTE类型。操作符格式:类型(Type) PTR 变量(Variable)常数表达式(Constant expression) SIZE:回送分配给变量的字节数,它是LENGTH与TYPE值的乘积。OFFSET:回

13、送变量或者标号的偏移地址值。物理地址的求法 5. 逻辑地址(1). 在实模式下逻辑地址即为段地址:偏移地址。物理地址 = 段地址10H + 偏移地址(2). 在保护模式下逻辑地址则由选择器和偏移地址两部分组成。选择器存放在段寄存器中,但它不能直接表示段基地址,而由操作系统通过一定的方法取得段基地址,再和偏移地址相加,从而求得所选存储单元的物理地址。1.1.3 存储单元的地址和内容:1. 字节:每8位二进制数组成一个字节(Byte)。在存储器里是以字节为单位存储信息。2. 字:16位二进制数(2个字节)组成一个字。分成低位字节和高位字节存储。3. 存储单元的地址:为了正确的存放或取得信息,每一个

14、字节单元给以一个唯一的存储器地址,称为物理地址。以字节为单位给存储单元按二进制从0开始顺序进行的编号。它是无符号的二进制整数,书写格式为十六进制数。(1). 选址能力:若干位(如x位)二进制数(相当于若干根地址线)所能选择的最大存储单元的地址数(2x)。(2). 1K=1024=210。所以16位二进制数的选址能力为216=64KB。用0FFFFH表示。IBM PC机(8086/8088 CPU)的选址能力为220=1MB。4. 存储单元的内容:该存储单元存放的信息。存储器的内容取之不尽。(1). 字节的存储:直接存入某存储单元。(2). 字的存储:一个字存入存储器要占用两个单元。存放时,低位字节存入低地址单元,高位字节存入高位地址单元。字单元的地址用它的低地址表示,应尽量为偶数地址。(3). 如果用X表示某存储单元的地址,则X单元的内容可以表示为(X);假如X单元中存放着Y,而Y又是一个地址,则可用(Y)=(X)来表示Y单元的内容。(4). 存储器的内容取之不尽。1.1.4 实模式存储器寻址实模式就是为8086/8088而设计的工作方式,实模式下允许的最大寻址空间为1MB。它要解决在16位字长的机器里怎么提供20位地址的问题,而

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号