桂林电子科技大学微机原理课件D37.ppt

上传人:京东小超市 文档编号:5897807 上传时间:2020-08-14 格式:PPT 页数:48 大小:380KB
返回 下载 相关 举报
桂林电子科技大学微机原理课件D37.ppt_第1页
第1页 / 共48页
桂林电子科技大学微机原理课件D37.ppt_第2页
第2页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《桂林电子科技大学微机原理课件D37.ppt》由会员分享,可在线阅读,更多相关《桂林电子科技大学微机原理课件D37.ppt(48页珍藏版)》请在三一文库上搜索。

1、3.7 分支程序的设计 分支程序就是根据条件的不同完成不同功能的 程序。 编写分支程序要用到条件转移指令。 执行转移/调用指令时,8086指令队列寄存器原 内容(按顺序取出的后续指令)被清除,转向指令的地 址(目标地址OPR) CS、IP。CPU按CS、IP的指 示,跳转到目标地址去执行。 蜡 件 奖 铬 耗 谎 迷 稗 权 震 肖 邯 旭 更 詹 献 珍 慌 蜒 杀 的 炉 宿 浇 芋 钟 膝 闻 哟 肺 侄 吱 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 3.7.1 无条件转移指令 使程序无条件跳转

2、到目标地址(OPR)去执行。 一. 段内转移 转移指令和待转向指令在同一代码段中,只 改变IP的内容。 1.段内直接转移 格式:JMP OPR; OPR 待转向指令标号 操作:IP 标号偏移地址 奢 哲 侦 仲 避 瞒 莆 影 苔 稿 项 击 供 椰 屎 丰 长 锭 鞍 睹 斋 忿 邮 众 抡 葵 扭 缝 劲 筐 诊 砧 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 说明: 标号偏移地址 JMP指令的下一条指令的偏移地址位移量 位移量由汇编程序在汇编过程中,根据标号 地址与JMP指令所在地址进行计算得到。

3、 陵 岩 筋 翟 玉 相 奢 彪 倒 诗 佣 郸 伊 烃 尉 联 飞 釜 热 惠 鲤 册 瓜 枫 渍 踢 额 页 砷 她 疮 沃 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 例: : JMP SHORT NEXT; : NEXT:MOV AL,05H; : 操作码 08H 操作码 CS:0100H 05H 0101H 0102H 010AH 010BH JMP SHORT NEXT 8位位移量 MOV AL,05H 由计算机根据转移的 相对位置计算得到。 饶 样 换 蔓 鸥 灼 仰 邻 屿 转 愁 赵

4、刊 含 省 厂 相 嘻 钻 坠 揽 却 誓 译 渝 傲 擒 浑 录 片 袄 家 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 转移范围 短转移(位移量为8位) 以JMP为中心的256 个单元; 近转移(位移量为16位) 以JMP为中心的 64KB个单元。 短转移和近转移也可以分别表示为 JMP SHORT OPR JMP NEAR PTR OPR 常 惩 竿 口 凶 磊 继 朗 竖 每 漳 移 岗 滇 狄 囱 拇 处 阂 杜 契 帧 足 姓 梭 位 剥 砚 多 嘿 尖 煤 桂 林 电 子 科 技 大 学

5、微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 例: : JMP NEAR PTR NEXT; : NEXT:MOV AL,05H; 由计算机根据转移的 相对位置计算得到。 操作码 07H 操作码 CS:0100H 05H 0101H 0102H 010AH 010BH JMP NEXT 16位位移量 MOV AL,05H 00H00H 昂 穷 壶 杏 垦 抒 漓 贴 嫩 裔 伟 紊 北 疽 涂 黑 晨 徘 忙 宾 洞 套 捡 阁 内 逮 藏 鲤 陌 惟 苹 惜 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林

6、电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 2. 段内间接转移 格式:JMP OPR; OPR R,M 操作:IP (EA) 说明: 有效地址EA由OPR的寻址方式确定; 转移范围为以JMP为中心的64KB。 棱 某 砾 蜂 注 胎 端 新 丁 氨 乳 月 脾 吗 图 鸥 残 河 坐 护 俐 税 搭 背 湛 歇 蒂 洲 席 善 美 轴 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 例: BUF DW 0301H MOV BX, 2C8FH JMP BUF JMP NEXT JMP BX J

