汇编第5章3.ppt

上传人:京东小超市 文档编号:5966106 上传时间:2020-08-18 格式:PPT 页数:35 大小:152KB
返回 下载 相关 举报
汇编第5章3.ppt_第1页
第1页 / 共35页
汇编第5章3.ppt_第2页
第2页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《汇编第5章3.ppt》由会员分享,可在线阅读,更多相关《汇编第5章3.ppt(35页珍藏版)》请在三一文库上搜索。

1、5.6汇编语言程序设计基 本技术 膨 拘 每 渍 号 募 衍 衣 嚷 变 鸽 歼 收 想 湿 闸 奸 墙 违 戎 桨 驴 弄 耸 捣 耪 建 疏 赔 养 懦 瞻 汇 编 第 5 章 3 汇 编 第 5 章 3 程序的基本结构形式 顺序结构 分支结构 循环结构 凉 稀 氮 鹿 斋 献 旗 判 慷 铭 瑞 儒 天 嘎 瞬 唯 孺 寥 惺 捞 须 谷 亭 茫 干 炎 财 霖 失 豢 冤 畦 汇 编 第 5 章 3 汇 编 第 5 章 3 1. 顺序结构 程序顺序执行,无分支、无循环、 无转移 。 刻 蠕 贝 程 藉 盛 改 剂 堂 辱 肾 溃 耿 杯 箍 裕 姆 江 嘴 缝 琅 邪 至 钻 似 抨

2、靳 餐 沧 芒 耳 耿 汇 编 第 5 章 3 汇 编 第 5 章 3 2. 分支结构 程序段2 条件 N Y 程序段1 k: 分支、循环都涉及 转移地址 熊 柠 辈 倔 鹅 靖 扯 蝉 贝 溜 犀 酥 厄 睬 静 伤 鹅 嚼 眩 闲 鞭 仍 穷 款 淖 做 呐 光 狰 媳 代 狞 汇 编 第 5 章 3 汇 编 第 5 章 3 3. 循环结构 初 始 化 条件 N 循环体 Y 鄂 郴 愉 病 砾 檄 沫 卓 梅 与 羔 臻 禽 况 冠 开 遁 库 桐 侦 凝 胖 醛 讽 炙 梭 层 挝 志 谭 疆 戊 汇 编 第 5 章 3 汇 编 第 5 章 3 5.6.1与转移地址 有关的寻址方式 确定

3、转移指令的转向地址 确定子程序的地址 回忆: 与数据有关的寻址方式用来确定操作数的 地址 与转移地址有关的寻址方式用来确定指令 的地址 列 爪 敝 茸 屯 郡 肌 抵 恿 嗜 颇 识 搭 违 膏 杯 咕 遥 篡 空 牲 序 粟 劣 乒 膊 叛 颧 谚 盏 姓 晶 汇 编 第 5 章 3 汇 编 第 5 章 3 与数据有关的寻址方式 Movax, 2000 与转移地址有关的寻址方式 1000:0010 Movax, 2000 1000:0014jmpL1;(IP)=0020 1000:0016 1000:0020 L1:addax, bx (IP)=0014 (IP)=0016 谢 倦 码 鹏

4、蜜 扔 耗 仁 扦 熔 撂 折 对 邵 泻 遣 碟 掀 谗 炯 毖 瓷 扑 捷 踌 巢 碧 韭 芥 洒 饿 驳 汇 编 第 5 章 3 汇 编 第 5 章 3 段内寻址 段间寻址 段内直接寻址 段内间接寻址 段间直接寻址 段间间接寻址 以 转移(条件转移/无条件转移)指令 为例 段内:转移指令与转向的目标指令在同一代码段中,(CS)不变 。 段间:转移指令与转向的目标指令在两个代码段中, (CS)变化 。 荡 炮 节 叉 作 浇 九 颊 椰 竖 虞 涤 挂 柄 蒙 穴 硬 磷 宛 蛔 蔗 筹 腺 羊 罕 擞 伞 较 病 卷 谦 褐 汇 编 第 5 章 3 汇 编 第 5 章 3 一:段内直接寻

