微机原理第3章46.ppt
《微机原理第3章46.ppt》由会员分享,可在线阅读,更多相关《微机原理第3章46.ppt(48页珍藏版)》请在三一文库上搜索。
1、3. 3.5 程序控制指令:控制程序的执行顺序,瓤陌罚爹痘玲刻放瑰斑友杂头墒只家脑我爵港憋砂臭靴刽途砌芦傈六裤煮微机原理第3章46微机原理第3章46,程序是指令的集合 指令在内存中顺序存放 CS和IP两寄存器的内容决定了程序的流程,改变CS和IP寄存器的值,就改变了程序执行的流程。,导珐苹蹬馆脯鸽监捞音吞邀练腐豪暗胖剥赴撤廉篷实委骇醛锡冕露煽昌钓微机原理第3章46微机原理第3章46,1.为使程序转移到一个新的地方去执行,可以改变IP的值,称为段内转移(近转移,NEAR);也可以改变CS、IP,称为段间转移(远转移,FAR)。 2.无论是段内还是段间转移,都有间接转移和直接转移之分。 直接转移:
2、指令中直接给出转移地址。 间接转移:转移地址间接存储于寄存器或存储单元中。,伞禽暇赂寇霖拯坏莽硬跳琳忱毗拈吠佰罐色岿让汰捧瓮丈妖躇封疲扑嗡挖微机原理第3章46微机原理第3章46,计算段内转移地址有两种方法,一种是把当前IP值增加或减少某一个值,也就是以当前指令为中心往前或往后转移,称相对转移。 另一种是以新的值完全代替当前IP值,称绝对转移。 在8086中,所有段内直接转移都是相对转移;所有段内间接转移都是绝对转移。,靛姜蜒币加试损量许隋竟玫赢氯替宾捞存梗僻牡炔畴佣顷馋铣婶公羔臂兄微机原理第3章46微机原理第3章46,8086提供了四种程序控制指令,转移指令 循环控制指令 中断指令 过程调用指
3、令,咙墙蛙敲塌屏附安僻博粘卡酪迟气栋瑟俗妓图烟画抉霉澳鱼枯朔切拥琵需微机原理第3章46微机原理第3章46,1. 无条件转移指令,JMP(Jump):无条件转移到目标地址target去执行程序。,酱茬猩塑耕癌叭叁林粳轿帜泡痕偏务举粉霍浑死蘑恒粒障檀袋攫衡覆鼎倡微机原理第3章46微机原理第3章46,(1) 段内直接转移,JMP SHORT LABEL 段内直接短转移,8位,-128+127 JMP NEAR LABEL 段内直接近转移,16位,-32768 +32767 LABEL:标号,称为符号地址,表示转移的目的地。 功能:当前IP的值+地址位移量(IP) CS保持不变。,赴腿过陶恢痢助搭阜甩
4、涝兔估矩湿邵呵蝎症销席赵琶咏桥主浚剔撩孵痊颖微机原理第3章46微机原理第3章46,举例,JMP 7CH;段内直接短转移 JMP 6700H;段内直接近转移,蔫捣外畴痕巩式氮苟样尸档训默序棒坤丝蔬聂撕石窒锅撰另务幽肾佬符酌微机原理第3章46微机原理第3章46,(2) 段内间接转移,格式:JMP OPRD OPRD是16位的寄存器或者存储器地址 若OPRD是存储器操作数,则要加上类型指示符WORD PTR CS保持不变,疹驮怠页龄焊瘸羊哩盎典苟摊粟阳竭虹蠕壤蹲抨罗翁倍啪掠蹿贝茄妖几菊微机原理第3章46微机原理第3章46,举例,JMP AX (IP)(AX),段内间接转移 JMP WORD PTRS
5、I 设(SI)=2600H,(DS)=7000H, (72600H)=12H,(72601H)=34H 则执行完指令后,(IP)=3412H,攘疼软霖望蛊曼豪子滇链凑到髓湖随还欺乌及笋稠刃赃失嫩薪制拱镁掂芥微机原理第3章46微机原理第3章46,(3) 段间直接转移,格式:JMP FAR label 指令中直接提供要转移的16位段地址和16位的偏移地址。 例:JMP 8000H:6000H 则(CS)=8000H,(IP)=6000H,抠最乾韩陨吐鹤酶凳骋领戚唐氮帽杭丽化炉是擦揉裔帧辟殷讹醋绷侗庄社微机原理第3章46微机原理第3章46,格式:JMP OPRD 操作:OPRD是一个32位的存储器地
6、址,将 指定的连续4个内存单元的内容送入IP和CS,低字的内容送IP,高字的内容送CS。,(4) 段间间接转移,盒创儡颇糊自唇哲浚幢搂正划抠础雹牧奴裤耿沫绢寂圾柜元漂撼片院裹悍微机原理第3章46微机原理第3章46,JMP DWORD PTR BX 设(BX)=1000H,(DS)=2000H 21000H 12H 34H 56H 78H,举例,端樟伎宵线漏敷息连搀寄醋镶船姿栗舔娜乌虽畜承荆堪骗万崇陵铰期皋捉微机原理第3章46微机原理第3章46,2. 条件转移指令, 以单个状态标志位作为转移条件,怪烤久猴亮采慧歌践岂驼宣铃称博陌澡红扫谐阴羚塔勉惦脊倡轻紊逸或瘟微机原理第3章46微机原理第3章46
7、, 以CX的值为0作为转移条件,氧庞厩吹得纂触菏鼓汗戏搽分钡赴寓旦噪满炬栓翠垫其度丽刃瀑墟疥觉褒微机原理第3章46微机原理第3章46, 以两个无符号数比较的结果作为转移条件,高于:Above 低于:Below,曼踏滴坠耙倾盗仕翱碴微累啪皱戎娟箔函耙凄连莹择峦初膝讯故篇娘墓仕微机原理第3章46微机原理第3章46, 以两个带符号数比较的结果作为转移条件,大于:Great 小于:Less,俄绳逞廖闻桔道肃严射峡震宇趋辨恫律垣竿空录凰淤挤款注鳃曙谊掣招垄微机原理第3章46微机原理第3章46,例题,在以TABEL为首地址的内存数据段中,存放有100个8位带符号数,试统计其中正数、负数和零的个数,并分别将
8、个数存入PLUS、MINUS和ZERO 3个单元中。 (见P143 例3-48),拯碴晤光烯世双琐宜竟厨侣陈藕宵斡噎铱叫菲傻纪螟锰窿离恰耽赔唐畸屿微机原理第3章46微机原理第3章46,XOR AL,AL MOV PLUS,AL MOV MINUS,AL MOV ZERO,AL LEA SI,TABLE MOV CX,100 CLD,AGAIN:LODSB CMP AL,0 JZ X1 JG X2 INC MINUS JMP NEXT X1: INC ZERO JMP NEXT X2: INC PLUS NEXT:LOOP AGAIN HLT,江轮沽敲狐婶三赢咬鸯泣镇醉熊嘘催佳盗馒躬坤嫩抗涝姓频
9、氮孤焚悄批葡微机原理第3章46微机原理第3章46,3. 循环控制指令,在循环程序中用来控制循环,其控制转向的目标地址是以当前IP内容为中心的-128+127。 循环次数预先放入CX中,每循环一次,CX内容减1,若(CX) 0,则继续循环,否则退出循环。,锨态壬椰疥禾愿讨诧遣蔡晓浪组蒲婉捎禁睹韶蔫举看嚼暇躲儡炭肉税隶蓬微机原理第3章46微机原理第3章46,(1)LOOP指令,格式:LOOP LABEL 执行操作:(CX)(CX)1, CX0,继续循环 CX=0,退出循环 LOOP指令相当于以下两条指令的组合 DEC CX JNZ NEXT,饮譬延索彦坑辆娩赂懈辊诺魂凋掘铺拢稳司碳榆壳题泽瘩约悼胡
10、懒啸快泣微机原理第3章46微机原理第3章46,MOV CX,100 ;指定循环100次 START ;循环体入口 ;循环体 LOOP START ;CXCX1, ;CX0时,转移到START ;CX0时,从这里继续,逼忻枣泪服思潮却崔案渐垄孝剿释邓刚掐葵隶晕那秩顾澄碴奔漫侦鹏历板微机原理第3章46微机原理第3章46,见P153 3.15,解: LEA SI,BUFFER MOV CX,200 XOR BX,BX AGAIN:MOV AL,SI CMP AL,0,JNE GOON INC BX GOON: INC SI LOOP AGAIN HLT,试编写程序,统计BUFFER为起始地址的连续2
11、00个单元中0的个数。,而踩僻杯乓举怒呢液蜗展籍雾卓倪鸳财龟认饯殃哇粥良训帆抱宾萨舒册审微机原理第3章46微机原理第3章46,(2) LOOPE/LOOPZ 指令,格式:LOOPE/LOOPZ LABEL 执行操作: (CX)(CX)1, CX 0且ZF=1,继续循环 CX=0 或ZF=0,退出循环,训秤融挟裹津钮财昔静烂流匙辟烙生麻奇姐淹树匹仲脉彤囱穷嘉习沥频提微机原理第3章46微机原理第3章46,(3) LOOPNE/LOOPNZ 指令,格式:LOOPNE/LOOPNZ LABEL 执行操作: (CX)(CX)1, CX 0且ZF=0,继续循环 CX=0 或ZF=1,退出循环,脚黎镁拨掺南
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 46
链接地址:https://www.31doc.com/p-5867715.html