7、MP WORD PTR BX NEXT: ADD AX, BX ; IP NEXT偏移地址 ; IP 2C8FH ;IP 0301H ; IP (2C8FH,2C90H) 宾 慑 涣 熄 枯 偏 街 贾 底 际 卫 挡 儿 湿 坠 冤 霞 揖 墩 宾 卞 溅 是 猴 函 序 蝗 零 问 屏 酸 超 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 二. 段间转移 转移指令和待转向指令不在同一代码段中,同 时改变CS、IP。 转移范围:1MB。 1. 段间直接转移 指令中直接给出不在本代码段中待转向指令标号。

8、格式:JMP FAR PTR OPR ; OPR 待转向指令的标号 操作:CS标号段地址,IP 标号偏移地址。 滤 洲 坊 静 厅 钨 宠 瑰 指 尤 蒙 赐 炮 勿 紧 农 饼 肃 遗 斑 舟 堪 崖 脾 怎 练 猎 袱 较 粗 难 杨 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 例3.20 在C1代码段有一条转移到C2代码段的无条件转移指 令,如下如示: C1 SEGMENT JMP FAR PTR NEXT C1 ENDS C2 SEGMENT NEXT:MOV CL,AL C2 ENDS 疵 欠

9、 隙 丈 籽 壁 欠 卓 昆 列 坯 斩 唇 债 优 营 挤 公 捎 峰 糊 祁 幅 谜 蛤 燎 开 挪 烂 次 魂 咆 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 2.段间间接转移 待转向指令的段地址、段内偏移地址放在连续 的4个内存单元中(指令中给出访问内存单元的寻址 方式同操作数的寻址方式)。 格式:JMP DWORD PTR OPR ; OPR M 操作:IP (EA), CS (EA2) 拎 谦 仓 邑 苟 买 柄 杀 茬 帐 戮 饰 限 铰 核 凳 现 桶 纤 章 别 撞 忱 酌 淫 拈 桥

10、 粳 癌 既 寡 缄 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 例3.21 JMP DWORD PTR BPDI 设SS=5000H,BP=1000H,DI=0050H,存放转 向地址的堆栈段中的存储单元物理地址: PA=50000H+1000H+0050H=51050H 此时转向地址的存储情况如图3.6所示,JMP指 令位于C1代码段,转移到C2代码段,程序形式如下 : 戍 宦 最 舔 毅 褂 粳 卑 信 眨 仗 痰 甩 撕 棱 廖 曼 蹈 森 屏 蹲 培 隐 呀 晋 术 倚 纱 辅 戍 肥 帘 桂

11、 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 C1 SEGMENT 1000H:1300H JMP DWORD PTR BPDI C1 ENDS C2 SEGMENT 2000H:2500H MOV DL,AL C2 ENDS 存储单元的内容 虹 衬 株 尼 炎 颐 预 俱 钙 仗 霸 生 靳 敝 纶 跺 得 阔 运 荚 笼 埠 苫 徊 铁 剃 谬 躲 淡 菠 晰 傅 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 10

12、000H 1000H:1300H 20000H 2000H:2500H 代码段 C1段 首地址 JMP 指令 MOV 指令 C2段 首地址 00H 25H 00H 20H 堆栈段 偏移地址IP=2500H 段地址CS=2000H 51050H 51050H 0050H 1000H 5000H SS BP DI + 播 炽 旦 仓 俄 矮 融 松 般 恰 刻 匡 骆 独 褂 押 寒 键 吃 汀 以 芜 懊 膳 夸 俺 源 纲 矢 古 斟 桔 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 3.7.2 条件转移

13、指令 根据标志位来判断测试条件:满足条件则转移到 指令指定地址执行(分支);否则顺序执行下一条 指令。 条件满足否 ? 是 否 转向转移 地址执行 顺序执行 卿 情 很 楔 灵 趟 譬 蜡 镊 厂 狗 萧 挣 蜜 及 个 琅 泣 仓 惫 豺 储 娇 徐 膝 证 掉 崖 蔗 忻 党 位 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 格式:JXX OPR; OPR标号 操作:当条件XX满足时则转移到OPR执 行,否则顺序执行。 注意: 属于段内直接短转移指令,转移范 围为256字节(IP128IP+127)。

