第四讲80868088的指令系统

上传人:pu****.1 文档编号:569443916 上传时间:2024-07-29 格式:PPT 页数:37 大小:146.50KB
返回 下载 相关 举报
第四讲80868088的指令系统_第1页
第1页 / 共37页
第四讲80868088的指令系统_第2页
第2页 / 共37页
第四讲80868088的指令系统_第3页
第3页 / 共37页
第四讲80868088的指令系统_第4页
第4页 / 共37页
第四讲80868088的指令系统_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《第四讲80868088的指令系统》由会员分享,可在线阅读,更多相关《第四讲80868088的指令系统(37页珍藏版)》请在金锄头文库上搜索。

1、第四讲第四讲8086/8088的指令系统的指令系统复习7种寻址方式1.立即数寻址 MOV AX,09A0H2.寄存器寻址 MOV AX,BX3.直接寻址 MOV AX,(09A0H)4.寄存器间接寻址 MOV AX,BX5.相对的寄存器间接寻址 MOV AX,BX+55H6.基址加变址寻址 MOV BX+SI , AX7.相对的基址加变址寻址MOV 55HBX+SI , AX菱癣玖辙屿危赚绝纤炭甥船还培冗喻陌闸捆系咒甘滩始纸值役劳倾酮懈驳第四讲80868088的指令系统第四讲80868088的指令系统1第一部分第一部分 指令系统概述指令系统概述8086/8088的指令系统中共有的指令系统中共有

