收藏 分享(赏)

南京邮电大学 微型计算机原理与接口技术 3_01章.ppt

上传人:dzzj200808 文档编号:3319004 上传时间:2018-10-12 格式:PPT 页数:41 大小:552KB
下载 相关 举报
南京邮电大学  微型计算机原理与接口技术 3_01章.ppt_第1页
第1页 / 共41页
南京邮电大学  微型计算机原理与接口技术 3_01章.ppt_第2页
第2页 / 共41页
南京邮电大学  微型计算机原理与接口技术 3_01章.ppt_第3页
第3页 / 共41页
南京邮电大学  微型计算机原理与接口技术 3_01章.ppt_第4页
第4页 / 共41页
南京邮电大学  微型计算机原理与接口技术 3_01章.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、汇编语言程序设计 Ch. 3 指令系统 3.4 80486的基本指令集(一) 3.4 80486的基本指令集(二) 3.4.1 传送类指令 3.4.2 算术运算类指令 3.4.3 转移和调用类指令 3.4.4 逻辑运算和移位指令 3.4.5 串操作指令 3.4.6 处理机控制指令 3.2 80486寻址方式,第3章 指令系统,3.4 80486基本指令集,80486指令系统可以分为7类,它们是:数据传输类、算术运算类、逻辑运算类、串操作类、控制传输类、处理器控制类和系统类。我们仅介绍前6类。,在学习指令系统时,我们应当注意的基本信息为:指令的功能;操作数据的来源;操作的结果及对标志寄存器的影响

2、;下一条指令的地址。,3.4.0 部分指令 (1)MOV 传送数据 句 法: MOV dest,src 操 作: dest src 标志影响: 无 合法格式:,说明:reg: 通用寄存器之一 idata:立即数sreg:段寄存器之一 mem:存储器操作数dest:目 src: 源,为了理解存储器变量的使用,请仔细阅读以下例题。,【例】阅读以下程序,写出指令执行后的目标操作数。,设数据段: BNUM DB 12H,34H,56H,78H,90HWNUM DW 1122H,3344H,5566HDNUM DD 13572468H,87654321HFNUM DF 112233445566H,代码段

3、: MOV AL,BNUM ;AL=?,AL=12H,数据段经过汇编之后,并在操作系统的安排之下:,设数据段: BNUM DB 12H,34H,56H,78H,90HWNUM DW 1122H,3344H,5566HDNUM DD 13572468H,87654321HFNUM DF 112233445566H,BX=3344H,数据段经过汇编之后,并在操作系统的安排之下:,EDX=87654321H,CL=68H,BX=5634H,EAX=66334411H,DH=90H,数据段经过汇编之后,并在操作系统的安排之下:,代码段: MOV BX,OFFSET BNUM MOV AL, BX ;A

4、L=?,设数据段: ORG 2400hBNUM DB 12H,34H,56H,78H,90HWNUM DW 1122H,3344H,5566HDNUM DD 13572468H,87654321HFNUM DF 112233445566H,AL=12H,BX=2400H,代码段: MOV EBX, DNUM 3 ;EBX=?MOV BX, WORD PTR DNUM 3 ;BX=? MOV EBX, DWORD PTR BNUM 0 ;EBX=? MOV BX, WORD PTR FNUM ;BX=?MOV BX, 3 MOV BL,BNUM BX ;BL=?,设数据段: BNUM DB 12

5、H,34H,56H,78H,90HWNUM DW 1122H,3344H,5566HDNUM DD 13572468H,87654321HFNUM DF 112233445566H,练习,(3) ADC 带进位加句 法:ADC dest src操 作:dest src + dest + C标 志:O,S,Z,A,P,C 合法格式: 同ADD,例:实现下列多字节数运算(以232为模),0,F,0,3,1,F,C,H,A,解1:单字节加法(共需12条指令),0AH,0FH,13H CFH,13H CFH,0AH 0FH, 66+99=1011011=91 6699=+01011011=+91,结果

6、都是错的,被运算器丢失,保存 在进位标志寄存器中,被运算器丢失,保存 在进位标志寄存器中,66+99补=0 10100101,-66-99补=1 01011011,-66补= 10111110 -99补= 10011101,例2以28为模,补码运算, 求66+99, 6699,解:66补= 0100001099补= 01100011,回忆,如果参与运算的数是无符号数,则判进位标志,进位标志=1,表示溢出;,如果参与运算的数是有符号数,则判溢出标志, 溢出标志=1,表示溢出。,程序员如何判断溢出,回忆,(4)条件转移,. 按标志位的当前状态转移设转移地址标号为XYZ,例 设计程序判断 X+Y 是

7、否溢出?若溢出则显示“OVER!”;若正常则显示“GOOD!”,解:若 X、Y为无符号数,则程序如下:MOV AL,XMOV BL,YADD AL,BLJC CCCC显示“GOOD!”,结束 CCCC:显示“OVER!”,结束,解:若 X、Y为有符号数,则程序如下:MOV AL,XMOV BL,YADD AL,BLJO CCCC显示“GOOD!”,结束 CCCC:显示“OVER!”,结束,3.4.1 数据传输类指令 1 通用类 (1)MOV 传送数据 句 法: MOV dest,src 操 作: dest src 标志影响: 无 合法格式:,说明:reg: 通用寄存器之一 idata:立即数s

8、reg:段寄存器之一 mem:存储器操作数dest:目 src: 源,dest srcMOV reg , idataMOV mem , idataMOV reg , regMOV reg , memMOV mem , regMOV sreg , regMOV sreg , memMOV reg , sregMOV mem , sreg,(2)MOVSX 符号扩展的传送 句 法:MOVSX dest ,src操 作:dest(16,32) sign extend(8,16)(src)标志影响:无合法格式:dest srcMOVSX reg , regMOVSX reg , mem,(3)MOVZ

9、X 带有零扩展的传送 句 法: MOVZX dest ,src操 作:dest 0_extend(src)标志影响:无合法格式:dest,src 同(2),(5)Lseg 调用段寄存器句 法:Lseg dest ,src操 作:dest (src)seg (src+4)标志影响:无合法格式:dest srcLDSLESLFS reg32 , memLGSLSS,(6)标志寄存器传送指令 LAHF 把标志装入AH 句 法:LAHF 操 作:AHEFAGSOFFH 标志影响:无 合法格式:LAHF, SAHF 把AH内容送到EFLAGS中 句 法:SAHF 操 作:EFLAGS(EFLAGS 0F

10、FFFFF00H) (AH)0D5H) 标 志:S,A,Z,P,C 合法格式:SAFH,(9)XLAT 字节转换 句 法:XLAT操 作:AL DS:EBX+AL标 志:无合法格式:XLAT,例:查找NUM单元中的数所对应的数码管字型码。,设D7D0位依次驱动ha段(共阴),则有:,解:编程时,按09、AF的次序,将相应的字型码设置在数据段中:,33,2.堆栈指令概念,22H,压栈过程,退栈过程,(3)PUSHF、POPF (16位标志寄存器栈操作)PUSHFD、POPFD (32位标志寄存器栈操作)POPF、POPFD 影响标志位,(2) POP 弹栈 句 法:POP dest操 作:dest SS:SPif sizeof(dest)=16then SP SP+2elseSP SP+4endif,合法格式:dest POP regMem,标 志:无, POPAD 句 法:POPAD POPA 操 作:POP EDI POP DIPOP ESI POP SIPOP EBP POP BPADD ESP,4 ADD SP,2POP EBX POP BXPOP EDX POP DXPOP ECX POP CXPOP EAX POP AX标 志:无 合法格式:POPAD,POPA,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报