14、 端 席 卓 襟 悟 弛 踊 敖 溅 兹 枯 啮 壤 病 眼 楷 改 淖 澄 抄 鬼 服 围 旬 恋 庭 械 裂 镇 呸 涣 碑 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 JS OPR ;结果为负转移 JNS OPR ;结果为正转移 JPJPE OPR ;结果中“1”的个数为偶转移 JNPJPO OPR ;结果中“1”的个数为奇转移 JO OPR ;结果有溢出转移 JNO OPR ;结果无溢出转移 JC OPR ;结果有进位转移 JNC OPR ;结果无进位转移 JZJEOPR ;结果为零相等转移 J

15、NZJNE OPR ;结果不为零不相等转移 (1) 单条件转移指令 旗 辈 派 锄 禹 懊 店 栖 赤 押 繁 我 糯 蹦 瓦 瘩 搭 卵 慧 幻 帧 独 游 府 党 惶 鞠 衬 毕 士 库 傅 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 JB JNAE OPR ;小于不大于等于(CF=1)转移 JNB JAE OPR ;不小于大于等于(CF=0)转移 JBE JNA OPR ;小于等于不大于(CFZF=1)转移 JNBE JA OPR ;不小于等于大于(CFZF=0)转移 B:Below小于(低于)

16、A:Above大于(高于) E:Equal等于 (2) 适合无符号数比较的条件转移指令 睡 壕 饯 酵 捞 徊 叭 师 磅 涸 枯 泌 通 码 助 只 哮 射 刽 楔 翼 馋 肤 聚 奄 枷 吝 靴 溯 聘 圃 檬 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 L:Less小于 G:Greater大于 E:Equal等于 JNL JGE OPR ;不小于大于等于转移 JLE JNG OPR ;小于等于不大于转移 JNLE JG OPR ;不小于等于大于转移 (3)适合带符号数比较的条件转移指令 JL JN

17、GE OPR ;小于不大于等于转移 SFOF=1 SFOF=0 (SFOF) ZF)=1 (SFOF) ZF)=0 拭 蝴 捣 舅 埃 巧 沧 讹 殆 举 彪 滩 星 胺 痕 庇 吏 融 淄 铸 晶 讨 琶 召 窗 躇 映 抿 狮 舵 公 菲 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 注意注意:上述条件转移指令通常是与算术、逻辑、移位:上述条件转移指令通常是与算术、逻辑、移位 等指令联用的。且注意有符号和无符号的区别。等指令联用的。且注意有符号和无符号的区别。 如:如: 若若ALAL的内容是一个的内容

18、是一个无符号数无符号数,那么,那么 CMP AL, 0 ; CMP AL, 0 ; JA NEXT ; JA NEXT ; 即当即当AL0AL0时转移时转移 若若ALAL的内容是一个的内容是一个有符号数有符号数,那么,那么 CMP AL, 0 ; CMP AL, 0 ; JG DONE ; JG DONE ;即当即当AL0AL0时转移时转移 攻 权 唤 潦 蛆 耪 虏 党 窒 碍 富 畔 葬 永 圾 襟 儡 礁 巩 堑 多 楷 拆 靠 弊 掸 秽 尹 沫 敦 阔 哆 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D

19、3 7 3.7.3 分支程序的结构 单分支结构 判定条 件 是 否 分支程序段 顺序往下执行 多分支结构 判定 条件 程序段n 条件1 程序段2程序段1 条件2条件n 分为:单分支结构和多分支结构两种 铭 佬 先 葛 逐 刚 烈 队 闽 栖 永 箭 正 傻 丈 阳 膝 撵 世 尽 遵 阐 棒 踩 烃 赌 纹 函 缮 齐 晓 佑 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 3.7.4 分支程序设计举例 例:比较两个无符号数的大小,将大数存入 MAX单元。 例3.23 检查NN单元的数据是否为1位16进制

20、数,是则将其转换为ASCII码,否则置为0FFH。 迈 唱 搅 番 汐 违 鲤 浪 县 追 勿 靡 厩 幼 褐 柴 泪 僻 输 嘎 溯 镊 闺 痪 喉 绣 潭 内 勒 网 临 掖 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 ALN AL0? AL=AL+30H S 存AL值 END N Y AL=AL+07H AL9? AL15? AL=0FFH Y N N Y 税 贯 顺 襟 榆 畴 氧 盼 辫 刹 浚 眷 曲 锁 寞 禾 随 郧 浴 伙 绘 陆 竖 芳 冈 撩 嘻 驾 猩 充 那 惧 桂 林 电 子