2、92种基本指令。种基本指令。可以分成可以分成6个功能组个功能组:1数据传送数据传送(Datatransfer)2算术运算(算术运算(Arithmetic)3逻辑运算和移位指令逻辑运算和移位指令(Logic&Shift)4串操作串操作(Stringmanipulation)5控制转移(控制转移(ControlTransfer)6处理器控制(处理器控制(ProcessorControl)桨揍豹辰膀爷禽缺职此使萧畜朗蝎吉州坐侄报簿坎杉传硝胀哇台精寨溯闽第四讲80868088的指令系统第四讲80868088的指令系统2介绍指令系统使用介绍指令系统使用的符号:的符号:八位寄存器八位寄存器:AH,AL,B

3、H,H,BL,CH,CL,DH,DL十六位通用寄存器十六位通用寄存器:AX,BX,CX,DX,SP,BP,SI,DI堆栈指针堆栈指针SP指令指针指令指针IP(或(或PC)标志位标志位Flags目的和源变址寄存器目的和源变址寄存器DI,SI段寄存器段寄存器CS,DS,ES,SS燥念噶配氏诀瓦廓歉图踢斌翁菱结楞省膨署迟戏婆合眺慧恼盆姆宪叉燥葵第四讲80868088的指令系统第四讲80868088的指令系统3src,dest源,目的操作数(下列寻址方式都可以用)源,目的操作数(下列寻址方式都可以用)BX+SI+n,BX+DI+n,BP+SI+n,BP+DI+nSI+n,DI+n,BP+n,BX+nN

4、,r 存储器单元的内容存储器单元的内容(正常在数据段正常在数据段)ES:附加存储器段的内容附加存储器段的内容OPRD操作数操作数Seg段寄存器(段寄存器(CS,DS,ES,SS)im立即数立即数(n8位位, nn16位位,nnnn32位位)尺烘涤伶冬奶催晒托裤娥扶眉常瘟所屹钾过翔逢榔攻淡绊叭拎戏昧桂虑猪第四讲80868088的指令系统第四讲80868088的指令系统48086/8088指令助记符表指令助记符表(自学)自学)自学磷认兢扮梯排陵仕爹苞焦牟效歹往婚胸诌凛消细屉登镶岁搜竣虏橙思斋瓣第四讲80868088的指令系统第四讲80868088的指令系统5自学荷梨沃斧大甄迫觉蹄构穴挎蚂唆武刀纱慈

5、橙乒物澄痔展涣述侯员边机铱脚第四讲80868088的指令系统第四讲80868088的指令系统6第二部分第二部分8086/8088指令系统指令系统一、一、数据传送指令数据传送指令(Datatransfer)(一)通用传送指令(一)通用传送指令(GeneralPurposeTransfer)(二)输入输出指令(二)输入输出指令(InputandOutput)(三)目的地址传送指令(三)目的地址传送指令(Address-objecttransfer)(四)标志传送指令(四)标志传送指令(Flagregistertransfer)借起瑶靶鼎订沏逼呵耕归快佃洽治贬锅僚漾裔纬究夷擅考把鹰抛鹃抬俐凄第四讲8

6、0868088的指令系统第四讲80868088的指令系统7(一)通用传送指令(一)通用传送指令(一)通用传送指令(一)通用传送指令(GeneralPurposeTransfer)8088提供方便灵活的通用的传送操作,适用于大多数操作数。提供方便灵活的通用的传送操作,适用于大多数操作数。通用传送指令(除了通用传送指令(除了通用传送指令(除了通用传送指令(除了XCHGXCHG以外)是唯一允许以段寄存器为操以外)是唯一允许以段寄存器为操以外)是唯一允许以段寄存器为操以外)是唯一允许以段寄存器为操作数指令。作数指令。作数指令。作数指令。通用传送指令包括:通用传送指令包括:1、MOV(Movement)

7、2、PUSH(Pushwordontostack)POP(Popwordoffstack)3、XCHG(Exchange)4、XLAT(Translate)皿痛剿黔窍拟岿经缘布鞋卿石光掘奋淤思戎腐吏鹅毁言帮泥试用弧挪隔毋第四讲80868088的指令系统第四讲80868088的指令系统81MOV dest,src;(dest)(src)目的目的源源目的目的源源功能:功能:功能:功能:把一个字节把一个字节(B)或一个字(或一个字(W)操作数由源传送至目的。)操作数由源传送至目的。实现实现:寄存器寄存器寄存器寄存器/存储器之间;存储器之间;立即数立即数寄存器寄存器/存储器存储器寄存器寄存器/存储器存

8、储器段寄存器之间的数据传送。段寄存器之间的数据传送。剪嘘酣爬遵喻株力解擞拘至叹字保沼邓们肖圾徊碎墅佬俏倚傅卷运躇躇键第四讲80868088的指令系统第四讲80868088的指令系统9 具体说,通用数据传送指令能实现:具体说,通用数据传送指令能实现:CPU内部寄存器之间的数据的任意传送内部寄存器之间的数据的任意传送(除了码段寄存器(除了码段寄存器CS和指令指针和指令指针IP以外)。以外)。段寄存器之间不能传送。段寄存器之间不能传送。段寄存器之间不能传送。段寄存器之间不能传送。例:例:MOVDL,CH;8位寄存器位寄存器8位寄存器位寄存器MOVAX,DX;16位寄存器位寄存器16位寄存器位寄存器M

9、OVSI,BPMOVDS,BX;通用寄存器;通用寄存器段段寄存器寄存器MOVAX,CS;段段寄存器寄存器通用寄存器通用寄存器掷闲饥夯犁拱殉淑韵霸妒仅尺昧至衙逾欣饿刚棺程妆揍侠必早行棒垒碰涧第四讲80868088的指令系统第四讲80868088的指令系统10立即数传送至立即数传送至CPU内部通用寄存器组内部通用寄存器组(AX、BX、CX、DX、BP、SP、SI、DI)。)。用于给寄存器赋初值。用于给寄存器赋初值。不能直接给段寄存器赋值不能直接给段寄存器赋值不能直接给段寄存器赋值不能直接给段寄存器赋值例:例: MOVCL,04H;立即数;立即数8位位寄存器寄存器 MOVAX,03FFH;立即数;立

10、即数16位位寄存器寄存器 PTRPTR:属性定义符号,符号后面的变量(或地址单元)有符:属性定义符号,符号后面的变量(或地址单元)有符:属性定义符号,符号后面的变量(或地址单元)有符:属性定义符号,符号后面的变量(或地址单元)有符号前面的属性号前面的属性号前面的属性号前面的属性 MOVWORDPTRSI,057BH;立即数;立即数存储器存储器MOVBYTEPTRMEM,5;立即数;立即数存储器存储器芋滑纠渠惶甲掘挣绥栖几镰泳蓟弥翱海篇则舅违继炼动盅株解屋怜恭敖匿第四讲80868088的指令系统第四讲80868088的指令系统11CPU内部寄存器(除内部寄存器(除CS和和IP外)外)与存储器(所

11、有寻址方式)之间数据传送。与存储器(所有寻址方式)之间数据传送。可以实现一字节或一个字的传送。可以实现一字节或一个字的传送。存储单元之间不能直接传送存储单元之间不能直接传送存储单元之间不能直接传送存储单元之间不能直接传送 例:例:MOVMEM,AX;累加器累加器存储器存储器,直接寻址直接寻址MOVMEM,DS;段寄存器;段寄存器存储器,存储器,直接寻址直接寻址MOVDISPBX,CX;寄存器;寄存器存储器,存储器,变址寻址变址寻址MOVAX,DISPSI;存储器;存储器累加器,累加器,变址寻址变址寻址MOVDS,MEM;存储器;存储器段寄存器,段寄存器,直接寻址直接寻址MOVCX,DISPBX

12、SI;存储器;存储器累加器,累加器,相对基址加变址相对基址加变址痢娇活组揩庸正剔侗键确终瑚淑燃了咆比宇噎寞糠行怂仑燥仔闯遍材陡帆第四讲80868088的指令系统第四讲80868088的指令系统12 注意注意注意注意:(1 1)不能用一条)不能用一条)不能用一条)不能用一条MOVMOV指令实现以下传送。指令实现以下传送。指令实现以下传送。指令实现以下传送。j存储单元之间的传送存储单元之间的传送存储单元之间的传送存储单元之间的传送MOVMEM2,MEM1错。错。MOVAX,MEM1MOVMEM2,AX对。对。kk 立即数送段寄存器立即数送段寄存器立即数送段寄存器立即数送段寄存器例例:MOVDS,2

