数据库系统概论

Similar documents
数据库系统概论

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20

3.3.2 算术运算指令 数据类型 : 无符号和有符号整数 无符号数又分成 : 无符号二进制数 ; 无符号压缩十进制 :1 字节表示 2 个十进制数 ; 无符号非压缩十进制 :1 字节表示 1 个十进制数 有符号数 : 有符号二进制数 用补码表示 2015 年 3 月 26 日星期四 11 时 3

数据库系统概论

Microsoft Word - em78 sub program.doc

数据库系统概论

Microsoft PowerPoint - C15_LECTURE_NOTE_05.ppt

Microsoft PowerPoint - 微原-第3章2.ppt [兼容模式]

幻灯片 1

Microsoft PowerPoint - Ch3-8086CPU指令系统(2)-寻址.pptx

《微型计算机原理》

主要内容 指令系统的一般概念 指令操作方式操作码的含义指令对操作数的要求指令执行的结果 寻址方式 指令说明 2015 年 3 月 16 日星期一 8 时 2 分 37 秒 2

Microsoft PowerPoint - Ch3-8086CPUæ„⁄令系ç»�(3)-æŁ°æ“®ä¼€é•†æ„⁄令

指令系统 可分成如下 6 类 : 数据传送指令 算术运算指令 逻辑运算和移位指令 串操作指令 程序控制指令 处理器控制指令 2015 年 3 月 26 日星期四 8 时 41 分 27 秒 2

bingdian001.com

Microsoft PowerPoint - 05-第五讲-寻址方式.pptx

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63>

untitled

幻灯片 1

微机第02章1(指令寻址)

Microsoft PowerPoint - C15_LECTURE_NOTE_05.ppt

Microsoft PowerPoint - 微原-第3章3.ppt [兼容模式]

2006年国家公务员招录考试行测真题(A)


Microsoft PowerPoint - C15_LECTURE_NOTE_06

.., + +, +, +, +, +, +,! # # % ( % ( / 0!% ( %! %! % # (!) %!%! # (!!# % ) # (!! # )! % +,! ) ) &.. 1. # % 1 ) 2 % 2 1 #% %! ( & # +! %, %. #( # ( 1 (

# % & ) ) & + %,!# & + #. / / & ) 0 / 1! 2

Microsoft PowerPoint - C15_LECTURE_NOTE_06

第4章 80X86指令系统

微型计算机原理及应用试题 机电96