21、 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 程序如下: ASTACK SEGMENT STACK DW 256 DUP(?) TOP LABEL WORD ASTACK ENDS DATA SEGMENT NN DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA;SS:ASTACK START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX 尊 鞍 印 胯 船 此 椽 八 晦 况 望 供 殉 竟 狞 辩 幕 念 槛 封 搜

22、外 饺 跟 镭 竿 瞒 盯 束 尖 涩 涵 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 MOV SP,OFFSET TOP MOV AL,NN ;AL N CMP AL,9 ;AL和9比较 JBE ALOOP1 ;AL 9,转ALOOP1 CMP AL,15 ;AL和15比较 JA ALOOP2 ;AL15,转ALOOP2 ADD AL,07H ;AL AL+07H ALOOP1: ADD AL,30H ;AL AL+30H DONE: MOV AH,4CH ;返回DOS INT 21H ALOOP2:

23、 MOV AL,0FFH ;AL 0FFH JMP DONE CODE: ENDS END START 趁 诊 浅 得 箩 复 乖 紊 着 仰 沃 贺 聪 赌 认 仓 嘿 塞 屡 镜 琉 瓣 铁 汐 遏 谭 涣 狙 陈 泰 拌 嘻 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 例3.22 符号函数 1 (x0) y = 0 (x=0) 1 (x0) 洁 肄 否 阐 苔 码 斑 场 佬 柄 山 毛 射 瓦 小 考 爬 罪 试 绕 荫 沦 钱 他 臂 攘 真 停 锋 碧 登 躲 桂 林 电 子 科 技 大 学

24、 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 开始 x=? Y0Y1Y-1 结束 00 = 0 开始 x=0? Y0Y1Y-1 结束 N N Y x0? Y 禽 额 殷 猪 雨 钟 尤 困 贾 讳 匣 清 厦 酮 住 笑 腻 娜 嗽 掳 壤 断 炭 畅 台 伙 猩 涌 采 毕 凋 恤 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 ASTACKSEGMENTSTACK DW 256 DUP(?) TOPLABEL WORD ASTACKENDS D

25、ATA SEGMENT XXDB X YYDB ? DATA ENDS 喇 拐 雀 虚 财 堡 寐 鸡 署 蜒 优 巩 镐 族 考 衔 务 椅 变 仆 耳 泰 脂 归 玄 旷 斥 剑 冤 决 氦 筷 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:ASTACK START: MOVAX,DATA MOVDS,AX MOVAX,STACK MOVSS,AX LEASP,TOP MOVAL,XX;ALX CMPAL,0;X与0比较较

26、JGENEPA;X0,转转NEPA MOVYY,0FFH;X0,YY 1 JMPSTOP 能否缺省?为什么? 扔 痕 蔑 傍 荒 均 水 珐 么 掌 贼 卡 娘 曲 巨 斧 气 们 屹 积 兹 蠕 脚 鹃 雍 困 滁 毅 侗 催 骇 欺 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 NEPA:JE NEPB ;X=0,转转NEPB MOVYY,1;X0,YY1 JMPSTOP NEPB:MOVYY,0;X=0,YY0 STOP:MOVAH,4CH;返回DOS INT21H CODE ENDS ENDSTA

27、RT 犯 炬 呻 隔 喳 劳 哼 苇 渺 勃 弓 辟 碴 横 蜜 枉 誉 浓 摆 氮 币 惮 婆 廖 咙 匪 疤 骏 搁 黍 庞 拷 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 屯 饯 烃 乐 魄 坤 专 拈 暑 扬 陇 新 野 佩 纵 噶 傻 匠 捕 岛 畏 简 捌 锑 噪 黍 压 殊 庶 芬 拎 球 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 例3.24从键盘接受一个 字符送入AL, 根据 AL的数值进行跳转

28、 AL字符 AL 30H? BX=Li首址 S 转移到Li执行 END Y N AL逻辑左移1位 AL 39H ? Y N AL=AL-30H AH=0 TAB +1 +2 +3 +17 +18 L0 L0 L1 L1 L9 L9 设由键盘输入 09中的任一个到AL,则AL的内容 就为09中的任一个字符的ASCII值。然后根据ASCII 值转到L0、L1、L9程序段中。 捉 掀 傲 盈 耪 升 郝 芝 缘 您 禾 茨 狭 抖 沃 羹 坝 肘 脆 缆 础 汛 位 踊 卵 又 鸣 阂 非 冗 忿 奎 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学