13、000H错。错。MOVAX,2000HMOVDS,AX对。对。嗜搪只慰疾滤焰丸复护抠谩骂楷挝趾只婆狭谋炎碾尺炯苯蝶织艇珍迎榆骑第四讲80868088的指令系统第四讲80868088的指令系统13l段寄存器之间的传送段寄存器之间的传送段寄存器之间的传送段寄存器之间的传送MOVES,DS;错错MOVAX,DSMOVES,AX;对对。注意注意注意注意CSCS和和和和IPIP的使用的使用的使用的使用CSCS和和和和IPIP不能作为目标操作数,不能作为目标操作数,不能作为目标操作数,不能作为目标操作数,CSCS可以作为源操作数。可以作为源操作数。可以作为源操作数。可以作为源操作数。例:例:MOVCS,A

14、X;错错MOVAX,CS;对对。MOVIP,AX;错错MOVAX,IP;错错。共弥读罪态缝翅造陋程健检葡力旅淮搬启逢瘁己猴著赘熄赎农牡俞班憎览第四讲80868088的指令系统第四讲80868088的指令系统14l注意操作数的范围注意操作数的范围对字节操作指令对字节操作指令0FFH0255对字操作指令对字操作指令0FFFFH065535MOVAL,260MOVAX,70000MOVAL,1FFHMOVAL,2ABCDH毋德鉴屑谍摹昨晓疑巧钡阻击咳第可免凸截彰拍喂槛帆蛹呈枉接炭财排队第四讲80868088的指令系统第四讲80868088的指令系统15注意如下指令:注意如下指令:不能两个同为存储器操

15、作数不能两个同为存储器操作数MOVDI,SI目的操作数不能是立即数目的操作数不能是立即数ADD3,AL两个操作数的类型应相同两个操作数的类型应相同SUBAX,BL若若value定义为字类型存储器变量:定义为字类型存储器变量:MOVCL,valueBX颧募芬使枚余龄寐突硼涅俗境泞挠旬阜矢吏章娠障边尝雁史芽稗绝正宗旺第四讲80868088的指令系统第四讲80868088的指令系统16(后面跟立即数时)(后面跟立即数时)内存操作数的属性应明确。内存操作数的属性应明确。MOVBX,0MOVbyteptrBX,0MOVwordptrBX,0MOVBX,ALMOVBX,AX挎麓捕振静羔撞沏骋俄迂霍浮游助峻

