006-指令系统_1303

上传人:gp****x 文档编号:242875530 上传时间:2024-09-10 格式:PPT 页数:20 大小:151KB
返回 下载 相关 举报
006-指令系统_1303_第1页
第1页 / 共20页
006-指令系统_1303_第2页
第2页 / 共20页
006-指令系统_1303_第3页
第3页 / 共20页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,格式:,XCHG dest,src;(dest),(src),执行操作:,把一个字节或一个字的源操作数与目的操作数相交换。,可以实现: 寄存器之间,,,寄存器和存储器之间,注意:,存储器之间不能交换,两个操作数中必须有一个在寄存器;,段寄存器不能作为一个操作数;,允许字或字节操作,不影响标志位。,交换指令,(Exchange),1,XCHG BL, DL,XCHG AX, SI,XCHG COUNTDI, AX,XCHG BX, DI,XCHG DS, AX,应用实例,2,例一:,BL=88H, CL=17H, AX=2500H, DX=0100H,XCHG AX, DX,XCHG BL, CL,DX=?CL=?,例二:,BX= 6F30H, BP=0200H, SI=0046H, SS=2FOOH,(2F246H)=4154H,XCHG BX, BP+SI,BX=?(2F246H)=?,结果为:,AX=0100HDX=2500HCL=88H,BX=4154H(2F246H)=6F30H,应用实例,3,1,、,IN (Input byte or word),2,、,OUT (Output byte or word),输入指令用于,CPU,从外设端口接受数据,,输出指令用于,CPU,向外设端口发送数据。,无论接受还是发送数据,必须通过累加器,AX,或,AL,,,又称累加器专用传送指令 。,输入、输出指令不影响标志位。,输入输出指令,4,每个外设要占几个端口:数据口,状态口和控制口。,输入输出指令,5,信息交换要通过端口,在,IBM PC,机里,可以配接许多外部设备,,每个外设与,CPU,之间交换数据,状态信息和控制命令,,每一种信息交换都要通过一个端口来进行。,端口数:外部设备最多有,65536,个,I/O,端口。,A,0,A,15,译码形成。,端口号:端口号(即外设端口地址)为,0000HFFFFH,。,PC,机仅使用,A,0,A,9,译码形成,I/O,口地址,即,1024H,个口地址,端口号:,0000H03FFH,其中:,A,9,=1,,表示扩充槽上的,口地址。,输入输出指令,6,长格式:,端口号中前,256,个端口(,0FFH,),可以直接写在指令中,这就是长格式。,端口号代替指令中的,PORT,,机器指令用二字节表示,第二字节就是端口号。,短格式:,当端口号,256,时,只能使用短格式,必须先把端口号放到,DX,寄存器中。,不需要用任何段寄存器来修改它的值。,输入输出指令,7,格式:,IN acc,port,;,(acc),(port),具体形式有四种:,IN AL,data8,;端口地址,8,位,输入一个字节,IN AX,data8,;端口地址,8,位,输入一个字,IN AL,DX,;端口地址,16,位,输入一个字节,IN AX,DX,;端口地址,16,位,输入一个字,必须通过累加器,AX (,字,),或,AL (,节,),输入,数据。,IN,输入指令,8,格式:,OUT port,acc ; (port),(acc),具体形式有四种:,OUT data8, AL,;,端口地址,8,位,输出一个字节,OUT data8, AX,;端口地址,8,位,输出一个字,OUT DX, AL,;端口地址,16,位,输出一个字节,OUT DX, AX,;端口地址,16,位,输出一个字,必须通过累加器,AX (,字,),或,AL (,节,),输出,数据。,OUT,输出指令,9,例,1,:实现,(29H) (28H)(DATA_WORD),IN AX,,,28H,MOV DATA_WORD,,,AX,例,2,:从端口,3FCH,送一个字到,AX,寄存器,MOV DX,,,3FCH,IN AX,,,DX; (AL)(3FCH),(AH)(3FDH),例,3,:实现将,(AL) (05H),OUT 05H,,,AL,;,(05H)(AL),应用举例,10,地址指针写入指定寄存器或寄存器对指令。,1,、,LEA (Load Effective Address),2,、,LDS (Load pointer using DS),3,、,LES (Load pointer using ES),目的地址传送指令,11,格式:,LEA reg16, mem16 ;EA,(reg16),功能:加载有效地址,用于写近地址指针。,把指令中指定的,存储器操作数有效地址,装入指定的寄存器,。,例:设,(BX)=0400H,,,(SI)=003CH,LEA BX,,,BX+SI+0F62H,执行指令后:,EA=?(BX)= ?,EA=(BX)+(SI)+0F62H=0400H+003CH+0F62H=139EH,(BX)=139EH,LEA (Load Effective Address),12,(DS)=3000H; BUFFER=1000H,(31000H)=0040H,1.LEA,指令与,MOV,的区别,LEA BX, BUFFER,;,(BX)=1000H,MOV BX, BUFFER,;,(BX)=0040H,LEA,指令与,MOV,等价,LEA BX, BUFFER,;,(BX)=1000H,MOV BX,OFFSET,BUFFER,;,(BX)=1000H,2.LEA,指令中的目标寄存器必须是,16,位的通用寄存器,,源操作数必须是一个存储器。,应用举例,13,格式:,LDS reg16, mem32,;,(reg16)(EA),(DS)( (EA)+2) ),功能:,将指令指定,32,位地址指针送指令指定寄存器和,DS,。,将指令指定,mem32,单元的前两个单元内容,(16,位偏移量,),装入指定通用寄存器,把后两个单元内容,(,段地址,),装入到,DS,段寄存器。,LDS (Load pointer using DS),14,假设:,(DS)=C000H,指令,:LDS SI, 0010H,执行指令后,:,(SI)= ?,(DS)= ?,(SI)=0180H,(DS)=2000H,应用举例,15,假设:,(DS)=0110H,(0110H)=0780H,(01112H)=2090H,指令,:LDS SI, 0010H,(SI)=?,(DS)=?,执行指令后,:,(SI)=0780H,(DS)=2090H,应用举例,16,格式:,LES reg16, mem32,;,(reg16)(EA),(ES)( (EA) +2) ),功能:把源操作数指定的,4,个相继字节送指令指定的寄存器 及,ES,寄存器中。此指令常常指定,DI,寄存器。,将指令指定,mem32,单元的前两个单元内容,(16,位偏移量,),装入指定通用寄存器,把后两个单元内容,(,段地址,),装入到,ES,段寄存器。,LES (Load pointer using ES),17,假设:,(DS)=B 000H,(BX)=080AH,指令,:LES DI, BX,执行指令后,:,(DI)= ?,(ES)= ?,(DI)=05A2H,(ES)=4000H,应用举例,18,(DS)=5000H,TABLE=1000H,分析下列指令执行结果:,MOV BX,,,TABLE,MOV BX,,,OFFSET,TABLE,LEA BX,,,TABLE,LES BX,,,TABLE,LDS BX,,,TABLE,应用举例,19,(DS)=5000H,TABLE=1000H,指令执行结果:,MOV BX,,,TABLE,;,(BX)=0040H,MOV BX,,,OFFSET,TABLE,;,(BX)=1000H,LEA BX,,,TABLE,;,(BX)=1000H,LES BX,,,TABLE,;,(BX)=0040H,,,(ES)=3000H,LDS BX,,,TABLE,;,(BX)=0040H,,,(DS)=3000H,应用举例,20,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!