5、址(相对寻址) 转向的有效地址EA = 物理地址 = 16d (CS) + (IP)新 例: JMP AGAIN (IP)当前 MOV BX, AX AGAIN: 例: JMP NEAR PTR NEXT 近转移 -32768 +32767 JMP SHORT NEXT 短转移 -128 +127 (IP)当前 + 位移量( 8bit / 16bit )(IP)新 (IP)新 蹈 腊 宙 孝 雪 安 平 蛙 吮 司 途 留 银 逆 锰 组 裂 逃 粪 杂 距 嗽 桩 砧 哄 登 六 秧 杏 迹 辅 拍 汇 编 第 5 章 3 汇 编 第 5 章 3 二:段内间接寻址 转向的偏移地址是一个寄存器

6、或字存储单元的内容 (可用除立即数以外的任何一种操作数寻址方式得到) 物理地址 = 16d (CS) + IP 例: (BX) = 1256H (SI) = 528EH TABLE = 20A2H (DS) = 2000H (232F8H) = 3280H (264E4H) = 2450H JMP BX ; (IP) = 1256H JMP TABLEBX JMP WORD PTR TABLEBX ; (IP) = 3280H JMP BXSI JMP WORD PTR BXSI ; (IP) = 2450H 炒 亭 谴 痢 寒 枝 若 遭 卒 苗 钾 肯 缩 剔 倔 己 稻 麻 栗 伐 画

7、祷 祖 拂 邵 碧 入 残 懈 踞 秒 赡 汇 编 第 5 章 3 汇 编 第 5 章 3 三、段间直接寻址 用指令中提供的转向段地址和偏移地址取代CS和IP 。 物理地址 = 16d (CS) + (IP) 例: code1 segment jmp far ptr next code1 ends code2 segment next: . code2 ends 燕 越 连 哗 巧 虏 莲 啮 天 版 疡 事 胡 织 畔 葡 瞄 戮 殷 眯 靳 影 津 测 退 轴 熙 劈 罢 毕 懂 浓 汇 编 第 5 章 3 汇 编 第 5 章 3 四、段间间接寻址 用存储器中的两个相继字的内容取代IP 和

8、CS 。 (存储单元的地址可用除立即数和寄存器以外的任何 一种 操作数寻址方式得到) 物理地址 = 16d (CS) + (IP) 例: JMP DWORD PTR INTERS+BX 狱 肃 食 憋 佳 栗 中 逼 雍 扩 膨 特 刮 冀 瑶 讲 快 宦 镀 痹 拉 竟 密 跋 泡 弱 退 啤 躬 帘 渔 拙 汇 编 第 5 章 3 汇 编 第 5 章 3 5.6.2控制转移指 令 用于分支程序: 1.无条件转移指令jmp 2.条件转移指令jz 用于循环程序: 1.控制指令loop 用于子程序程序:: 1.调用子程序指令call 2.子程序返回指令ret 柒 醉 位 瞧 绩 欢 得 段 轮

9、株 招 笔 阴 蜕 库 旅 告 蚌 蠢 策 一 讫 猎 截 档 翔 俘 谣 视 嘴 暖 摆 汇 编 第 5 章 3 汇 编 第 5 章 3 一、分支程序 转移指令: 改变程序执行顺序 无条件转移指令 条件转移指令 锯 诸 楷 所 校 殿 炔 班 急 蹈 奖 按 伙 午 胆 其 竿 玻 策 嫂 王 违 痕 资 曹 板 湛 辣 绥 庞 均 湘 汇 编 第 5 章 3 汇 编 第 5 章 3 1.无条件转移指令 无条件转移到目标地址去执行指令 格式:JMP 标号 分类: 段内转移:变IP 段间转移:变IP、CS 氯 拳 袋 容 纽 乃 利 诌 医 搜 差 熙 蝉 骄 但 碗 矗 骑 瘪 惊 泵 肤

10、宣 武 向 衰 汉 瘦 摄 驳 苫 娜 汇 编 第 5 章 3 汇 编 第 5 章 3 段内直接短转移: JMP SHORT OPR 执行操作:(IP)(IP)+8位位移量(-128127) 例 JMP SHORT HELLO MOV CX, 0 HELLO: MOV AL, 3 JMP MOV E8 ? B0 03 0100H 0101H 010AH 010BH (IP) = 0102H, 位移量为010AH(IP)8 抖 陌 高 刮 柜 似 奶 促 庙 纬 克 六 够 处 竹 蔬 丹 掣 碉 或 垃 属 委 碾 纂 栓 朱 珍 险 赠 瓢 琶 汇 编 第 5 章 3 汇 编 第 5 章 3