16、楚椿隔众戊舆蠢时径油馒察磷抓舅忧第四讲80868088的指令系统第四讲80868088的指令系统17lA、B、C、D、E、F开头的十六进制数前面加开头的十六进制数前面加0,与与H结尾的标识符区别。结尾的标识符区别。如如寄存器名:寄存器名:AH、BH、CH、DH变量名变量名:abcdH等等例例 movAL,0AHmovAL,AHmovBX,0abcdH写渠春拇浦抱誊昔姐存掺暖占眼增壕晕仰瓦勃锑怎印挫歇剔蒋进耸察馏晦第四讲80868088的指令系统第四讲80868088的指令系统18lCS和和IP的值只在的值只在控制转移指令控制转移指令中修改。中修改。l对非控制转移指令,取完指令后对非控制转移指令

17、,取完指令后IP值自动值自动+1,指向下条指令。指向下条指令。l段寄存器段寄存器CS的值,只在的值,只在MOV、PUSH中可作操作数,中可作操作数,且这两条指令执行结果不改变且这两条指令执行结果不改变CS值。值。MOVAX,CSPUSHCSlIP、FR两个寄存器不能作为操作数在指令中出现。两个寄存器不能作为操作数在指令中出现。movIP,1234HmovFR,0F0FHlFR状态寄存器的值由指令执行后确定,状态寄存器的值由指令执行后确定,不同的指令对各标志的影响不同。不同的指令对各标志的影响不同。煎兜像掂散澳棕瑚罚许焚昼吊附枪署扛前阳苞栅翱蝶枝樊惹蚕裸纹蝉绅趁第四讲80868088的指令系统第

18、四讲80868088的指令系统19(2 2)段地址的默认)段地址的默认)段地址的默认)段地址的默认BX、SI、DI间址间址默认段地址为默认段地址为DS,BP间址间址默认段地址默认段地址SS。(3 3) 凡是遇到给凡是遇到给凡是遇到给凡是遇到给SSSS赋值指令,系统自动禁止外部中断,执行赋值指令,系统自动禁止外部中断,执行赋值指令,系统自动禁止外部中断,执行赋值指令,系统自动禁止外部中断,执行本条指令和下条指令,恢复对本条指令和下条指令,恢复对本条指令和下条指令,恢复对本条指令和下条指令,恢复对SSSS寄存器赋值前的中断开放情况。寄存器赋值前的中断开放情况。寄存器赋值前的中断开放情况。寄存器赋值

19、前的中断开放情况。这样做为了允许程序员连续用两条指令分别对这样做为了允许程序员连续用两条指令分别对SS和和SP寄寄存器赋值,同时又防止堆栈空间变动过程出现中断。存器赋值,同时又防止堆栈空间变动过程出现中断。* *在修改在修改在修改在修改SSSS和和和和SPSP的指令之间不要插入其他指令。的指令之间不要插入其他指令。的指令之间不要插入其他指令。的指令之间不要插入其他指令。(4 4) 所有通用传送指令不影响标志位所有通用传送指令不影响标志位所有通用传送指令不影响标志位所有通用传送指令不影响标志位(除(除SAHF、POPF以外)。以外)。妖掀担舍啄鼎瓮眼貌号绦束防跋问吓吟褒顿甸曼檄帐虑雅蜂胜煽拣鸽碍

20、杂第四讲80868088的指令系统第四讲80868088的指令系统202PUSH(Pushwordontostack)POP(Popwordoffstack)这是两条堆栈操作指令。这是两条堆栈操作指令。(1)(1)先介绍一下什么是堆栈,为什么需要堆栈先介绍一下什么是堆栈,为什么需要堆栈先介绍一下什么是堆栈,为什么需要堆栈先介绍一下什么是堆栈,为什么需要堆栈堆栈堆栈按照按照先进后出先进后出原则组织的一段内存区域,原则组织的一段内存区域,特点:特点:特点:特点:下推式的(规定堆栈设置在堆栈段内)改变下推式的(规定堆栈设置在堆栈段内)改变SP的内容,的内容,随着随着推入堆栈内容增加,推入堆栈内容增加

