微机原理及应用第4章(3).ppt

微机原理及应用第4章(3).ppt

ID:51593505

大小:505.00 KB

页数:52页

时间:2020-03-25

微机原理及应用第4章(3).ppt_第1页
微机原理及应用第4章(3).ppt_第2页
微机原理及应用第4章(3).ppt_第3页
微机原理及应用第4章(3).ppt_第4页
微机原理及应用第4章(3).ppt_第5页
资源描述:

《微机原理及应用第4章(3).ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Intel8086指令系统共有133条基本指令,可分成以下6类:①数据传送类指令②算术运算类指令③位操作类指令④串操作类指令⑤控制转移类指令⑥处理机控制类指令4.48086/8088指令系统14.4.1数据传送类指令最基本、最重要、最常用的一类操作。可实现下列数据传送功能存储器与寄存器寄存器与寄存器累加器与I/O端口立即数到寄存器或存储器存储器之间不能直接传递数据。2把数据从一个位置传送到另一个位置14条指令分5组通用数据传送:MOV/XCHG/XLAT堆栈操作:PUSH/POP标志寄存器传送:LAHF/SAHF/PUSHF/POPF地

2、址传送:LEA/LDS/LES输入输出:IN/OUT3本节要求数据传送是计算机中最基本、最重要的一种操作。传送类指令也是最常使用的一类指令。除标志寄存器传送指令外,均不影响标志位重点掌握:MOV/PUSH/POP特别熟悉:XCHG/XLAT/LEA一般了解:LAHF/SAHF/PUSHF/POPF/LDS/LES展开:IN/OUT4指令操作数符号说明16位立即数imm168位立即数imm8立即数,长度可以是8位或16位。imm16位存储器mem168位存储器mem8存储器,长度可以是8位或16位。mem16位通用寄存器reg168位通

3、用寄存器reg8段寄存器Sreg(Seg)通用寄存器,长度可以是8位或16位。reg在多操作数指令中,OPRD1为目标操作数,OPRD2源操作数OPRD1,OPRD2操作数OPRD意义符号51、传送指令MOV把一个字节、字或双字的操作数从源位置传送至目的位置立即数存储器通用寄存器段寄存器并非任意传送!(P83)一、通用数据传送指令双操作数必须类型一致操作数必须有明确的类型6常见错误指令MOVAL,050AHMOVSI,DLMOV[BX],12H;假设wbuf1和wbuf2是两个字变量MOVWBUF2,WBUF1MOVDS,ESMOVDS

4、,100H错在哪里?如何改正?No!72、堆栈操作“先进后出FILO”存取的存储区域,只有一个数据出入口,即当前栈顶(不断变化)两种基本操作数据压进堆栈PUSH数据弹出堆栈操作POPSS指向堆栈段的起始位置SP指定栈顶数据进入堆栈,SP逐渐减小数据依次弹出、SP逐渐增大Word1Word2Word3Word4Word5StackPUSHPOP8入栈指令PUSH先将SP减小作为当前栈顶然后将源操作数(立即数、通用寄存器和段寄存器内容或存储器操作数)传送到当前栈顶以字或双字为单位操作Word1StackPUSHSP-2pushaxpushe

5、bx9出栈指令POP先将栈顶数据传送到目的操作数(通用寄存器、存储单元或段寄存器)然后SP增加作为当前栈顶以字或双字为单位操作Word1StackPOPSP+2popaxpopebx10例:现场的保护和恢复PUSHAX;进入子程序后PUSHBXPUSHDS...POPDSPOPBXPOPAX;返回主程序前113.交换指令XCHG(exchange)MOVAX,1234HMOVBX,5678HXCHGAX,BXXCHGAH,AL例:xchgax,[2000h]xchgal,[2000h]xchgbx,[bp+14h]不能在存储单元之间直接

6、交换立即数或段寄存器不能作为操作数124.换码指令XLAT(translate)例:MOVBX,offsetTABLEMOVAL,3HXLAT……………TABLE:DB0DB1DB4DB9DB16DB25BX+3;(AL)=9执行过程:BX+AL;用DS为段基址,BX+AL为偏移量获得20位物理地址;把该单元的内容传送至AL。13例:设表首的偏移地址为2000H,要查找表内第4号单元(从0号算起)的内容并送回AL,则程序段如下:MOVBX,2000H MOVAL,04H XLAT18H34H05H06H09H2000HBX04HAL

7、(表首)TABLEDS1604AL09TABLE表格的首地址(一般为符号地址),在这里只是为了提高程序的可读性,并不参与汇编。14例:在内存的数据段中存放有一张数值0~9的ASCII码转换表,首地址为Hex_table。现要求:把数值8转换成对应的ASCII码。LEABX,Hex_table;(BX)←表首偏移地址MOVAL,8;(AL)←8XLAT;查表转换Hex_table+0Hex_table+1Hex_table+2Hex_table+8Hex_table+9‘0’‘1’‘2’‘8’‘9’30H31H32H38H39H查表后(

8、AL)=?38H15例:比较下面两指令的不同LEABX,BUFFERMOVBX,BUFFER存储单元内容如右图所示。若:DS=093AH,BUFFER物理地址093C3H则MOVBX,BUFFER;BX=?

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。