29、 微 机 原 理 课 件 D 3 7 STACKSEGMENTSTACK DW 256 DUP(?) TOP LABEL WORD STACK ENDS DATASEGMENT TAB DW L0,L1,L2,L3,L4,L5,L6,L7, L8,L9 DATAENDS 剐 腔 脆 打 竖 层 昨 编 介 貉 粱 匀 刃 腋 展 蒲 叼 鹰 席 剧 揖 夕 类 簿 威 蔫 候 寅 炔 售 旭 涨 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 CODESEGMENT ASSUME CS:CODE,DS:DA

30、TA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV SP,OFFSET TOP 吭 飘 剥 硬 佬 诗 灭 谤 猎 涅 戊 购 著 邻 面 铡 棵 蜀 傣 绘 纯 捐 歌 妈 朵 逗 浸 首 冀 订 藕 诉 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 MOV AH,01H ;键入字符 INT 21H CMP AL,30H;AL和30H比较 JB DONE;AL30H,转DONE CMP AL,39H;AL和39H比较 J

31、A DONE;AL39H,转DONE SUB AL,30H SHL AL,1;AX2*i MOV AH,0 禽 同 栋 延 宏 焉 镣 驳 骡 陵 七 势 泰 澎 统 凤 赦 分 崩 恰 虞 罢 抖 碉 果 瑞 痒 出 拙 括 趣 夕 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 LEA BX,TAB;BXTAB偏移地址 ADD BX,AX ;BXTAB+2*i JMP WORD PTR BX;转(TAB+2*i)=Li处执行 DONE: MOV AH,4CH;返回DOS INT21H L0: ;分支L0

32、 JMP DONE L1: ;分支L1 JMP DONE L9: ;分支L9 JMP DONE CODE ENDS END START 多分支结构的实现 形式之一 end 恰 戌 幌 樊 词 峪 诗 刮 帚 脐 橇 般 呛 轻 孕 筐 样 桩 僚 喷 瓮 团 鞍 后 橱 傣 垄 梅 癌 盯 韵 纲 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 TAB +1 +2 +3 +17 +18 L0 L0 L1 L1 L9 L9 DATASEGMENT TAB DW L0,L1,L2,L3,L4,L5 ,L6,L7

33、,L8,L9 DATAENDS 皱 姨 讳 教 重 碉 啼 蝎 磋 昭 呸 茎 珍 伙 剂 箔 脯 嘶 谋 赤 居 咕 材 欲 镰 槐 项 尘 卷 淖 佬 帝 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 L0: ;分支L0 JMP DONE L1: ;分支L1 JMP DONE L9: ;分支L9 JMP DONE 多分支结构的实现 形式之一 蘑 蓉 坝 萨 斯 叠 力 滓 牙 啦 蝉 脚 迸 葬 市 候 口 膝 渭 蒸 怕 糜 霜 蛹 邀 桐 雏 欺 硕 欺 洒 话 桂 林 电 子 科 技 大 学 微

34、 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 (1) 段内直接转移指令 格式:JMP SHORT OPRD;OPRD标号 功能:将程序无条件地转移到标号OPRD为 起点的程序段执行。 操作:IPIP+D8;D8为8位偏移量的补码 转移范围:IP-128IP+127(256字节) 3.7.1 无条件转移指令 段内直接短转移指令 爪 安 籽 掩 茁 果 朝 适 闷 旦 农 实 梨 嘱 降 透 咏 铺 界 日 嘉 中 盅 闲 龄 猴 肢 姻 理 畏 蛆 鸿 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科

35、技 大 学 微 机 原 理 课 件 D 3 7 说明:转移指令可以从现行指令地址(IP) 向低地址转移D8为负数;也可以向高地 址转移D8为正数。 注意:JMP SHORT PTR CCC;错误指令 聚 唱 撰 脾 渺 暂 痞 递 掀 帖 迢 隋 篮 韧 哉 襟 惧 栅 咬 吉 秩 狱 侧 宠 凰 摘 饲 八 章 算 莫 傣 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 格式:JMP NEAR PTR OPRD; 其中,OPRD标号 功能:将程序无条件地转移到标号OPRD为 起点的程序段执行。 操作:IP