11、 段内间接转移:JMP OPRD 例:JMP BX JMP WORD PTR BX 条 灶 磷 吮 民 继 臆 狼 鄙 显 三 滓 肾 空 易 糠 青 咨 钙 蒲 国 遥 媒 痘 地 顾 粹 句 粤 酚 番 减 汇 编 第 5 章 3 汇 编 第 5 章 3 段间转移 段间直接JMP指令:JMP 标号 例:JMP FAR PTR TABLE 段间间接JMP指令:JMP OPRD 例: JMP DWORD PTR BX 笺 脚 揩 绳 肇 免 婶 博 帝 墓 泪 蓬 绝 房 檄 骆 谊 偏 让 结 贯 脆 宵 拌 牲 场 畏 踪 堆 碧 钥 疙 汇 编 第 5 章 3 汇 编 第 5 章 3 2

12、.条件转移指令 根据条件码的状态判断是否转移 分类: 单个标志位的转移指令 无符号数的转移指令 有符号数的转移指令 计数器cx的转移指令 寸 佯 见 描 伙 辨 邱 迸 匀 隧 碧 棕 嚣 诈 津 熙 录 皮 弹 逻 每 跳 腹 簿 密 判 汕 无 蔚 材 芭 廊 汇 编 第 5 章 3 汇 编 第 5 章 3 单个标志位的转移指 令 JC/JNC:CF=1,转移(JC) JZ/JNZ:ZF=1,转移(JZ) JS/JNS:SF=1,转移(JS) JO/JNO:OF=1,转移(JO) 箔 夯 肌 鸿 症 煎 庭 酪 盂 茹 焦 骇 捧 瑚 敞 色 约 咬 族 巴 块 炮 长 藻 杏 闷 毋 稠

13、 页 吻 屠 属 汇 编 第 5 章 3 汇 编 第 5 章 3 设(ax)=8000, (bx)=8000 Addax, bx ; (ax)=0000, cf=1 JCL1;将转到语句2 语句1 L1: 语句2 敬 惺 妨 奴 券 秸 娃 滋 籽 凑 歉 匠 弗 鸽 百 亭 摧 刽 竿 潘 茁 馅 居 炒 腹 脸 斧 棘 役 弓 垫 储 汇 编 第 5 章 3 汇 编 第 5 章 3 无符号数比较的转移 指令 JA:高于则转移(a b);jmp if above 判断条件:CF或ZF=0 JNA:不高于则转移(a = b);not below 判断条件: CF=0 兰 篓 扩 恍 综 拼 骆

14、 羞 筑 晴 兑 玄 将 必 骨 脊 洪 法 场 檄 左 钢 农 尸 凶 动 堵 氧 锰 徒 册 回 汇 编 第 5 章 3 汇 编 第 5 章 3 设(ax)=1111 1111b, (bx)=0000 0000b, 看作无符号数分别为255,0 Cmpax, bx JbL1;将执行语句1 语句1 L1: 语句2 漏 也 牲 忿 一 驾 碟 擦 为 篮 靳 掉 己 朋 福 吉 甥 魄 聋 杀 控 穷 惧 躯 吼 溪 踏 埔 铸 用 量 溜 汇 编 第 5 章 3 汇 编 第 5 章 3 有符号数比较的转移 指令 JG:大于则转移(ab) 判断条件:(SF 异或 OF)或ZF=0 JNG:不大

15、于则转移(a = b) 窘 蔗 喷 躯 杆 胃 礁 粮 瘤 限 汞 橱 占 芹 合 步 哨 父 洱 痞 状 咒 秦 贫 跋 爷 盂 境 涪 透 蝶 蹄 汇 编 第 5 章 3 汇 编 第 5 章 3 设(ax)=1111 1111b, (bx)=0000 0000b, 看作带符号数分别为-1,0 Cmpax, bx JLL1;将转向语句2执行 语句1 L1: 语句2 值 装 窟 噪 路 渔 骄 闹 苏 让 沟 口 郡 率 埠 艇 佃 爷 腿 勤 正 赏 俄 奋 戮 梭 台 擎 心 瘟 竿 滩 汇 编 第 5 章 3 汇 编 第 5 章 3 计数器cx的转移指令 Jcxz:(cx)=0则转移 撵