組譯與連結(Ver6

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

<4D F736F F D C4EAC6D5CDA8B8DFB5C8D1A7D0A3D5D0C9FAC8ABB9FACDB3D2BBBFBCCAD4CEC4BFC6D7DBBACDCAD4BEEDBCB0B4F0B0B82DD6D8C7ECBEED2E646F63>

Introduction to Computer Systems /18-243, spring st Lecture, Jan. 12th

第5章:汇编语言程序设计

本次习题课中提到的 课本, 均指机械工业出版社的 Intel 微处理器 ( 原书第八版 ) 中文版, 使用其他版本课本的同学需要自己对应

微机系统与接口--第2章 ppt

(2) Function 0BH: Function 0CH: (pixel, picture element) Function 0DH: Function 0FH: Function 13H:

<4D F736F F D C4EAB9FABCD2B9ABCEF1D4B1D0D0D5FEC4DCC1A6B2E2D1E9A3A841C0E0A3A92E646F63>

%! # # % % & # ( ) ( +, & +, +, & +, & +, +, &!

# ( + + # + # 6 +,! + # +! +, + # ( + ) ( + ( + ) + 7! + # + /8 + ) ( +! + #. + ( +, +! + # + # + + ( ! ( + ) ( + ) +, + ( + 9% +! +, + ( +


!"# $% & $%%% ( ")*+,-./00-(11.-. $%! $ " # $ % & ( - ) +%23!"# $%%% %,.%,!" $%.! 1.% & /$ 3(,. ( /0% $%%% ( $%%% ( 3 5 /6%%%! ")*+,-./00-(11

!! "!! "! "!! "! "! "!!#$% & ()*+, -./!000$ 1-2$##0! 3

一、填空题



Microsoft Word - 鄂卫办函[2009]64号.doc

全宋词1

& ((& ) ((


66 微型计算机原理与接口技术 ( 第二版 ) 2. 指令格式计算机中的汇编指令由操作码字段和操作数字段两部分组成 (1) 操作码字段 操作码表示计算机要执行的某种指令功能, 由它来规定指令的操作类型, 说明计算机要执行的具体操作, 例如传送 运算 移位 跳转等操作 同时还指出操作数的类型 操作数的

第四章 8086汇编语言程序设计

MSP430ϵÁе¥Æ¬»úµÄÖ¸Áîϵͳ.pps [¼æÈÝģʽ]

Microsoft PowerPoint - CH2_1.ppt [兼容模式]

数 学 高 分 的 展 望 一 管 理 类 联 考 分 析 第 一 篇 大 纲 解 析 篇 编 写 : 孙 华 明 1 综 合 能 力 考 试 时 间 :014 年 1 月 4 日 上 午 8:30~11:30 分 值 分 配 : 数 学 :75 分 逻 辑 :60 分 作 文 :65 分 ; 总

上 海 农 商 银 行 理 财 产 品 风 险 揭 示 书 理 财 资 金, 则 客 户 面 临 产 品 期 限 延 期 调 整 等 风 险 8. 信 息 传 递 风 险 : 上 海 农 商 银 行 将 按 照 本 说 明 书 有 关 信 息 公 告 的 约 定, 进 行 产 品 信 息 披 露 客

(譯本)

Microsoft PowerPoint - CH2_1.ppt [兼容模式]

中 公 金 融 人 简 介... 2 一 中 国 农 业 银 行 风 貌 介 绍... 3 二 中 国 农 业 银 行 秋 季 招 聘 政 策 解 读 三 2014 农 业 银 行 秋 季 校 园 招 聘 笔 试 备 考 策 略 中 公 金 融 人 精 品 课 程 介 绍..

(Microsoft Word - \246D\252k\267\247\255n_\275\306\277\357_.docx)

. v dx v d () () l s dl s d (_) d () v s v s () a dv a d (_) ( ) ( ) x- = v- = = v 0 = m/s a = = m/s 2 a- = ( ) x- v- a- Page 2 of 20

山东2014第四季新教材《会计基础》冲刺卷第二套

PowerPoint Presentation

6寸PDF生成工具


# 7 % % % < % +!,! %!!

14052_公開用.pdf

#!! +!,! # &!. / !!, 7!!, & #! % 7! % )

& ( )! +!, # %! ( & &.! / /.

,,,,,,,,,,,,, :,, ;,,,,, ( ),,,, : ( ) ; ( ) ; ( ) ( ) ; ( ) ( A ) ; ( ) ( ),,,,,,, 80

微机第02章1(指令寻址)

! + +, ) % %.!&!, /! 0! 0 # ( ( # (,, # ( % 1 2 ) (, ( 4! 0 & 2 /, # # ( &

标题

%% &% %% %% %% % () (! #! %!!!!!!!%! # %& ( % & ) +, # (.. /,) %& 0

申 请 律 师 执 业 许 可 初 审 服 务 指 南 目 录 一 办 理 要 素 ( 一 ) 事 项 名 称 和 编 码 4 ( 二 ) 实 施 机 构 4 ( 三 ) 申 请 主 体 4 ( 四 ) 受 理 地 点 4 ( 五 ) 办 理 依 据 4 ( 六 ) 办 理 条 件 5 ( 七 )

环 境, 我 在 巩 固 在 校 期 间 所 学 习 的 理 论 知 识 的 同 时, 不 断 的 充 实 己, 利 用 业 余 时 间 主 动 学 习 专 业 知 识, 技 能, 把 理 论 联 系 到 工 作 实 践 中 作 为 一 名 工 作 生 活 中 的 党 员, 我 始 终 注 意 与

邻居啊 第二天 对门却悄无声息了 莫非昨夜的吵闹 仅是个幻觉 夜幕拉下时 寒风又吱溜溜地叫个不停 老婆 睡下后 我这只夜猫子 继续兴致勃勃地跟着福尔 摩斯去探案 白天的喧嚣退去了 周围格外安静 正 是读书的好时候 突然 响起了钟摆声 哒 哒 哒 节奏匀称 不疾不徐 声响却愈来愈大 格外突兀 了 原来

<4D F736F F D BAC520CAD7B6BCCAA6B7B6B4F3D1A C4EAD7A8D2B5BCBCCAF5D6B0CEF1C6C0C6B8B9A4D7F7D2E2BCFB2E646F63>

其 他 方 面 也 可 以 采 用 同 样 的 方 式, 这 样 又 可 以 锻 炼 除 语 文 方 面 的 其 他 能 力 了 而 英 语 方 面, 我 认 为 配 合 英 语 专 业 举 办 英 语 演 讲 比 赛 就 很 不 错 这 样 开 展 一 系 列 的 创 新 活 动, 锻 炼 多 方

第 六 条 办 法 第 五 条 ( 三 ) 协 会 考 评, 考 评 指 考 核 评 价 第 七 条 办 法 第 六 条 职 业 操 守 包 括 的 内 容 : 个 人 诚 信 不 做 假 账 不 偷 漏 税 不 贪 污 盗 窃 等 第 八 条 企 业 财 务 管 理 人 才 评 价 实 行 五 星

<4D F736F F D A67EABD7A4BAB3A1B1B1A8EEA8EEABD7A6DBA6E6B5FBA6F4AD70B5652E646F63>

统计工作情况汇报

他 随 身 带 有 二 三 十 张 古 方, 白 天 卖 药, 夜 晚 将 药 材 精 细 研 末, 按 方 配 制 对 于 病 人 服 药 后 反 应, 特 别 留 心 发 现 问 题, 就 近 向 老 医 生 老 药 贩 虚 心 求 教, 千 方 百 提 高 药 效 同 时 对 于 春 夏 秋

目 录 第 一 章 地 方 陪 同 导 游 人 员 服 务 程 序...1 第 一 节 地 方 陪 同 导 游 人 员 的 概 念 与 职 责...1 第 二 节 服 务 准 备...2 一 熟 悉 接 待 计 划...2 二 落 实 接 待 事 宜...5 三 物 质 和 知 识 的 准 备...

走 吧, 到 三 峡 去 : 那 里 是 我 们 先 人 用 生 命 之 血 打 造 的 家 园 走 吧, 到 三 峡 去 : 那 里 的 浪 涛 承 载 过 千 百 万 只 我 们 先 人 驶 向 今 天 的 航 船 走 吧, 到 三 峡 去 : 那 里 的 每 一 座 青 山 都 刻 满 了 我

6寸PDF生成工具

Microsoft Word - 送報伕2.doc

Microsoft Word - N011 斷翅天使

中 国 科 学 院 国 家 科 学 图 书 馆

申论写作套路万能模板

( 地 ( ) 组 织 机 构 代 码 企 业 详 细 名 称 哈 密 地 伊 吾 新 疆 广 汇 新 能 源 有 限 公 司 玛 纳 斯 玛 纳 斯 祥 云 化 纤 有 限 公 司 玛 纳 斯 玛 纳 斯 澳 洋 科 技 有 限 责

图 文 聚 焦 国 培 计 划 (2013) 甘 肃 省 农 村 小 学 音 乐 骨 干 教 师 短 期 集 中 培 训 9 月 4 日 开 班 了, 学 员 老 师 们 从 甘 肃 省 各 个 县 市 州 汇 聚 湖 南 一 师, 开 始 了 为 期 14 天 的 培 训 学 习 : 鲜 明 的

申請機構基本資料

申請機構基本資料

Microsoft Word - 三方协议书与接收函的相关说明学生版.doc

附件1

~2~

,,

Transcription:

2. 减法指令 8086/8088 共有 5 条减法指令 1 不带 CF 的减法指令 (SUB) 格式 :SUB DST, SRC 功能 :(1)DST (DST)-(SRC) (2) 根据差设置 6 个状态标志

2 带 CF 的减法指令 (SBB) 格式 :SBB DST, SRC 功能 : (1)DST (DST)-(SRC)-CF (2) 根据差设置 6 个状态标志

3 减 1 指令 (DEC) 格式 :DEC DST 功能 : (1)DST (DST)-1, (2) 根据差设置除 CF 以外的 6 个状态标志, 对 CF 无影响

4 取负指令 (NEG) 格式 :NEG DST 功能 : DST 0-(DST), NEG 指令完成的是特殊的减法操作, 它的被减数一定为零, 因此它是一条单操作数指令

实际它是将目的操作数的值取负 若操作数的原值为一正数, 那么, 执行该指令后, 其值变为该数的负数的补码 ; 而若操作数的原值为一负数 ( 补码表示 ), 那么, 执行该指令后, 其值变为该数所对应的正数 该指令将正常影响各标志位, 并且 CF 表示最高位产生的借位 指令中的目的操作数可以采用除立即数以外的各种寻址方式

例 1: 若 (AL)=03H, 则 CPU 执行 NEG AL 指令后, (AL)=0FDH -3 的补码 ` ` ` ` 0 0 0 0 0 0 0 0 B - 0 0 0 0 0 0 1 1 B [1]1 1 1 1 1 1 0 1 B 结果为 -3 的补码 AF=1 PF=0 ZF=0 SF=1 CF=1 OF=0

若 (AL)=0FDH, 则 CPU 执行 NEG AL 指令后, (AL)=03H - +3 的补码 ` ` ` ` 0 0 0 0 0 0 0 0 B 1 1 1 1 1 1 0 1 B [1]0 0 0 0 0 0 1 1 B 结果为 +3 的原码 ( 补码 ) 应用场合 : 常常用于求某数的绝对值的场合

5 比较指令 (CMP) 格式 :CMP DST,SRC 功能 :(1)(DST) (SRC) (2) 根据差设置 6 个状态标志位

与减法指令不同的是所产生的两数之差并不取代目的操作数, 因而指令执行后, 仅仅改变了标志寄存器的内容, 两操作数的值保持不变

应用场合 : 两操作数参加比较, 根据比较结果确定两操作数之间的关系 ( 如等于 大于 小于等 ) 在分支程序设计中, 用来产生条件, 其后往往紧跟的是一条条件转移指令

如 : CMP DST,SRC Y P2 条件满足吗? N P1 条件有 ZF SF CF OF PF

程序中的表现形式为 : CMP AL,0 JZ L1 L1:

在此, 结合 CMP 指令的应用, 简 要介绍一下 8086 指令系统中的条件 转移指令 ( 见教材 P109-111)

例. 有两数 Α 和 Β, 则 CPU 执行下列指令组 MOV AL,Α CMP AL,Β ;(AL) Β, 根据差 ; 设置 6 个状态标志 后, 要实现条件转移, 根据不同的条件, 有不同的条件转移指令

根据单个条件标志实现转移 ZF SF 1, JZ/JE 标号 测试条件 :ZF=1 0,JNZ/JNE 标号 测试条件 :ZF=0 1, JS 标号 测试条件 :SF=1 0, JNS 标号 测试条件 :SF=0

OF PF CF 1, JO 标号 测试条件 :OF=1 0, JNO 标号 测试条件 :OF=0 1, JP 标号 测试条件 :PF=1 0, JNP 标号 测试条件 :PF=0 1, JC 标号 测试条件 :CF=1 0, JNC 标号 测试条件 :CF=0

若 Α Β 为两个无符号数, 根据比较结果实现转移 Α=Β JE/JZ 标号 测试条件 : ZF=1 Α 低于 Β( 或 Α 不高于或不等于 Β) JB/JC/JNAE 标号测试条件 : CF=1

Α 不低于 Β( 或高于或等于 ) JNB/JAE/JNC 标号测试条件 :CF=0 Α 高于 Β( 或不低于或不等于 ) JA/JNBE 标号测试条件 :CF ZF=0 Α 不高于 Β( 或低于或等于 ) JNA/JBE 标号测试条件 :CF ZF=1

若 Α Β 为两个带符号数, 根据比较结果实现转移 Α=Β JE/JZ 标号 测试条件 : ZF=1 Α 小于 Β( 或 Α 不大于或不等于 Β) JL/JNGE 标号测试条件 :SF OF=1

Α 不小于 Β( 大于或等于 ) JNL/JGE 标号测试条件 :SF OF=0 Α 大于 Β( 不小于或不等于 ) JG/JNLE 标号测试条件 :(SF OF) ZF=0 Α 不大于 Β( 小于或等于 ) JNG/JLE 标号测试条件 :(SF OF) ZF=1

测试 CX 的值为 0 则转移 JCXZ 标号 测试条件 : (CX)=0 下面举例说明比较指令 (CMP) 和条件转移指令的用法

例 1. 设在存储器 BUFFER 单元存放着一个字节的带符号数 X, 求 X 的绝对值, 并将结果放回原处 (P98 例 4.3.3) 算法 : X = X,; 当 X 0 时 -X,; 当 X<0 时

流程图 : AL (BUFFER) Y X 0? N 求负 (BUFFER) (AL) 程序 : MOV AL,BUFFER CMP AL,0 JNS NONEG NEG AL NONEG:MOV BUFFER,AL

例 2: 符号函数的处理 有一符号函数 : Y= 1, 当 X>0 时 (-128 X +127) 0, 当 X=0 时 -1, 当 X<0 时 设给定值 X 存放在 XX 单元, 函数 Y 值 存放到 YY 单元

流程图 : 程序 : (AL)=0? N AL 1 Y Y AL (XX) (AL) 0? N (AL) -1 (YY) (AL) MOV AL,XX CMP AL,0 JGE BIGR MOV AL,-1 JMP EQUL BIGR:JE EQUL MOV AL,1 EQUL:MOV YY,AL

3. 乘法指令 (MUL/IMUL) 乘法指令分带符号运算和不带符号运算两种 带符号运算时, 操作数和结果均以补码表示, 结果的符号按一般的运算规则确定 无符号数乘法指令 (MUL) 格式 :MUL SRC 不能为立即数

功能 : DST( 被乘数 ) SRC( 乘数 ) 字节乘 : AX 积 (AL) * (SRC) 字乘 : DX:AX 积 (AX) * (SRC) 操作类型 : 用 SRC 的类型确定 乘法指令只影响 CF 和 OF 标志, 其余标志均无意义

其中, CF=0 OF=0 CF=1 OF=1 表明结果的高位字节 ( 或字 ) 为全 0 表明结果的高位字节 ( 或字 ) 有有效积

带符号数乘法指令 (IMUL) 格式 :IMUL SRC 不能为立即数

功能 : DST( 被乘数 ) SRC( 乘数 ) 字节乘 : AX 积 (AL) * (SRC) 字乘 : DX:AX 积 (AX) * (SRC) 操作类型 : 用 SRC 的类型确定 乘法指令只影响 CF 和 OF 标志, 其余标志均无意义

其中, CF=0 OF=0 CF=1 OF=1 表明结果的高位字节 ( 或字 ) 仅仅是低位字节 ( 或字 ) 的符号扩展 表明结果的高位字节 ( 或字 ) 有有效积

总之, 乘法指令中的目的操作数一定为 AL(8 位数相乘 ) 或 AX (16 位数相乘 ), 源操作数不能为立即数, 但可采用其它寻址方式, 指令对字节运算还是字运算由源操作数的类型确定

例 1. 下列指令是合法的 MUL CX ;(DX:AX) (AX)*(CX), 为字操作 IMUL CL ;(AX) (AL)*(CL), 为字节操作下列指令是非法的 MUL AL,BL 〤 DST( 被乘数 ) 应为隐含寻址 IMUL 05H 〤 SRC( 乘数 ) 不能为立即数寻址

例 2. 若 (AL)=05H,(BL)=0FDH 则 CPU 执行 : MUL BL ; 无符号数乘法 ;(AL)*(BL) 积 AX ; (AX)=04F1H

则 CPU 执行 : IMUL BL ; 带符号数乘法 ;(AL)*(BL) 积 AX ; 05H*0FDH=0FFF1H [-3] 补 ; (AX)=0FFF1H ( 即 [-15] ) 补

4. 除法指令 (DIV/IDIV) 除法指令和乘法指令一样, 分无符号除法和带符号除法 操作类型有字节除法和字除法, 其操作类型取决于 SRC( 除数 ) 的类型 无符号数除法指令 (DIV) 格式 :DIV SRC

带符号数除法指令 (IDIV) 格式 :IDIV SRC 其中,DST 为隐含寻址 ( 作被除数 ) 字节除时, 被除数一定在 AX 中字除时, 被除数一定在 DX:AX 中 SRC( 除数 ) 不能为立即数

功能 : 字节除法 : (AX)/(SRC) 商 余数 AL AH 字除法 : (DX:AX)/(SRC) 商 余数 AX DX

除法运算后, 标志位没有意义 除法不允许出现除数为 0 或商溢出, 若发生除数为 0 或商溢出则其结果没有意义, 并引起中断 ( 关于中断的概念以后再作介绍 )

例 1. 下列指令是合法的 DIV BL IDIV CX DIV WORD PTR [BX][SI] 下列指令是非法的 DIV 12 〤 SRC( 除数 ) 不能为立即数寻址 DIV [SI]+02H 〤 SRC 类型不明确 IDIV AX,BL 〤 DST( 被除数 ) 应为隐含寻址

例 2. 在存储器 HEX 单元存放着一个字节的无符号二进制数, 试将其转换成十进制数以分离 BCD 数形式存到 BCD1 以下存储单元 ( 设个位存在低地址单元 )

分析题目 HEX BCD1 66H??? 个位十位百位

确定算法 : 用除 10 取余法 即用被转换的数除以 10, 第一次得到的余数为转换后的十进制数的个位数, 用中间商再除以 10, 得到的余数为转换后十进制数的十位数, 最后的商为十进制数的百位数

流程图 : START AL (HEX) AH 0 BL 10 SI OFFSET BCD1 (AX)/(BL) ((SI)) AH AH 0 (AX)/(BL) ((SI)+1) (AH) ((SI)+2) (AL) 结束

程序 : ; 在数据段定义变量如下 : HEX DB 66H BCD1 DB 3 DUP (?) ; 在代码段编写程序 MOV AH,0 MOV AL,HEX MOV BL,10 MOV SI,OFFSET BCD1 DIV BL MOV [SI],AH MOV AH,0 DIV BL MOV [SI]+1,AH MOV [SI]+2,AL...

程序执行后存储器示意图 HEX BCD1 66H 02H 00H 01H 个位十位百位

5. 符号扩展指令 (CBW/CWD) 格式 : CBW 功能 : 将 AL 中的符号扩展到 AH 中, 即将一个字节的带符号数 扩展成一个字

格式 : CWD 功能 : 将 AX 中的符号扩展到 DX 中, 将一个字的带符号数扩展 成双字

应用场合 : 在算术运算中, 有时会遇到两个长度不等的数进行加 减运算, 此时, 应将长度短的数的位数扩展, 以使两数的长度一致, 只有这样, 才能保证参加运算的两个操作数的类型是一致的 对于一个无符号数来说, 这种扩展是简单的, 只要将其高位补 0 就可以 ; 但对一个带符号数来说就不一样了, 高位扩展时, 补 0 还是补 1 就取决于该数的符号位

例 1. 若 (AL)=05H, 则 CPU 执行 CBW 后, (AX)=0005H 若 (AL)=0FDH, 则 CPU 执行 CBW 后, (AX)=0FFFDH [-3] 补

例 2. 写出计算 Y=a*b+c-18 的程序 (P102 例 4.3.1) ; 在数据段定义变量如下 : DAT1 DB 34H ;34H 为变量 a 的一个设定值 DAT2 DB 56H ;56H 为变量 b 的一个设定值 DAT3 DB 0E7H ;0E7H 为变量 c 的一个设定值 DATY DW? ;DATY 单元存放结果

; 在代码段编写程序 MOV AL,DAT1 ; 取 a MOV BL,DAT2 ; 取 b IMUL BL ;(AL)*(BL) (AX) MOV BX,AX ;(AX) (BX) MOV AL,DAT3 ; 取 c CBW ; 扩展 AL AX ADD AX,BX ;(AX)+(BX) (AX) SUB AX,18 MOV DATY,AX Y=a*b+c-18

作业 :P186 188 1. 2. 3.(1)---(9) 4. 5. 6. 7. 8. 9.