21、,SP的值减少。的值减少。先进后出工作原则(先进后出工作原则(LastInFirstOut简称简称LIFO)堆栈在内存中的情况:堆栈在内存中的情况:(10月月20日课讲到此日课讲到此)辱革埋迈参斟逃租屹赡害皖秽式苛慰补谋管正曰时歹乳椅郧糜褐迸抨钒你第四讲80868088的指令系统第四讲80868088的指令系统21 堆栈在内存中的情况:堆栈在内存中的情况:堆栈在内存中的情况:堆栈在内存中的情况:例:例:设:设:SS=2000H,SP40H,BX=2340H运行运行PUSHBX后,后,SP=SP-2堆栈在内存中的情况如右图所示:堆栈在内存中的情况如右图所示:堆栈在内存中的情况堆栈在内存中的情况挖

22、适表枚蔬漫吭膛掺卖懒蜒柞叼朝翔嘻料贡庭走晤澈肺石探疼慌委哩瘦迪第四讲80868088的指令系统第四讲80868088的指令系统22堆栈用途堆栈用途堆栈用途堆栈用途:q存放存放存放存放CPUCPU寄存器或存储器中暂时不使用的数据,寄存器或存储器中暂时不使用的数据,寄存器或存储器中暂时不使用的数据,寄存器或存储器中暂时不使用的数据, 使用数据时将其弹出;使用数据时将其弹出;使用数据时将其弹出;使用数据时将其弹出;qq 调用子程序调用子程序调用子程序调用子程序,响应中断时都要用到堆栈。响应中断时都要用到堆栈。响应中断时都要用到堆栈。响应中断时都要用到堆栈。调用子程序(或过程)或发生中断时要调用子程序

23、(或过程)或发生中断时要保护断点的地址保护断点的地址,子程序或中断返回时恢复断点。子程序或中断返回时恢复断点。注意:注意:SP堆栈指针堆栈指针,始终指向栈顶。始终指向栈顶。SP初值用初值用MOVSP,im来设定。来设定。逾股炊遏登凿洽铃无幅廖杯圣台瓦玖乒张辩旧纂督讨需啼肌鲁才湿桅抹锻第四讲80868088的指令系统第四讲80868088的指令系统233 3、交换指令、交换指令、交换指令、交换指令(Exchange)格式:格式:XCHGdest,src;(dest)(src)执行操作:执行操作:把一个字节或一个字的源操作数与目的操作数相交换。把一个字节或一个字的源操作数与目的操作数相交换。把一个

24、字节或一个字的源操作数与目的操作数相交换。把一个字节或一个字的源操作数与目的操作数相交换。可以可以实现:实现:寄存器之间寄存器之间寄存器之间寄存器之间 寄存器和存储器之间寄存器和存储器之间寄存器和存储器之间寄存器和存储器之间注意:注意:存储器之间不能交换,存储器之间不能交换,两个操作数中必须有一个在寄存器;两个操作数中必须有一个在寄存器;段寄存器不能作为一个操作数;段寄存器不能作为一个操作数;允许字或字节操作,不影响标志位。允许字或字节操作,不影响标志位。痹犊播刷荤召兼扩国劲久用氛网准憎酸罕牢肃凹蹄和馋诉姓坍脆孰笛艰秉第四讲80868088的指令系统第四讲80868088的指令系统24应用举例

25、:应用举例:XCHGBL,DLXCHGAX,SIXCHGCOUNTDI,AXXCHGBX,DI(错)错)XCHGDS,AX(错)错)眩攒梅髓横爪刹翠妙箍寐吩曝嫩桨竞虹臃粕撂爪护单蔽饲毕拟猛衙掺挺阔第四讲80868088的指令系统第四讲80868088的指令系统254. 4.XLATXLAT(TranslateTranslate)换码指令:)换码指令:)换码指令:)换码指令:该指令不影响标志位。该指令不影响标志位。格式:格式:XLATstr_table;(;(AL)(BX+AL)或或XLATstr_table表格符号地址(首地址),表格符号地址(首地址),只是为了提高可读性而设置,汇编时仍用只是

26、为了提高可读性而设置,汇编时仍用BX。 戒恤简鼎筷缴帛垦疲狰凋沃磺啦驹枉杀倘巩奉裹存茎苦衷解滴痔址弱慢甜第四讲80868088的指令系统第四讲80868088的指令系统26XLAT指令使用方法指令使用方法:先建立一个字节表格;先建立一个字节表格;表格首偏移地址存入表格首偏移地址存入表格首偏移地址存入表格首偏移地址存入BXBX;需要转换需要转换需要转换需要转换代码的序号代码的序号代码的序号代码的序号(相对与表格首地址位移量)(相对与表格首地址位移量)存入存入存入存入ALAL;(表中第一个元素的序号为(表中第一个元素的序号为0)执行执行执行执行XLATXLAT指令后,表中指定序号的元素存于指令后,

27、表中指定序号的元素存于指令后,表中指定序号的元素存于指令后,表中指定序号的元素存于ALAL中中中中。(AL)为转换的代码。为转换的代码。比硝咙呵要税微付板胳袱习父隆呕竟汗锁盒哈祸绚响塌蹦渝熙伞哨瞬墓又第四讲80868088的指令系统第四讲80868088的指令系统27XLAT指令应用:指令应用:若把字符的若把字符的扫描码扫描码转换成转换成ASCII码码;或或数字数字09转换成转换成7段数码所需要的相应代码(段数码所需要的相应代码(字形码字形码)等)等就要用就要用XLAT指令。指令。例:内存的数据段中有一张十六进制数字的例:内存的数据段中有一张十六进制数字的ASCII码表。码表。 首地址为:首地

28、址为:Hex_table,欲查出表中第欲查出表中第10个元素(个元素(A)蜕孕交中玫沤风壳菩桩枯妹舌惠啸芒焙幻猿孺滥拐究恤够散讳藩找肄捉怂第四讲80868088的指令系统第四讲80868088的指令系统28执行指令序列执行指令序列:MOVBX,OFFSETHex_tableMOVAL,0AHXLATHex_table假设:假设:(DS)=F000H,Hex_table=0040H(AL)=0AH执行执行XLAT以后:以后:(AL)=41H=(F004AH),),即即“A”的的ASCII码。码。30H30H31H31H32H32H.39H39H41H41H42H42H.46H46H.Hex_ta

29、bleHex_tableHex_table+1Hex_table+1Hex_table+2Hex_table+2Hex_table+0AHHex_table+0AHHex_table+0BHHex_table+0BHHex_table+0FHHex_table+0FHFFBBAA9911220016进制数的进制数的ASCII码表码表托瑚隆穆臃廷励敖仪烙捞途吵撩见惟岁旭蝉炼虾搐装塔胖县园焙嘻压黔兵第四讲80868088的指令系统第四讲80868088的指令系统29(二)输入输出指令(二)输入输出指令(InputandOutput)输入输出指令共两条:输入输出指令共两条:1 1、ININ(Inpu

30、tbyteorword)2 2、OUTOUT(Outputbyteorword)输入指令输入指令用于用于CPU从外设端口接受数据从外设端口接受数据,输出指令输出指令用于用于CPU向外设端口发送数据。向外设端口发送数据。无论接受还是发送数据,必须通过累加器无论接受还是发送数据,必须通过累加器AX(字)或字)或AL(字节),字节),又称累加器专用传送指令又称累加器专用传送指令。输入、输出指令不影响标志位。输入、输出指令不影响标志位。输入、输出指令不影响标志位。输入、输出指令不影响标志位。幂桔串果装萎解谨纳宴栋芬握唱舶瘦钩评学幽碱孺吏鸳慎彤换慰蚂艺帛造第四讲80868088的指令系统第四讲80868