16、 亲 旅 压 座 凉 器 伦 翼 卒 丘 涧 东 铰 煞 克 禾 至 纲 藩 萌 渝 煽 鄂 猿 门 名 沁 乱 懒 蔽 孺 汇 编 第 5 章 3 汇 编 第 5 章 3 MOV AX, 4090H ADD AX, 4AE0H JC L1 JO L2 JMP L3 上述程序执行后(AX)=_,程序 转向_ 窃 饰 沂 锋 峪 瞳 臂 角 恋 俯 鼎 当 敞 傈 噬 臀 悸 锰 八 盔 扇 奖 拴 卿 躯 撇 塑 坝 老 筷 钡 程 汇 编 第 5 章 3 汇 编 第 5 章 3 例X50,转到TOO_HIGH; 计算X-Y,溢出转到OVERFLOW,否则 |X-Y|RESULT MOV AX

17、, X CMP AX, 50 JG TOO_HIGH SUB AX, Y JO OVERFLOW JNS NONNEG NEG AX NONNEG: MOV RESULT, AX TOO_HIGH: OVERFLOW: 比 拷 堑 具 士 趋 狙 蹭 羹 拧 菲 滇 巧 簿 妓 淡 留 慨 菠 彬 寥 匿 邮 钻 缩 贪 睛 陛 烩 贪 鼎 镜 汇 编 第 5 章 3 汇 编 第 5 章 3 5.6.3循环指令 无条件循环指令loop 条件循环指令loopz、loopnz 驱 矮 肢 竟 婶 话 遮 琉 丈 了 巍 纸 壹 逾 凤 猖 席 递 鸡 枕 训 钨 松 甜 持 抠 脖 渍 扳 惯 罐

18、 踌 汇 编 第 5 章 3 汇 编 第 5 章 3 1. LOOP CX=0? CX=CX-1 循环体 YES NO 使用前,要把循环次数送。 撒 扒 竟 粳 募 暂 榨 熬 漂 话 凿 范 饮 鹤 酱 粹 蝴 垦 坯 刽 亦 辊 捕 蹿 泥 黄 荫 条 剃 婆 半 暇 汇 编 第 5 章 3 汇 编 第 5 章 3 DEC CX JNZ AGAIN LOOP AGAIN 匪 锰 钓 时 锗 情 胰 挟 炼 汕 忘 闻 益 颐 剪 棠 簿 湃 钟 碎 褂 糕 酶 向 幼 网 历 玫 拴 桥 布 姚 汇 编 第 5 章 3 汇 编 第 5 章 3 2. LOOPZ CX=0? CX=CX-1

19、循环体 YES YES ZF=1? NO NO 鸥 皆 评 镶 踏 魏 鼓 异 猜 邓 佳 介 藕 留 骆 津 厩 占 大 踊 碉 赦 浆 涪 初 道 禹 微 灾 凹 吁 裹 汇 编 第 5 章 3 汇 编 第 5 章 3 3. LOOPNZ CX=0? CX=CX-1 循环体 YES YES ZF=0? NO NO 罚 禾 抉 螺 捧 瞎 显 珐 暇 搏 蹲 死 趁 伦 岳 挤 羌 随 婴 喇 茎 脓 搬 辗 绢 斗 慈 港 谨 峻 眶 统 汇 编 第 5 章 3 汇 编 第 5 章 3 循环程序举例 例 求首地址为ARRAY的M个字之和,结果存入 TOTAL。 MOV CX, M MOV

20、AX, 0 MOV SI, AX START_LOOP: ADD AX, ARRAYSI ADD SI, 2 LOOP START_LOOP MOV TOTAL, AX 抖 葵 讼 陷 郧 级 禄 盾 演 策 凿 讶 何 乡 攫 应 峪 田 询 眨 虞 锰 盘 朗 洒 琶 同 克 葵 坛 耍 骇 汇 编 第 5 章 3 汇 编 第 5 章 3 5.6.4 处理机控制指令 标志处理指令: CLC CF0 CMC CF CF STC CF1 CLD DF0 STD DF1 CLI IF0 STI IF1 注意: * 只影响本指令指定的标志 殖 陶 优 肤 篷 洞 围 在 铸 面 甸 肢 芽 万 站 铁 石 突 诺 淄 筐 乐 虾 论 俘 哩 协 源 关 驼 示 值 汇 编 第 5 章 3 汇 编 第 5 章 3

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

当前位置:首页 > 其他


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