36、IP+D16;D16为16位偏移量的补码 转移范围:IP-32768IP+32767(64K一个段 ) 段内直接近转移指令 拢 猴 椽 香 弛 谆 颁 舒 佛 诽 榷 伏 滔 葱 口 求 键 膜 栏 杀 朔 皑 厘 恋 所 倪 暂 环 呀 篡 坠 纪 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 说明:直接转移指令中的目标地址OPRD直接使用要 转向指令的标号,属性操作符NEAR PTR在指令中 可省略,直接写成 : 其中, 标号的偏移地址当前转移指令的下一条指令的偏 移地址位移量 位移量是是16位的,可

37、以由汇编程序在汇编过程中 ,根据标号地址与JMP指令所在地址进行计算得到。 JMP 标号 ; IP标号的偏移地址 矮 抓 杠 靳 发 吓 釜 讫 蝉 惺 橱 粥 撕 斧 矗 非 杂 步 文 哎 戎 迈 姻 卞 彤 譬 馏 咯 督 均 炼 邪 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 格式:JMP OPRD; OPRDR,M 操作:IPEA;EA为OPRD确定的有效地址。 例如:JMP BX; (IP)(BX)或BX 说明:有效地址EA由OPRD的寻址方式确定。 若是寄存器寻址,则寄存器内存放的就是EA

38、; 若是MEM寻址,那么EA就是寻址单元的内容 。 (2) 段内间接转移指令 临 彤 拾 贺 鸯 眩 港 格 筷 绘 卞 周 袍 技 铀 庐 墩 谅 先 卜 悍 叹 埔 胳 葫 斜 圣 浙 色 去 尹 四 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 例3.19 JMP WORD PTR BX+20H 设DS=3000H,BX=1000H,则存放转移有 效地址的字单元的物理地址: PA=30000H+1000H+20H=31020H 若指令执行前,CS=0100H,IP=2110H, (31020H)=C

39、6H,(31021H)=40H,则指 令执行后,IP=40C6H,CS值不变。 因此,程序就转移到0100H:40C6H处继续 执行,如下所示 杰 揍 抗 址 挟 押 肾 刃 卖 畏 宿 魔 荷 拟 叉 诽 锐 噎 及 哟 戚 瘟 逮 踊 蝎 讣 盈 会 钓 满 喂 法 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 CS : IP 0100H:2110H JMP WORD PTR BX+20H 0100H:40C6H ADD AX,DX 31020HC6H 40H 置 赎 蓖 讣 滓 师 园 趾 诺 愈

40、聂 翘 撇 芭 所 戮 锣 挎 将 估 增 焕 枚 消 殖 烙 径 屁 铣 格 马 铅 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 格式:JMP FAR PTR OPRD;OPRD标号 功能:程序转移到OPRD所指的指令处执行。 操作:IP OPRD的偏移地址; CSOPRD的段地址 转移范围:1MB 段间转移 (3) 段间直接转移指令 恩 杀 短 骚 秀 碎 镐 英 煌 棍 足 冒 窥 尼 获 酣 皑 辨 吴 缮 锄 捏 忠 棋 坑 延 磁 湃 撂 铣 助 消 桂 林 电 子 科 技 大 学 微 机

41、原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 格式:JMP DWORD PTR OPRD; OPRDM 操作:IP (EA); CS(EA+2)。 转移范围:1MB段间转移 (4) 段间间接转移指令 涯 锣 惫 贯 娱 岩 搂 嘘 固 君 茅 证 饵 邓 哀 饶 徒 餐 谅 讼 则 膏 瘪 扫 米 它 绎 随 郎 魔 搓 暑 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 执行:JMP VAR1;IP1000H 执行:JMP VAR2;IP5678H CS1234H 例如:DATA SEGMENT; VAR1 DW 1000H; VAR2 DD 12345678H DATA ENDS 芒 咯 哮 蝎 潮 俗 侵 礼 甜 漳 晌 循 匙 必 贾 木 稼 辣 霉 痒 未 拦 追 陋 逛 配 乾 小 饭 按 臃 涎 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7 桂 林 电 子 科 技 大 学 微 机 原 理 课 件 D 3 7

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1