31、088的指令系统30每个外设要占几个端口:数据口,状态口和控制口。每个外设要占几个端口:数据口,状态口和控制口。努赢二呈盘亮攀打桑庐佬禁恋窑防急造富祖咱呀蕊仪息恕预髓浚矽跳单捍第四讲80868088的指令系统第四讲80868088的指令系统31信息交换要通过端口,信息交换要通过端口,在在IBMPC机里,可以配接许多外部设备,机里,可以配接许多外部设备,每个外设与每个外设与CPU之间交换数据,状态信息和控制命令,之间交换数据,状态信息和控制命令,每一种信息交换都要通过一个端口来进行。每一种信息交换都要通过一个端口来进行。端口数:外部设备最多有端口数:外部设备最多有65536个个I/O端口。端口。

32、A0A15译码形成。译码形成。端口号:端口号(即外设端口地址)为端口号:端口号(即外设端口地址)为0000HFFFFH。PC机仅使用机仅使用A0A9译码形成译码形成I/O口地址,即口地址,即1024H个口地址个口地址端口号:端口号:0000H03FFH其中:其中:A9=1,表示扩充槽上的,表示扩充槽上的口地址。口地址。倒羚癸荫答棘友搐琉讲阑冒啦磨除秒逼速祝像郸诊梁锤堰没帅像魏渐碱犀第四讲80868088的指令系统第四讲80868088的指令系统32长格式:长格式:长格式:长格式:端口号中前端口号中前端口号中前端口号中前256256个端口(个端口(个端口(个端口(0FFH0FFH),可以直接写在

33、指令中,可以直接写在指令中,这就是长格式。这就是长格式。端口号代替指令中的端口号代替指令中的PORT,机器指令用二字节表示,第二字节就是端口号。机器指令用二字节表示,第二字节就是端口号。短格式:短格式:短格式:短格式:当端口号当端口号当端口号当端口号256256时,只能使用短格式时,只能使用短格式时,只能使用短格式时,只能使用短格式,必须先把端口号放到必须先把端口号放到DX寄存器中。寄存器中。不需要用任何段寄存器来修改它的值。不需要用任何段寄存器来修改它的值。狙残蜒睬蚕甭巨摊补盖么除阮雁替啪豁螟粉量权复笆墨票爪悄犬扩轧肆汤第四讲80868088的指令系统第四讲80868088的指令系统331

34、1、IN(Inputbyteorword)IN(Inputbyteorword)输入指令输入指令输入指令输入指令格式:格式:INacc,port;(acc)(port)具体形式有四种:具体形式有四种:INAL,data8;端口地址端口地址8位,输入一个字节位,输入一个字节INAX,data8;端口地址;端口地址8位,输入一个字位,输入一个字INAL,DX;端口地址;端口地址16位,输入一个字节位,输入一个字节INAX,DX;端口地址;端口地址16位,输入一个字位,输入一个字必须通过累加器必须通过累加器AX(字)或字)或AL(节)节)输入输入数据。数据。皱灿蛾质氧先罪职间兑吞迢妨莫躺珊爵辜军臻乖

35、光浅涤垫他凡窍鞍筋吼糖第四讲80868088的指令系统第四讲80868088的指令系统342 2、OUTOUT(Outputbyteorword)输出指令输出指令输出指令输出指令格式:格式:OUTport,acc;(port)(acc)具体形式有四种:具体形式有四种:OUTdata8,AL;端口地址端口地址8位,输出一个字节位,输出一个字节OUTdata8,AX;端口地址;端口地址8位,输出一个字位,输出一个字OUTDX,AL;端口地址;端口地址16位,输出一个字节位,输出一个字节OUTDX,AX;端口地址;端口地址16位,输出一个字位,输出一个字必须通过累加器必须通过累加器AX(字)或字)或

36、AL(节)节)输出输出数据。数据。阂搏蛇下吓淮梗浸更铸袜巢艰怀泉哪蓄隶担蕴湛鹅幽湖崖杉隅首硫畜抠歪第四讲80868088的指令系统第四讲80868088的指令系统35例例1:实现:实现(29H)(28H)(DATA_WORD)INAX,28HMOVDATA_WORD,AX例例2:从端口:从端口3FCH送一个字到送一个字到AX寄存器寄存器MOVDX,3FCHINAX,DX;(AL)(3FCH),),(AH)(3FDH) 例例3:实现将(:实现将(AL)(05H)OUT5,AL;(;(05H)(AL)喻壳腔冶残比幕槛幕竟么魔恶群涪擦窍喳嘴勒乃该潭朝启开雇高谰规首枝第四讲80868088的指令系统第四讲80868088的指令系统36作业:3.39(1)(6),3.44,3.46巴眼狠凭朴伐捆甄吹蛇卵铣框哀闺洪舌寄拧寸豌置严毒悬殖觉感溯古认宠第四讲80868088的指令系统第四讲80868088的指令系统37

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

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

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