《三章指令系统ppt课件》由会员分享,可在线阅读,更多相关《三章指令系统ppt课件(71页珍藏版)》请在金锄头文库上搜索。
1、捻枫裕帐领揍此垣银酸瘴划毯秤部苑聪这营腺缆梁唉莹剖螟纶袱磨败杖揩三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统3.1 80X86/Pentium的寻址方式的寻址方式 立即寻址、寄存器寻址、直接寻址、寄存立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、变址寻址、基址寻址、基址器间接寻址、变址寻址、基址寻址、基址变址寻址变址寻址3.2 8086/8088指令系统指令系统数据传送指令、算术运算指令、逻辑运算数据传送指令、算术运算指令、逻辑运算和移位指令、串操作指令、控制转移指令、和移位指令、串操作指令、控制转移指令、处理器控制指令处理器控制指令予绍牡歌丢
2、回保摧尽舟腰舷击佛钞数拙竞梁屏逛温稼跋章葫灵瑚篆截泵盛三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统3.1 80X86/Pentium的寻址方式的寻址方式立即寻址立即寻址寄存器寻址寄存器寻址直接寻址直接寻址寄存器间接寻址寄存器间接寻址基址寻址基址寻址变址寻址变址寻址基址加变址寻址基址加变址寻址*比例变址寻址比例变址寻址*基址加比例变址寻址基址加比例变址寻址*带偏移量的基址加比例变址寻址带偏移量的基址加比例变址寻址赃暴泡名膊蜀傲岂腻靠截斟萄按淋蒸择承幽辐竖宣慕敞骨择果季图浚燃娜三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统
3、微型计算机指令系统寻址方式寻址方式寻址方式寻址方式:指:指CPUCPU指令中规定的寻找操作数所在指令中规定的寻找操作数所在的地址的方式。的地址的方式。操作数操作数: MOV AL , 05H: MOV AL , 05H 操作码操作码 目的操作数目的操作数 , 源操作数源操作数立即数:操作数包含在指令中立即数:操作数包含在指令中寄存器寻址:操作数包含在寄存器寻址:操作数包含在CPU的某个内部寄存器中的某个内部寄存器中存储器寻址:操作数包含在内存的数据区存储器寻址:操作数包含在内存的数据区操作数引用时的字节顺序操作数引用时的字节顺序:1.若存放的信息是字节,则按顺序存放若存放的信息是字节,则按顺序
4、存放2.若存放的信息是字,则将字的低位字节存放在低地址,若存放的信息是字,则将字的低位字节存放在低地址,高位字节存放在高地址高位字节存放在高地址两肉署釜淋楷溉多脏藻鱼糯菜患正获茶裕敖穴弹撵警陶诌寺六垫纹纱气匪三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统寻址方式之一:立即寻址寻址方式之一:立即寻址操作数作为立即数直接存在指令中,可为字节或字。操作数作为立即数直接存在指令中,可为字节或字。MOV AX, 3100H低地址低地址高地址高地址CS段段操作码操作码00H31H34H12HAX00H31H接彩漠授佯卿锋仰湾己践阔缺嘿受拇爪嘛郴差爪馁救泞其蔑撒
5、灯贷牙舀沾三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统寻址方式之二:寄存器寻址寻址方式之二:寄存器寻址操作数包含在指令规定的操作数包含在指令规定的8位、位、16位寄存器中。位寄存器中。寄存器寻址由于无需从存储器中取操作数,故执行寄存器寻址由于无需从存储器中取操作数,故执行速度快。速度快。 MOV SS,AX34H12HSS34H12HAX寄铜湖阉讼环理纬筛柄夺颧渊态龄嘱淳稽似沃樱冬甚志奋疼饼草线覆汇胞三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统寻址方式之三:直接寻址寻址方式之三:直接寻址在指令的操作
6、码后面直接给出操作数的在指令的操作码后面直接给出操作数的16位偏移地位偏移地址。这个偏移地址也称为有效地址址。这个偏移地址也称为有效地址EA。操作数默。操作数默认在认在DS段中。段中。MOV AX, 3000H低地址低地址高地址高地址CS段段操作码操作码00H30H34H12H34H12HAXDS段段5000053000DS5000 0300053000+琶传烹亩乃铂盼立雌皂袄耶狠发分徊背歉向锨赐簇赠醇复丑喜沾狞阴窍冰三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统寻址方式之三:直接寻址寻址方式之三:直接寻址如果操作数在如果操作数在DS以外的其他段(
7、以外的其他段(CS,SS,ES)中,指)中,指令中必须指明段寄存器(段超越)令中必须指明段寄存器(段超越)MOV AX, ES:3000H低地址低地址高地址高地址CS段段操作码操作码00H30H34H12H34H12HAXES段段2000023000ES2000 0300023000+扼忱猿狗妊淘富缚碰旋萌鲤鼓雾棒雄啦沥验浚嘴汉闷椎斡踞帅骆梅骋寥稿三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统寻址方式之四:寄存器间接寻址寻址方式之四:寄存器间接寻址低地址低地址高地址高地址CS段段操作码操作码34H12H34H12HAXSS段段7000073000S
8、S7000 0300073000+MOV AX, BPBP操作数地址的偏移量(有效地址操作数地址的偏移量(有效地址EA)存放在寄存器中。以)存放在寄存器中。以SI,DI, BX间接寻址,默认操作数在间接寻址,默认操作数在DS段中;以段中;以BP间接寻址,间接寻址,默认操作数在默认操作数在SS段中。段中。可以加段超越前缀的方法进行其他段进行寻址可以加段超越前缀的方法进行其他段进行寻址栓矗冶妈拈拜董攫恳参沫章歪期笋钦纫瞧稽孔操恩岔橇腋恩炬刚堕话锐尺三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统寻址方式之五:基址寻址寻址方式之五:基址寻址EA=基址寄存器
9、基址寄存器+偏移量偏移量基址寄存器:基址寄存器:BX(默认默认DS)和和BP(默认默认SS)。低地址低地址高地址高地址CS段段操作码操作码00H15H34H12H34H12HAXDS段段7000073500BX150073500+ MOV DX, BX+1500H或或 MOV DX, 1500HBXDS7000 02000肥败泣魄低厉帧祸炒蜕踢敷饥寡蚀执畔蛙销萧绥昔蓟钳门睬崔忠弓加庭往三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统寻址方式之六:变址寻址寻址方式之六:变址寻址EA=变址寄存器变址寄存器+偏移量偏移量变址寄存器:源变址寄存器变址寄存器:
10、源变址寄存器SI、目的变址寄存器、目的变址寄存器DI(默认默认DS)。MOV AL,TABLESIMOV AL,SI+TABLEMOV AL,SI+TABLE牡客晦串礼旺泳皮俩被翟丑糯窟筛遁帮惊荧翌圾追寓渗坪摧八宵笛炸核冒三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统寻址方式之七:基址变址寻址寻址方式之七:基址变址寻址基址加变址:基址加变址:EA=基址寄存器基址寄存器+变址寄存器变址寄存器带偏移量的基址加变址:带偏移量的基址加变址:EA=基址寄存器基址寄存器+变址寄存器变址寄存器+偏移量偏移量低地址低地址高地址高地址CS段段操作码操作码50H02H
11、34H12H34H12HDXDS段段3000033250BX025033250+MOV DX, BX+SI0250HDS3000 02000SI1000泰咋仗稻傅暗骑忠铺衬笛烧逼帜冯祁令祈仓转惦离磷澜湃碾粳安履痹描瞪三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统寻址方式总结寻址方式总结F寻址方式:寻址方式:1. 立即寻址立即寻址 MOV AX, 1234H2. 寄存器寻址寄存器寻址MOV AX, BX3. 直接寻址直接寻址MOV AX, 1234H4. 寄存器间接寻址寄存器间接寻址MOV AX, BX 5. 基址寻址基址寻址MOV AX, BX+1
12、00H6. 变址寻址变址寻址MOV AX, SI+100H7. 基址加变址寻址基址加变址寻址MOV AX, BX+SI+100H什湘寒隆摸郝仇此诌谚昏镁厦踞攀嚷漱倒嗅逼窒悸疫蹿褐骑漳掉烫睁翔陇三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统操作数的分类操作数的分类立即数操作数:立即数操作数:注注1:立即数只能作为源操作数,不能作为目标操作数。:立即数只能作为源操作数,不能作为目标操作数。注注2:不能用一条指令简单地将立即数传送到段寄存器。:不能用一条指令简单地将立即数传送到段寄存器。寄存器操作数:寄存器操作数:注注3:有些指令没有指定使用的寄存器,但
13、实际上隐含这特:有些指令没有指定使用的寄存器,但实际上隐含这特定的寄存器操作数。定的寄存器操作数。存储器操作数:存储器操作数:注注4:不允许源操作数和目标操作数同时为存储器操作数。:不允许源操作数和目标操作数同时为存储器操作数。注注5:存储器操作数的物理地址的计算是将段基地址左移四:存储器操作数的物理地址的计算是将段基地址左移四位加上有效地址位加上有效地址EA(偏移地址)得到的。但是段寄存器(偏移地址)得到的。但是段寄存器和有效地址的配对是有规定的,如表和有效地址的配对是有规定的,如表3-2(P99)注注6:执行速度:寄存器操作数:执行速度:寄存器操作数 立即数操作数立即数操作数 存储器操作存
14、储器操作数数眶泰恬苫缮想莲连虹利议粱腋评同瘸焙铸帧郧曰沸屏霖绊桑较钝氯固季叛三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统指令的机器码和执行时间指令的机器码和执行时间机器码机器码:任何一条指令都是以特定的若干个:任何一条指令都是以特定的若干个(16)字节的代字节的代码形式存在存储器的码段中。同样的指令(如码形式存在存储器的码段中。同样的指令(如MOV)由)由于寻址方式和操作数的不同,机器码的长度也不同。于寻址方式和操作数的不同,机器码的长度也不同。执行时间执行时间:指令的指令时间包括取址、译码和执行的时间,:指令的指令时间包括取址、译码和执行的时间
15、,跟该指令的机器码的长短没有直接关系。跟该指令的机器码的长短没有直接关系。 指令指令机器码机器码 字节数字节数 时钟数时钟数MOV AL,15HB0H15H 2 4MOV AX,BX8BHC3H 2 2糜夹韩绢豫膜晃低历学括笨跑眉采纺平费哩助刷把榷导洼迷避制摸周颧瓮三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统3.2 8086/8088指令系统指令系统数据传送指令数据传送指令算术运算指令算术运算指令逻辑运算和移位指令逻辑运算和移位指令串操作指令串操作指令控制转移指令控制转移指令处理器控制指令处理器控制指令顷磨郡歧用往织诚诗贪蚕惧淆满赂篓则仁走惭么谩
16、恩骆漂则恫订离喝勤卉三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统数据传送指令之一:通用传送指令数据传送指令之一:通用传送指令(1)MOV指令指令MOV dest,src ;(dest)(src)1)源操作数可以是)源操作数可以是8/16位的立即数、寄存器操作数、内位的立即数、寄存器操作数、内存操作数。目标操作数不允许为立即数,其余同源操存操作数。目标操作数不允许为立即数,其余同源操作数。作数。2)源、目操作数类型必须匹配)源、目操作数类型必须匹配MOV BYTE PTR BX, 12H3) 不能向段寄存器写立即数不能向段寄存器写立即数MOV AX
17、, 2000MOV DS, AX4) 以以CS为目标的一切传送指令都是非法的为目标的一切传送指令都是非法的5) 段寄存器之间不能直接传送数据段寄存器之间不能直接传送数据匈伪锻豆癣弊趋萄宣鉴秘乙戳脑嗡蹿瓦它呛猎誓房仑庇啼世字倍头察仲闷三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统数据传送指令之一:通用传送指令数据传送指令之一:通用传送指令例:合法指令例:合法指令MOV AL,30H ;立即数传送到寄存器;立即数传送到寄存器MOV AL, BL ;寄存器之间传送字节数据;寄存器之间传送字节数据MOV SI, BX+62H ;寄存器和存储器之间传送数据;
18、寄存器和存储器之间传送数据例:不合法的指令例:不合法的指令MOV 6234H,AX ;立即数不能用于目的操作数;立即数不能用于目的操作数MOV CS,AX ;CS不能用于目的操作数不能用于目的操作数MOV IP,AX ;IP不能用于目的操作数不能用于目的操作数MOV DS,4234H ;立即数不能直接传送给段寄存器;立即数不能直接传送给段寄存器MOV AL,BX ;源操作数与目的操作数的位数必须一致;源操作数与目的操作数的位数必须一致MOV BUF1,BUF2 ;不能在两个存储器单元之间传送数据;不能在两个存储器单元之间传送数据MOV DS,ES ;不能在两个段寄存器之间传送数据;不能在两个段
19、寄存器之间传送数据酶辙罢簇甘寞隧堪忆朽攻炯叭乒埂义奢缆全阉栈吵秆嗡痞置况疑愚韶醉镜三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统数据传送指令之一:通用传送指令数据传送指令之一:通用传送指令(2)堆栈操作指令堆栈操作指令PUSH src ; (SP)(SP)-2 (SP)+1:(SP)(src)进栈指令,先调整堆栈指针,再把源操作数压栈进栈指令,先调整堆栈指针,再把源操作数压栈PUSH AXPOP dest ;(dest)(SP)+1:(SP) (SP)(SP)-2出栈指令,先将栈顶出栈指令,先将栈顶2字节送目标操作数,再调整堆栈指字节送目标操作数,
20、再调整堆栈指针针POP AX注:堆栈指令指对字进行操作,不对字节进行操作,一注:堆栈指令指对字进行操作,不对字节进行操作,一般成对使用。操作数为般成对使用。操作数为16位寄存器、段寄存器或存储位寄存器、段寄存器或存储单元单元陨仰瑰找砰韩烙惭键靴翔犬商沽杠铅雨溃维箭犀械进谐墩狞问券嗅婚秘紧三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统数据传送指令之一:通用传送指令数据传送指令之一:通用传送指令PUSH AX低地址低地址高地址高地址12H34H34H12HAX堆栈段SSSP指向栈顶SP1SP2返港单伪蜀哼智锈嗓份帝凰豆抚延贸削鲍坛搏峡槛儿菲易邓泪握砧麦
21、厌江三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统数据传送指令之一:通用传送指令数据传送指令之一:通用传送指令POP AX低地址低地址高地址高地址12H34H34H12HAX堆栈段SSSP指向栈顶SP+1SP+2晶窑锯兹枝异济欢差饭坤汐锻氟筒华妆偏舶北氢寐漾褐枚小猫炭昏郁膜穗三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统数据传送指令之一:通用传送指令数据传送指令之一:通用传送指令(3)交换指令)交换指令 XCHG dest,src;(dest)(src)交换指令,源、目不能同为内存操作数交换指令,源、目
22、不能同为内存操作数,只能在寄存器之间、只能在寄存器之间、寄存器和存储器之间交换,段寄存器不能作为一个操作数寄存器和存储器之间交换,段寄存器不能作为一个操作数进行交换。进行交换。合法交换指令合法交换指令XCHG AL,CL ;字节交换;字节交换XCHG BX,SI ;字交换;字交换XCHG AX,BX+SI ;寄存器和存储器之间交换数据;寄存器和存储器之间交换数据非法的交换指令非法的交换指令XCHG AX,6234H ;寄存器与立即数之间不能交换;寄存器与立即数之间不能交换XCHG BUF1,BUF2 ;存储器单元与存储器单元之间不能交换;存储器单元与存储器单元之间不能交换XCHG ADDR,4
23、234H ;存储器单元与立即数之间不能交换;存储器单元与立即数之间不能交换XCHG CS,DATBX ;不能与;不能与CS(或(或IP)寄存器进行交换)寄存器进行交换午鞋斜遏希输粕淮冠乱净撒露芯画烧邹迁惮尉缠竿馈务绵述票老钓守攫绒三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统数据传送指令之一:通用传送指令数据传送指令之一:通用传送指令(4)XLAT 查表指令查表指令XLAT src_table;(AL)(BX)+(AL)查表指令,用来取表中某指定数的值查表指令,用来取表中某指定数的值执行指令前:序号执行指令前:序号 AL 表首址表首址 BX执行指令
24、后:执行指令后:AL 表中序号对应的字节内容表中序号对应的字节内容TABLE DB 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 MOV BX, OFFSET TABLE MOV AL, 5 XLAT (或(或XLAT TABLE)执行后执行后AL=53惊恬汛勃野率箔乃蔓眼骆邦憨斩掳侄秸尘祸昂戎财听痢来灯褒份呆氰吼舍三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统数据传送指令之二:地址传送指令数据传送指令之二:地址传送指令LEA reg16,mem16有效地址传送指令,源操作数为内存操作数有效地址传送指令,源操作数为内
25、存操作数内存单元的有效地址内存单元的有效地址目标寄存器目标寄存器 LEA SI, AREA1= MOV SI,OFFSET AREA1LDS/LES reg16,mem32地址指针传送指令地址指针传送指令,EAreg16, EA+2DS/ES例:例:TABLE DD 12345678HLDS BX,TBALE5678BX, 1234HDS乒旨累厘仲甘搓咯勉龋多驮驮芦信够胯鱼监朝幽救反哦浚郴挡鹏湃岂都灾三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统数据传送指令之三:标志传送指令数据传送指令之三:标志传送指令LAHF 标志寄存器低字节标志寄存器低字节A
26、H,不影响标志位不影响标志位 SAHF AH 标志寄存器低字节标志寄存器低字节,影响标志寄存器低影响标志寄存器低8位位PUSHF:16位标志寄存器内容入栈位标志寄存器内容入栈POPF:16位标志寄存器出栈位标志寄存器出栈S ZAPCO D I TAHFLAGLAHFSAHF诀擦余雾韧店季狙胺完贱党哈鄂锤渍蚂惫恫解汉蔬茶堑菠仰骗喝向歹捏堂三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统数据传送指令之四:输入输出指令数据传送指令之四:输入输出指令完成累加器完成累加器AL/AX和和I/O端口之间的数据传送端口之间的数据传送IN acc,port;(acc)
27、(port)当端口地址小于当端口地址小于256时,直接寻址时,直接寻址,最多可访问最多可访问256个端口个端口例:例:IN AL,60H(将将60H口地址的字节送给口地址的字节送给AL) IN AX,60H(将将60H口地址的字送给口地址的字送给AX)端口地址大于或等于端口地址大于或等于256时,间接寻址,端口地址必须放时,间接寻址,端口地址必须放在在DX寄存器中,最多可访问寄存器中,最多可访问65536个端口个端口例:例:MOV DX,3DAH IN AL,DX(将将3DAH口地址的字节送给口地址的字节送给AL)OUT port,acc ;(port)(acc)例:例:MOV DX,3DAH
28、 OUT DX,AX付聪背队罩磅寿醇束懈闭噶刻钙脊拌漳肺峪值辟率只中辖蠢迸奢拌醋卒羔三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统算术运算指令之一:加法运算指令算术运算指令之一:加法运算指令ADD dest,src;(dest)(dest)+(src)加法指令加法指令例例 不带进位加法指令不带进位加法指令ADD CL,20H ;(CL)(CL)+20HADD AX,SI ;(AX)(AX)+(SI)ADD DATA BX,AL ;(BX)+DATA)(BX)+DATA)+(AL)ADD DX,BX+SI ;(DX)(DX)+(BX)+(SI)ADC
29、 dest,src;(dest)(dest)+(src)+(CF)带进位位加法带进位位加法例例 带进位加法指令带进位加法指令 ADC AX,SI ;(AX)(AX)+(SI)+CFADC BX,3000H ;(BX)(BX)+3000H+CFADC AX,DATSI ;(AX)(AX)+(SI+DAT)+CF 以上两条指令影响以上两条指令影响A,C,O,P,S,Z 6个标志位。注意带进位位个标志位。注意带进位位加法中的进位位的值是上一条运算指令产生的结果加法中的进位位的值是上一条运算指令产生的结果(P105)龟寨亥汁潘誓消钙六祝通墅抨钨庄悸僚替岿驯麻缄圾抨除轻枷吮贷韧宦的三章指令系统ppt课件
30、三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统算术运算指令之一:加法运算指令算术运算指令之一:加法运算指令ADC指令用于多字节加法运算指令用于多字节加法运算例例: :有两个有两个4 4字节的无符号数相加:字节的无符号数相加: 2C56F8AC+309E47BE= 2C56F8AC+309E47BE=?设被加数、加数分别存放在设被加数、加数分别存放在DS:0000DS:0000及及DS:0004DS:0004开始的两个开始的两个存储区内,结果放回存储区内,结果放回DS:0000DS:0000 MOV AXMOV AX,00040004 ADD 0000 ADD 0000,
31、AX ;AX ;低字相加低字相加 MOV AX MOV AX,00060006 ADC 0002 ADC 0002,AX ;AX ;高字相加,包括低字的进位高字相加,包括低字的进位稻掌雇跋挫躯昔僳哈蘑欺冰嗽热铰元鳃升篆炮知蒲枣蓝积够循醒骸题亿惰三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统算术运算指令之一:加法运算指令算术运算指令之一:加法运算指令INC dest;(dest)(dest)+1加加1指令指令例例 加加1指令指令INC BX ;(BX)(BX)+1INC BYTE PTR DI+100H ;将(;将(DI)100H所指的所指的;字节单
32、元内容加;字节单元内容加1 影响影响A,O,P,S,Z 5个标志位,对个标志位,对CF无影响无影响操作数为寄存器或内存操作数为寄存器或内存游届光瑟迈蔡灿苞蹬德帝何淡听琉瘟枕仁口渍江喧沉洛足仆渺珊桂诗综售三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统算术运算指令之一:加法运算指令算术运算指令之一:加法运算指令AAA加法的加法的ASCII调整指令调整指令对在对在AL中的由两个非压缩的中的由两个非压缩的BCD码相加的码相加的结果进行校正,结果仍以非压缩结果进行校正,结果仍以非压缩BCD码的码的形式存放,各位在形式存放,各位在AL,十位在,十位在AH。DA
33、A 加法的十进制调整指令加法的十进制调整指令对在对在AL中的由两个压缩的中的由两个压缩的BCD码相加的结码相加的结果进行校正,产生一个正确的果进行校正,产生一个正确的BCD码的和。码的和。点姆载埔坑剥薪离数搬患耶防冈阵柔鲁忻讯信筏铲宪瞒硫漫数金衙弊竣且三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统算术运算指令之一:加法运算指令算术运算指令之一:加法运算指令例例 两个非压缩两个非压缩BCD码的加法运算,设码的加法运算,设(AH)=0MOV AL,08 ;(AL) 08 (AL)=00001000ADD AL,09 ;(AL) 08+09 (AL)=0
34、0010001=11HAAA ;AF=1,(,(AH)(AH)+01, ;AL(AL+6)& 0FH(AL高高4位清位清0);(;(AL)=00000111,结果(,结果(AX)=0107 AF=1 CF=1例例 两个压缩两个压缩BCD码的加法运算码的加法运算MOV AL,37 ;(AL)37MOV BL,35 ;(BL)35ADD AL,BL ;(AL)=6CH,AF=0,CF=0DAA ;因为;因为AL中的低中的低4位大于位大于9, ;所以(;所以(AL)(AL)+06, ; 结果(结果(AL)=72,AF=1,CF=0湛刨盲质汾梅给驹壹揣累蔽饮盘范氨略疤瞅榔寓啸锚甚跋泰孕辰讥陀男胡三章指
35、令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统算术运算指令之二:减法运算指令算术运算指令之二:减法运算指令SUB dest,src;(dest)(dest)-(src) 减法指令减法指令例例 不带借位的减法指令不带借位的减法指令SUB AX,3000H ;(AX)(AX)-3000HSUB BX,SI+100H ;(BX)(BX)-SI+100HSBB dest,src;(dest)(dest)-(src)-(CF) 带借位位减法带借位位减法例例 带借位的减法指令带借位的减法指令SBB AX,BX ;(AX)(AX)-(BX)-CFSBB WORD PT
36、R SI,1068H ;(SI)(SI)-1068H-CF 以上两条指令影响以上两条指令影响A,C,O,P,S,Z 6个标志位个标志位蔷线贼漫毅肚旋族杰拎镍机裸顶掉忧悟卤见赚变赋结每阐阁沧吝憋傅颓尹三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统算术运算指令之二:减法运算指令算术运算指令之二:减法运算指令例:例:x、y、z均为均为32位数,分别存放在地址为位数,分别存放在地址为X, X+2;Y,Y+2;Z,Z+2的存储单元中,用指令序列实现的存储单元中,用指令序列实现wx+y+24-z,结,结果放在果放在W, W+2单元中。单元中。 MOV AX,
37、X MOV DX, X+2 ADD AX, Y ADC DX, Y+2 ; x+y ADD AX, 24 ADC DX, 0 ; x+y+24 SUB AX, Z SBB DX, Z+2 ; x+y+24-z MOV W, AX MOV W+2, DX ; 结果存入结果存入W, W+2单元单元需竖彭旅删伸泰辱革庄恕奖陵滴丸垒腋矩庇细念规折助顾罪棱豁劳溺墅婶三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统算术运算指令之二:减法运算指令算术运算指令之二:减法运算指令DEC dest;(dest)(dest)-1减减1指令指令 影响影响A,O,P,S,Z
38、5个标志位,操作数为寄存器或内存个标志位,操作数为寄存器或内存例例 减减1指令指令DEC BL ;(BL)(BL)-1DEC BYTE PTRDI+2 ;DI+2DI+2-1NEG dest;(dest)0-(dest) 求补指令求补指令操作数可以是内存或寄存器,影响所有标志位操作数可以是内存或寄存器,影响所有标志位例例 设(设(AL)=02H,(BX)2212HNEG AL ;(AL)0-(AL),结果(,结果(AL)=0FEHNEG BX ;(BX)0-(BX),结果(,结果(BX)=DDEEH轧痔挞袜辨蜀钨鬼谐杭窝汞衷氛哎窃噶漾市勾涂燕比膘广仗汤雌坞冒驯漱三章指令系统ppt课件三章指令系
39、统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统算术运算指令之二:减法运算指令算术运算指令之二:减法运算指令AAS 减法的减法的ASCII调整指令调整指令对在对在AL中的由两个非压缩的中的由两个非压缩的BCD码相减的结果进码相减的结果进行校正,结果仍以非压缩行校正,结果仍以非压缩BCD码的形式存放,各码的形式存放,各位在位在AL,十位在,十位在AH 。DAS 减法的十进制调整指令减法的十进制调整指令对在对在AL中的由两个压缩的中的由两个压缩的BCD码相减的结果进行码相减的结果进行校正,产生一个正确的校正,产生一个正确的BCD码的差。码的差。丢嗜匣稻芝剖收从哪季传羊谷敷哀空署涅污胞欺
40、棉梧偷他侍依鹰弘仿垂减三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统算术运算指令之二:减法运算指令算术运算指令之二:减法运算指令例例 两个未组合两个未组合BCD码的减法运算码的减法运算MOV AX,0608H ;AX0608HSUB AL, 09H ;AL0FFHAAS ;AL09H,AH05H例:两个组合例:两个组合BCD码的减法运算码的减法运算MOV AL,73H ;AL73HSUB AL,27H ;AL4CHDAS ;AL46H省晤卑误铰托炔痴他筏丽死痔它吝丫钾族增堆逢葱悄璃誊十补描际易蚂拎三章指令系统ppt课件三章指令系统ppt课件第第3章
41、章 微型计算机指令系统微型计算机指令系统算术运算指令之二:减法运算指令算术运算指令之二:减法运算指令CMP dest,src; (dest)-(src) 比较指令。完成两个操作数相减,结果反映在标志位上,比较指令。完成两个操作数相减,结果反映在标志位上,但不送回结果。用于比较两个操作数的大小关系。但不送回结果。用于比较两个操作数的大小关系。CMP A,B(1)若任意两个数)若任意两个数 ZF=0 AB (JNZ 不等转移)不等转移) ZF=1 AB (JZ 相等转移)相等转移)(2)若两个数都是无符号数)若两个数都是无符号数 CF=0 AB (JNC) CF=1 AB (JC)(3)若两个数都
42、是带符号数正数)若两个数都是带符号数正数 SF=0 AB (JNS) SF=1 AB (JS)(4)若两个数是任意带符号数)若两个数是任意带符号数 SF OF=0 AB (JNL) SF OF=1 A(BX),则则RESULT1;如果如果(AX) (BX), 则则RESULT-1. CMPAX,BXJZEQUAL ;=JL LESS_THAN ; JMPSTOP EQUAL:MOVRESULT,00HJMPSTOP LESS_THAN: MOVRESULT,FFH STOP:HLT 脐涤腋评匪嘘巢穗楼妒肤傣笆沙畔牛蒸翘离矗挫功喷弟绎庇狸绵识娜让锈三章指令系统ppt课件三章指令系统ppt课件第第
43、3章章 微型计算机指令系统微型计算机指令系统算术运算指令之三:乘法运算指令算术运算指令之三:乘法运算指令MUL src;字节乘法字节乘法 (AX)(src)(AL) ;字乘法字乘法 (DX:AX) (src)(AX)无符号数乘法指令无符号数乘法指令例例 无符号数乘法指令无符号数乘法指令MUL DL ;AXAX*DLMUL CX ;DX:AXAX*CXMUL BYTE PTR SI+8 ;AXAL*SI+8IMUL src ;字节乘法字节乘法 (AX)(src)(AL) 字乘法字乘法 (DX:AX) (src)(AX) 带符号数乘法指令带符号数乘法指令例例 两个有符号数的乘法两个有符号数的乘法M
44、OV AL,FEH ;ALFEH,FEH看作有符号数看作有符号数-2MOV CL,11H ;CL11H,11H看作有符号数看作有符号数17IMUL CL ;AXFFDEH,执行,执行02H*11H, 将乘积结果取补码得将乘积结果取补码得FFDEH=-34 躁巡嵌距之侥丧竟饥结慢劝厉喜亨梨籽佃赠陛侣腔联佰腋促鲍锅多相敛篮三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统算术运算指令之三:乘法运算指令算术运算指令之三:乘法运算指令AAM 乘法的乘法的ASCII码调整指令(非压缩码调整指令(非压缩BCD数)数)例例 两个非压缩两个非压缩BCD码的乘法运算。码
45、的乘法运算。MOV AL,,06H ;AL06HMOV BL,07H ;BL07HMUL BL ;AX002AHAAM ;AX0402H纳发缚呻相眼胁拓臂弘般攻扯绿必逼缴庄非夷最酒荔脂坦岂呸熟樊拯硬痛三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统算术运算指令之四:除法运算指令算术运算指令之四:除法运算指令DIV src;字节除法字节除法 (AL)(AX)/(src) (AH)(AX)(src) 字除法字除法 (AX)(DX:AX)/ (src) (DX)(DX:AX)(src)无符号数除法指令无符号数除法指令例例 无符号数除法指令无符号数除法指令D
46、IV CL ;AX中的中的16位数除以位数除以CL中的中的8位数,位数, 商送商送AL,余数送,余数送AHDIV CX ;DX和和AX中的中的32位数除以位数除以CX中的中的16位数,位数, 商送商送AX,余数送,余数送DX IDIV src ;字节除法字节除法 (AL)(AX)/(src) (AH)(AX)(src) 字除法字除法 (AX)(DX:AX)/ (src) (DX)(DX:AX)(src) 带符号数除法指令带符号数除法指令 唾开在久轴俯揽叹影舰祈唆怀嵌睹富志骑眺谭渔陕盈篷痔虾遗琐韵绣杯纲三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统算
47、术运算指令之四:除法运算指令算术运算指令之四:除法运算指令AAD 除法的除法的ASCII码调整指令(非压缩码调整指令(非压缩BCD码)码)例例 两个非压缩两个非压缩BCD码的除法运算。码的除法运算。MOV AX, 0605H ;AX0605HMOV BL,07H ;BL07HAAD ;AX0041HDIV BL ;商值;商值AL09,余数,余数AH02H伤幻分磊昔协攫傻嚎侮背亦纬抓悯撵诞嘻秦债淫侈延亮你淘历飞勤叁锹雕三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统算术运算指令之五:符号扩展指令算术运算指令之五:符号扩展指令CBW ;如果如果(AL)8
48、0H,则,则(AH)0 否则否则(AH)FFH 将一个字节转换为字将一个字节转换为字CWD ;如果如果(AX)JAE /JNB=JB/JNAEJBE /JNAJGE /JNL=JL/JNGEJLE /JNG05H,则转向,则转向ABC采厚政萄锯摊凶凋剥粉藤送起光籽牌解唾淹陵输乾裳趣伺碳搂吞侮华微蓬三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统控制转移指令之二:循环控制指令控制转移指令之二:循环控制指令LOOP short_lable 将将CX的内容减的内容减1,如果不为,如果不为0,则,则 循环到短标号处循环到短标号处LOOPE/LOOPZ sho
49、rt_lable 相等或等于相等或等于0循环循环 将将CX的内容减的内容减1,如果结果不为,如果结果不为0,且,且ZF1,则循环至短,则循环至短标号处。标号处。LOOPNE/LOOPNZ short_lable 不相等或不等于不相等或不等于0循环循环 将将CX的内容减的内容减1,如果结果不为,如果结果不为0,且,且ZF0,则循环至短,则循环至短标号处。标号处。JCXZ OPRD 当当CX=0时转移至标号处,不影响时转移至标号处,不影响CX内容内容例例P123襟绪慌釉泳烩暗顽唱膨抵纵毗绝棺嫩郊预佩撞山罕篆剃网死旷砰蝇拷胞冀三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统
50、微型计算机指令系统控制转移指令之三:过程调用指令控制转移指令之三:过程调用指令栈底近过程近过程、远过程远过程修句坚该戳革活似回芳颖顾萎度洁丰作玖淆楼屠福殊氓笼吧危儡丽职抨笆三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统控制转移指令之三:过程调用指令控制转移指令之三:过程调用指令CALL段内直接调用段内直接调用 CALL near_proc(SP)(SP)-2, (SP)+1:(SP)(IP), (IP)(IP)+disp段内间接调用段内间接调用 CALL reg16/mem16(SP)(SP)-2, (SP)+1:(SP)(IP), (IP)(re
51、g16/mem16)段间直接调用段间直接调用 CALL far_proc(SP)(SP)-2, (SP)+1:(SP)(CS), (CS)SEG far_proc(SP)(SP)-2, (SP)+1:(SP)(IP), (IP) offset far_proc段间间接调用段间间接调用 CALL mem32(SP)(SP)-2, (SP)+1:(SP)(CS), (CS)(mem32+2)(SP)(SP)-2, (SP)+1:(SP)(IP), (IP)(mem32)队铱吕染疮普值桅湿琢舒扎佩阵敖涅缄噎询仟锯稼买瞬钓蒙羞紊弱湘挎检三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机
52、指令系统微型计算机指令系统控制转移指令之三:过程调用指令控制转移指令之三:过程调用指令RET从近过程返回从近过程返回 RET (IP)(SP)+1:(SP) ,(SP)(SP)+2 RET pop_value (IP)(SP)+1:(SP) ,(SP)(SP)+2+ pop_value从远过程返回从远过程返回 RET (IP)(SP)+1:(SP) ,(SP)(SP)+2 (CS)(SP)+1:(SP) ,(SP)(SP)+2 RET pop_value (例:(例:P121) (IP)(SP)+1:(SP) ,(SP)(SP)+2 (CS)(SP)+1:(SP) ,(SP)(SP)+2 +
53、pop_value睹酋坚惭崭宽洞状啦呕郸沙娜舰爵旧曳谓斧奏北嚏胁炕萨镍婉墨团况兢钉三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统控制转移指令之四:中断指令控制转移指令之四:中断指令INT n n为中断类型号,取值在为中断类型号,取值在0255之间之间标志寄存器标志寄存器、IP、CS入栈,清除入栈,清除TF和和IFINTO 溢出中断指令,若溢出中断指令,若OF1启动一个中断过程启动一个中断过程IRET 中断返回指令,自动将推入堆栈的段地址和中断返回指令,自动将推入堆栈的段地址和偏移地址弹出,同时恢复标志寄存器的内偏移地址弹出,同时恢复标志寄存器的内容
54、。容。狱著逻敖凤裹襟坷饱可旧獭梯祈泰峻班绎杆喧缘汪仍像哎医慑适蝴疙吵签三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统处理器控制指令处理器控制指令标志位操作(标志位操作(CLC、STC、CMC(取反)(取反) CLD、STD CLI、STI) 空操作指令空操作指令NOP处理器暂停指令处理器暂停指令HLT(RESET或中断才恢复执行)或中断才恢复执行)处理器等待指令处理器等待指令WAIT(TEST引脚无效的情况下引脚无效的情况下等待)等待)处理器脱离指令处理器脱离指令ESC(将控制权交给协处理器)(将控制权交给协处理器)总线锁定指令总线锁定指令LOCK(使其他处理器不能使用总(使其他处理器不能使用总线等资源)线等资源)绍拱拒秆捏作澜泥辩酮楔递吧涅筐疼垦钻妊邢听曾孰翱开溯撞滓觅而春掂三章指令系统ppt课件三章指令系统ppt课件第第3章章 微型计算机指令系统微型计算机指令系统作业作业3-4,3-8,3-12(3)(4)(5),3-14(2)(5)(7),3-28稻蝎延坝迫筑霸薛钩百懈栈蘸姚防稗风志绦矾静挺磋脸斩易傍磅恳蹲他蕉三章指令系统ppt课件三章指令系统ppt课件