ibm-pc汇编语言程序设计课后习题答案(第二版沈美明).pdf

上传人:无*** 文档编号:92854396 上传时间:2023-06-16 格式:PDF 页数:227 大小:17.44MB
返回 下载 相关 举报
ibm-pc汇编语言程序设计课后习题答案(第二版沈美明).pdf_第1页
第1页 / 共227页
ibm-pc汇编语言程序设计课后习题答案(第二版沈美明).pdf_第2页
第2页 / 共227页
点击查看更多>>
资源描述

《ibm-pc汇编语言程序设计课后习题答案(第二版沈美明).pdf》由会员分享,可在线阅读,更多相关《ibm-pc汇编语言程序设计课后习题答案(第二版沈美明).pdf(227页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第 一 章 1.1 用 降 基 法 和 除 法 将 下 列 十 进 制 数 转 换 为 二 进 制 数 和 十 六 进 制 数:(1)369(2)10000(3)4095(4)32767答:(1)369=1 0111 0001B=171H(2)10000=10 0111 0001 0000B=2710H(3)4095=1111 1111 1111B=FFFH(4)32767=111 1111 1111 1111B=7FFFH1.2 将 下 列 二 进 制 数 转 换 为 十 六 进 制 数 和 十 进 制 数:(1)10 1101(2)1000 0000(3)1111 1111 1111 11

2、11(4)1111 1111答:(1)10 U01B=2DH=45(2)1000 0000B=80H=128(3)1111 1111 1111 1111B=FFFFH=65535(4)1111 1111B=FFH=2551.3 将 下 列 十 六 进 制 数 转 换 为 二 进 制 数 和 十 进 制 数:(1)FA(2)5B(3)FFFE(4)1234答:(1)FAH=1111 1010B=250(2)5BH=101 1011B=91(3)FFFEH=1111 1111 1111 1110B=65534(4)1234H=1 0010 0011 0100B=46601.4完 成 下 列 十 六

3、 进 制 数 的 运 算,并 转 换 为 十 进 制 数 进 行 校 核:(1)3A+B7(2)1234+AF(3)ABCD-FE(4)7ABX6F答:(1)3A+B7H=F1H=241(2)1234+AFH=12E3H=4835(3)ABCD-FEH=AACFH=43727(4)7ABX6FH=35325H=2178931.5下 列 各 数 均 为 十 进 制 数,请 用 8 位 二 进 制 补 码 计 算 下 列 各 题,并 用 十 六 进 制 数 表 示 其 运 算 结 果。(1)(-85)+76(2)85+(-76)(3)85-76(4)85-(-76)(5)(-85)-76(6)-8

4、5-(-76)答:(1)(-85)+76=1010 1011B+0100 1100B=llll 0111B=0F7H;CF=0;0F=0(2)85+(-76)=0101 0101B+1011 01008=0000 1001B=09H;CF=1;OF=0(3)85-76=0101 0101B-0100 1100B=0101 0101B+1011 0100B=0000 1001B=09H;CF=0;0F=0(4)85-(-76)=0101 0101B-1011 0100B=0101 0101B+0100 1100B=10100001B=0AlH;CF=0;0F=l(5)(-85)-76=1010

5、1011B-0100 1100B=1010 1011B+1011 0100B=0101 1111B=5FH;CF=0;0F=l(6)-85-(-76)=1010 1011B-1011 0100B=1010 lOUB+01001100B=11110111B=0F7H;CF=0;0F=01.6 下 列 各 数 为 十 六 进 制 表 示 的 8 位 二 进 制 数,请 说 明 当 它 们 分 别 被 看 作 是 用 补 码 表 示 的 带 符 号 数 或 无 符 号 数 时,它 们 所 表 示 的 十 进 制 数 是 什 么?(1)D8(2)FF答:(1)D8H表 示 的 带 符 号 数 为-40

6、,D8H表 示 的 无 符 号 数 为 216;(2)FFH表 示 的 带 符 号 数 为-1,FFH表 示 的 无 符 号 数 为 255。1.7 下 列 各 数 均 为 用 十 六 进 制 表 示 的 8 位 二 进 制 数,请 说 明 当 它 们 分 别 被 看 作 是 用 补 码 表 示 的 数 或 字 符 的 A S C H码 时,它 们 所 表 示 的 十 进 制 数 及 字 符 是 什 么?(1)4F(2)2B(3)73(4)59答:(1)4FH表 示 的 十 进 制 数 为 79,4FH表 示 的 字 符 为 0;(2)2BH表 示 的 十 进 制 数 为 43,2BH表 示

7、的 字 符 为+;(3)73H表 示 的 十 进 制 数 为 115,73H表 示 的 字 符 为 s;(4)59H表 示 的 十 进 制 数 为 89,59H表 示 的 字 符 为 Y。1.8请 写 出 下 列 字 符 串 的 A S C H码 值。For example,This is a number 3692.答:46H 6FH 72H 20H 65H 78H 61H 6DH 70H 6CH 65H 2CH OAH ODH54H 68H 69H 73H 20H 69H 73H 20H 61H 20H 6EH 75H 6DH 62H 65H 72H 20H 33H36H 39H 32H

8、2EH OAH ODH第 二 章 2.1在 80 x86微 机 的 输 入/输 出 指 令 中,I/O端 口 号 通 常 是 由 DX寄 存 器 提 供 的,但 有 时 也 可 以 在 指 令 中 直 接 指 定 OOFFH的 端 口 号。试 问 可 直 接 由 指 令 指 定 的 I/O端 口 数。答:可 直 接 由 指 令 指 定 的 I/O端 口 数 为 256个。2.2 有 两 个 16位 字 1EE5H和 2A3CH分 别 存 放 在 80 x86微 机 的 存 储 器 的 OOOBOH和 000B3H单 元 中,请 用 图 表 示 出 它 们 在 存 储 器 里 的 存 放 情 况

9、。答:存 储 器 里 的 存 放 情 况 如 右 下 图 所 示:OOOBOH E5H000B1H 1EH000B2H000B3H 3CH000B4H 2AH2.3 在 IBM PC机 的 存 储 器 中 存 放 信 息 如 右 下 图 所 示。试 读 出 30022H和 30024H字 节 单 元 的 内 容,以 及 30021H和 30022H字 单 元 的 内 容。30020H 12H30021H 34H30022H ABH30023H CDH30024H EFH答:30022H字 节 单 元 的 内 容 为 ABH;30024H字 节 单 元 的 内 容 为 EFH。30021H字 单

10、 元 的 内 容 为 AB34H;30022H字 单 元 的 内 容 为 CDABH。2.4 在 实 模 式 下,段 地 址 和 偏 移 地 址 为 3017:000A的 存 储 单 元 的 物 理 地 址 是 什 么?如 果 段 地 址 和 偏 移 地 址 是 3015:002A和 3010:007A呢?答:3017:000A.3015:002A和 3010:007A的 存 储 单 元 的 物 理 地 址 都 是 3017AH。2.5如 果 在 一 个 程 序 开 始 执 行 以 前(CS)=0A7F0H,(如 16进 制 数 的 最 高 位 为 字 母,则 应 在 其 前 加 一 个 0)

11、(IP)=2B40H,试 问 该 程 序 的 第 一 个 字 的 物 理 地 址 是 多 少?答:该 程 序 的 第 一 个 字 的 物 理 地 址 是 0AAA40H。2.6在 实 模 式 下,存 储 器 中 每 一 段 最 多 可 有 10000H个 字 节。如 果 用 调 试 程 序 DEBUG的 r 命 令 在 终 端 上 显 示 出 当 前 各 寄 存 器 的 内 容 如 下,请 画 出 此 时 存 储 器 分 段 的 示 意 图,以 及 条 件 标 志 OF、SF、ZF、CF的 值。Odebug-rAX=0000 BX=0000 CX=0079 DX=0000 SP=FFEE BP

12、=0000SI=0000 DI=0000 DS=10E4 ES=10F4 SS=21F0 CS=31FFIP=0100 NV UP DI PL NZ NA PO NC答:此 时 存 储 器 分 段 的 示 意 图 如 右 图 所 示。OF、SF、ZF、CF的 值 都 为 0。2.7下 列 操 作 可 使 用 那 些 寄 存 器?(1)加 法 和 减 法 数 据 寄 存 器 等(2)循 环 计 数 CX(3)乘 法 和 除 法 AX、DX,乘 数 和 除 数 用 其 他 寄 存 器 或 存 储 器(4)保 存 段 地 址 段 寄 存 器(5)表 示 运 算 结 果 为 0 ZF=1(6)将 要

13、执 行 的 指 令 地 址 CS:IP(7)将 要 从 堆 栈 取 出 数 据 的 地 址 SS:SP答:答 案 见 题 目 的 右 边。2.8那 些 寄 存 器 可 以 用 来 指 示 存 储 器 地 址?答:BX、BP、SI、DI、堆 栈 操 作 时 的 SP、对 应 的 段 地 址、386及 其 后 继 机 型 的 Exxo2.9 请 将 下 列 左 边 的 项 和 右 边 的 解 释 联 系 起 来(把 所 选 字 母 放 在 括 号 中):(1)CPU(M)A.保 存 当 前 栈 顶 地 址 的 寄 存 器。(2)存 储 器(C)B.指 示 下 一 条 要 执 行 的 指 令 的 地

14、 址。(3)堆 栈(D)C.存 储 程 序、数 据 等 信 息 的 记 忆 装 置,微 机 有 RAM和 ROM两 种。(4)IP(B)D.以 后 进 先 出 方 式 工 作 的 存 储 空 间。(5)SP(A)E.把 汇 编 语 言 程 序 翻 译 成 机 器 语 言 程 序 的 系 统 程 序。(6)状 态 标 志(L)F.唯 一 代 表 存 储 空 间 中 每 个 字 节 单 元 的 地 址。(7)控 制 标 志(K)G.能 被 计 算 机 直 接 识 别 的 语 言。(8)段 寄 存 器(J)H.用 指 令 的 助 记 符、符 号 地 址、标 号 等 符 号 书 写 程 序 的 语 言

15、。(9)物 理 地 址(F)I.把 若 干 个 模 块 连 接 起 来 成 为 可 执 行 文 件 的 系 统 程 序。(10)汇 编 语 言(H)J.保 存 各 逻 辑 段 的 起 始 地 址 的 寄 存 器,8086/8088机 有 四 个:CS DS、SS、ESo(11)机 器 语 言(G)K.控 制 操 作 的 标 志,如 DF位。(12)汇 编 程 序(E)L.记 录 指 令 操 作 结 果 的 标 志,共 6 位:OF,SF、ZF、AF、PF、CFo(13)连 接 程 序(DM.分 析、控 制 并 执 行 指 令 的 部 件,由 算 术 逻 辑 部 件 ALU和 寄 存 器 等 组

16、 成。(14)指 令(0)N.由 汇 编 程 序 在 汇 编 过 程 中 执 行 的 指 令。(15)伪 指 令(N)0.告 诉 CPU要 执 行 的 操 作(一 般 还 要 指 出 操 作 数 地 址),在 程 序 运 行 时 执 行。答:答 案 见 题 目 的 括 号 中。7)/7X)/77 X17)zX)/7)/)/234567空 n234567z(/(/(/(/(/(夕 匚 z(/(/(/(/(/(第 三 章 3.1 给 定(BX)=637DH,(SI)=2A9BH,位 移 量 D=7237H,试 确 定 在 以 下 各 种 寻 址 方 式 下 的 有 效 地 址 是 什 么?(1)立

17、 即 寻 址 直 接 寻 址 使 用 BX的 寄 存 器 寻 址 使 用 BX的 简 接 寻 址 使 用 BX的 寄 存 器 相 对 寻 址 基 址 变 址 寻 址 相 对 基 址 变 址 寻 址(1)操 作 数 在 指 令 中,即 立 即 数;EA=D=7237H;无 EA,操 作 数 为(BX)=637DH;EA=(BX)=637DH;EA=(BX)+D=0D5B4H;EA=(BX)+(SI)=8E18H;EA=(BX)+(SI)+D=1004FH;超 过 了 段 的 边 界,最 高 进 位 位 丢 失,因 此 EA=004FHo3.2试 根 据 以 下 要 求 写 出 相 应 的 汇 编

18、 语 言 指 令(1)把 BX寄 存 器 和 DX寄 存 器 的 内 容 相 加,结 果 存 入 DX寄 存 器 中。(2)用 寄 存 器 BX和 SI的 基 址 变 址 寻 址 方 式 把 存 储 器 中 的 一 个 字 节 与 AL寄 存 器 的 内 容 相 加,并 把 结 果 送 到 AL寄 存 器 中。(3)用 寄 存 器 BX和 位 移 量 0B2H的 寄 存 器 相 对 寻 址 方 式 把 存 储 器 中 的 一 个 字 和(CX)相 加,并 把 结 果 送 回 存 储 器 中。(4)用 位 移 量 为 0524H的 直 接 寻 址 方 式 把 存 储 器 中 的 一 个 字 与

19、数 2A59H相 加,并 把 结 果 送 回 存 储 单 元 中。(5)把 数 OB5H与(AL)相 加,并 把 结 果 送 回 AL中。答:ADD DX,BX(2)ADD AL,BXSI(3)ADD BX+0B2H,CX(4)ADD WORD PTR 0524H,2A59H(5)ADD AL,0B5H3.3写 出 把 首 地 址 为 BLOCK的 字 数 组 的 第 6 个 字 送 到 DX寄 存 器 的 指 令。要 求 使用 以 下 儿 种 寻 址 方 式:(1)寄 存 器 间 接 寻 址(2)寄 存 器 相 对 寻 址(3)基 址 变 址 寻 址 答:(1)MOV BX,OFFSET B

20、LOCKADD BX,(6-1)*2MOV DX,BX(2)MOV BX,OFFSET BLOCK 改 为:MOV BX,(6-1)*2MOV DX,BX+(6-1)*2也 可 MOV DX,BLOCK BX(3)MOV BX,OFFSET BLOCKMOV SI,(6-1)*2MOV DX,BXSI3.4 现 有(DS)=2000H,(BX)=O1OOH,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试 说 明

21、 下 列 各 条 指 令 执 行 完 后 AX寄 存 器 的 内 容。MOV AX,1200HMOV AX,BXMOV AX,1200HMOV AX,BXMOV AX,1100BXMOV AX,BXSIMOV AX,11OOBXSI(1)(AX)=1200H(AX)=01OOH(AX)=4C2AH(AX)=3412H(AX)=4C2AH(AX)=7856H(AX)=65B7H3.5 给 定(IP)=2BC0H,(CS)=0200H,位 移 量 D=5119H,(BX)=1200H,(DS)=212AH,(224A0H)=0600H,(275B9H)=098AH,试 为 以 下 的 转 移 指

22、令 找 出 转 移 的 偏 移 地 址。(1)段 内 直 接 寻 址(2)使 用 BX及 寄 存 器 间 接 寻 址 方 式 的 段 内 间 接 寻 址(3)使 用 BX及 寄 存 器 相 对 寻 址 方 式 的 段 内 间 接 寻 址 答:(1)JMP NEAR PTR 5119H;(IP)=5119H+(IP)+03H)=7CDCH,物 理 地 址 PA=09CDCH(IP)+03H是 JMP NEAR PTR 5119H指 令 的 下 一 条 指 令 的 首 地 址。(2)JMP WORD PTR BX;(IP)=(DS)*10H+(BX)=0600H,PA=02600H(3)JMP D

23、BX;(IP)=(DS)*10H+(BX)+D)=098AH,PA=0298AH3.6设 当 前 数 据 段 寄 存 器 的 内 容 为 1B00H,在 数 据 段 的 偏 移 地 址 2000H单 元 内,含 有 一 个 内 容 为 0FF10H和 8000H的 指 针,它 们 是 一 个 16位 变 量 的 偏 移 地 址 和 段 地 址,试 写 出 把 该 变 量 装 入 AX的 指 令 序 列,并 画 图 表 示 出 来。答:MOV BX,2000H;图 示 如 上 所 示。MOV AX,2000H+2X)/)zX)/)/X)/)/|77)/X)/)/X)/)/1234567空 n23

24、4567z(z(/tz(zlz(z(勿 匚/(z(/(z/lz(xz(MOV ES,AXMOV AX,ES:BX3.7在 0624H单 元 内 有 一 条 二 字 节 JMP SHORT OBJ指 令,如 其 中 位 移 量 为(1)27H,(2)6BH,(3)0C6H,试 问 转 向 地 址 OBJ的 值 是 多 少?答:(1)0BJ=0624H+02H+27H=064DH(2)0BJ=0624H+02H+6BH=0691H(3)0BJ=0624H+02H+0C6H=05ECH;C6H对 应 的 负 数 为-3AH(向 上 转 移,负 位 移 量)3.8 假 定(DS)=2000H,(ES)

25、=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=001 OH,数 据 段 中 变 量 名 VAL的 偏 移 地 址 为 0050H,试 指 出 下 列 源 操 作 数 字 段 的 寻 址 方 式 是 什 么?其 物 理 地 址 值 是 多 少?(1)MOV AX,OABH(2)MOV AX,BX(3)MOV AX,100H(4)MOV AX,VAL(5)MOV AX,BX(6)MOV AX,ES:BX(7)MOV AX,BP(8)MOV AX,SI(9)MOV AX,BX+10(10)MOV AX,VALBX(11)MOV AX,BXSI(12)MOV

26、 AX,VALBXSI答:(1)立 即 方 式;操 作 数 在 本 条 指 令 中(2)寄 存 器 寻 址 方 式;操 作 数 为(BX)=0100H(3)直 接 寻 址 方 式;PA=20100H(4)直 接 寻 址 方 式;PA=20050H(5)BX寄 存 器 间 接 寻 址 方 式;PA=20100H(6)附 加 段 BX寄 存 器 间 接 寻 址 方 式;PA=21100H(7)BP寄 存 器 间 接 寻 址 方 式;PA=15010H(8)SI寄 存 器 间 接 寻 址 方 式;PA=200A0H(9)BX寄 存 器 相 对 寻 址 方 式;PA=20110H(10)BX寄 存 器

27、 相 对 寻 址 方 式;PA=20150H(11)BX和 SI寄 存 器 基 址 变 址 寻 址 方 式;PA=201A0H(12)BX和 SI寄 存 器 相 对 基 址 变 址 寻 址 方 式;PA=201F0H3.9在 ARRAY数 组 中 依 次 存 储 了 七 个 字 数 据,紧 接 着 是 名 为 ZERO的 字 单 元,表 示 如 下:ARRAY DW 23,36,2,100,32000,54,0ZERO DW?(1)如 果 BX包 含 数 组 ARRAY的 初 始 地 址,请 编 写 指 令 将 数 据 0传 送 给 ZERO单 元。(2)如 果 BX包 含 数 据 0 在 数

28、 组 中 的 位 移 量,请 编 写 指 令 将 数 据 0 传 送 给 ZERO单 元。答:(1)MOV AX,BX+(7-l)*2MOV BX+(7)*2,AX(2)MOV AX,ARRAY BXMOV ARRAY BX+2,AX3.10如 TABLE为 数 据 段 中 0032单 元 的 符 号 名,其 中 存 放 的 内 容 为 1234H,试 问 以 下 两 条 指 令 有 什 么 区 别?指 令 执 行 完 后 AX寄 存 器 的 内 容 是 什 么?MOV AX,TABLELEA AX,TABLE答:MOV AX,TABLE是 将 TABLE单 元 的 内 容 送 到 AX,(A

29、X)=1234HLEA AX,TABLE是 将 TABLE单 元 的 有 效 地 址 送 到 AX,(AX)=0032H3.11执 行 下 列 指 令 后 AX寄 存 器 中 的 内 容 是 什 么?TABLE DW 10,20,30,40,50;OOOAH,0014H,001EH,0028H,0032HENTRY DW 3IIIMOV BX,OFFSET TABLEADD BX,ENTRYMOV AX,BX答:(AX)=1EOOH(TABLE的 存 储 方 式 如 右 图 所 示)3.12下 列 ASCII码 串(包 括 空 格 符)依 次 存 储 在 起 始 地 址 为 CSTRING的

30、字 节 单 元 中:CSTRING DB BASED ADDRESSING*请 编 写 指 令 将 字 符 串 中 的 第 1个 和 第 7 个 字 符 传 送 给 DX寄 存 器。答:MOV DH,CSTRINGMOV DL,CSTRING+7-13.1 3 已 知 堆 栈 段 寄 存 器 SS的 内 容 是 OFFAOH,堆 栈 指 针 寄 存 器 SP的 内 容 是 OOBOH,先 执 行 两 条 把 8057H和 OF79H分 别 进 栈 的 PUSH指 令,再 执 行 一 条 POP指 令。试 画 出 堆 栈 区 和 SP的 内 容 变 化 过 程 示 意 图(标 出 存 储 单 元

31、 的 物 理 地 址)。答:堆 栈 区 和 SP的 内 容 变 化 过 程 示 意 图 如 下 左 图 所 示。3.14设(DS)=1BOOH,(ES)=2B00H,有 关 存 储 单 元 的 内 容 如 上 右 图 所 示。请 写 出 两 条 指 令 把 字 变 量 X 装 入 AX寄 存 器。答:MOV BX,2000HMOV AX,ES:BX3.15求 出 以 下 各 十 六 进 制 数 与 十 六 进 制 数 62A0H之 和,并 根 据 结 果 设 置 标 志 位 SF、ZF、CF 和 OF 的 值。(1)1234H(2)4321H(3)CFAOH(4)9D60H答:(1)和 为 7

32、4D4H;SF=O,ZF=O,CF=O,0F=0(2)和 为 A5C1H;SF=1,ZF=O,CF=O,OF=1(3)和 为 3240H;SF=O,ZF=O,CF=1,0F=0(4)和 为 0000H;SF=O,ZF=1,CF=1,OF=03.16求 出 以 下 各 十 六 进 制 数 与 十 六 进 制 数 4AE0H的 差 值,并 根 据 结 果 设 置 标 志 位 SF、ZF、CF和 OF的 值。(1)1234H(2)5D90H(3)9090H(4)EA04H答:(1)差 为 C754H;SF=1,ZF=O,CF=1,0F=0(2)差 为 12B0H;SF=O,ZF=O,CF=O,0F=

33、0(3)差 为 45B0H;SF=O,ZF=O,CF=O,OF=1(4)差 为 9F24H;SF=1,ZF=O,CF=O,0F=03.17写 出 执 行 以 下 计 算 的 指 令 序 列,其 中 X、Y、Z、R、W 均 为 存 放 16位 带 符 号 数 单 元 的 地 址。(1)Z-W+(Z-X)(2)Z-W-(X+6)-(R+9)(3)Z-(W*X)/(Y+6),R-余 数(4)Z*-(W-X)/5*Y)*2答:(1)MOV AX,Z;以 下 程 序 都 未 考 虑 带 符 号 数 的 溢 出SUB AX,XADD AX,WMOV Z,AX(2)MOV BX,XADD BX,6MOV C

34、X,RADD CR,9MOV AX,WSUB AX,BXSUB AX,CXMOV Z,AX(3)ADD Y,6MOV AX,WIMUL XIDIV YMOV Z,AXMOV R,DX(4)MOV AX,WSUB AX,XCWDMOV BX,5IDIV BXIMUL YSHL AX,1;(DX),(AX)*2RCL DX,13.1 8 已 知 程 序 段 如 下:MOV AX,1234H;(AX)=1234H,标 志 位 不 变 MOV CL,4;(AX)和 标 志 位 都 不 变 ROL AX,CL;(AX)=2341H,CF=1,SF 和 ZF 不 变 DEC AX;(AX)=2340H,C

35、F=1 不 变,SF=O,ZF=OMOV CX,4;(AX)和 标 志 位 都 不 变 MUL CX;(AX)=8D00H,CF=OF=O,其 它 标 志 无 定 义 INT 20H每 条 指 令 执 行 完 后,AX寄 存 器 的 内 容 是 什 么?每 条 指 令 执 行 完 后,进 位、符 号 和 零 标 志 的 值 是 什 么?程 序 结 束 时,AX和 DX的 内 容 是 什 么?(1)见 注 释;见 注 释;(AX)=8D00H,(DX)=O3.19下 列 程 序 段 中 的 每 条 指 令 执 行 完 后,AX寄 存 器 及 CF、SF、ZF和 OF的 内 容 是 什 么?MOV

36、 AX,0;(AX)=O,标 志 位 不 变 DEC AX;(AX)=OFFFFH,CF 不 变,SF=1,ZF=O,0F=0-J/)/717)/式 123字 23、口/(X-zlz(x夕/(xz/lADD AX,7FFFH;(AX)=7FFEH,CF=1,SF=O,ZF=O,0F=0ADD AX,2;(AX)=8000H,CF=O,SF=1,ZF=O,OF=1NOT AX;(AX)=7FFFH,标 志 位 不 变 SUB AX,OFFFFH;(AX)=8000H,CF=1,SF=1,ZF=O,OF=1ADD AX,8000H;(AX)=O,CF=1,SF=O,ZF=1,OF=1SUB AX,

37、1;(AX)=0FFFFH,CF=1,SF=1,ZF=O,OF=OAND AX,58D1H;(AX)=58D1H,CF=O,SF=O,ZF=O,OF=OSAL AX,1;(AX)=OB1A2H,CF=O,SF=1,ZF=O,OF=1SAR AX,1;(AX)=OD8D1H,CF=O,SF=1,ZF=O,OF=0NEG AX;(AX)=272FH,CF=1,SF=O,ZF=O,OF=OROR AX,1;(AX)=9397H,CF=1,SF 和 ZF 不 变,OF=1答:见 注 释。3.2 0 变 量 DATAX和 变 量 DATAY的 定 义 如 下:DATAX DW 0148HDW 2316H

38、DATAY DW 0237HDW 4052H请 按 下 列 要 求 写 出 指 令 序 列:(1)DATAX和 DATAY两 个 字 数 据 相 加,和 存 放 在 DATAY中。(2)DATAX和 DATAY两 个 双 字 数 据 相 加,和 存 放 在 从 DATAY开 始 的 双 字 单 元 中。(3)解 释 下 列 指 令 的 作 用:STCMOV BX,DATAXADC BX,DATAY(4)DATAX和 DATAY两 个 字 数 据 相 乘(用 MUL)(5)DATAX和 DATAY两 个 双 字 数 据 相 乘(用 MUL)。(6)DATAX 除 以 23(用 DIV)。(7)D

39、ATAX 双 字 除 以 字 DATAY(用 DIV)。答:(1)MOV AX,DATAXADD DATAY,AXMOV AX,DATAX+2ADD DATAY+2,AX(2)MOV AX,DATAXADD DATAY,AXMOV AX,DATAX+2ADC DATAY+2,AXMOV DATAY+4,0;用 于 存 放 进 位 位 ADC DATAY+4,0(3)DATAX和 DATAY两 个 字 数 据 之 和 加 1,结 果 存 入 BX寄 存 器。(4)RESULT1 DW 0DW 0RESULT2 DW 0DW 0MOV AX,DATAXMUL DATAYMOV RESULT1,AX

40、MOV RESULT1+2,DXMOV AX,DATAX+2MUL DATAY+2MOV RESULT2,AXMOV RESULT2+2,DX(5)AA DW 0BB DW 0CC DW 0DD DW 0MOV AX,DATAXMUL DATAYMOV AA,AXMOV BB,DXMOV AX,DATAXMUL DATAY+2ADD BB,AXADC CC,DXMOV AX,DATAX+2MUL DATAYADD BB,AXADC CC,DXADC DD,0MOV AX,DATAX+2MUL DATAY+2ADD CC,AXADC DD,DX(6)MOV AX,DATAXMOV BL,23DI

41、V BL(7)MOV DX,DATAX+2MOV AX,DATAXDIV DATAY3.2 1 写 出 对 存 放 在 DX和 AX中 的 双 字 长 数 求 补 的 指 令 序 列。答:NEG D X 也 可 为:NOT DXNEG AX NOT AXSBB DX,0 ADD AX,1ADC DX,03.2 2 试 编 写 一 程 序 求 出 双 字 长 数 的 绝 对 值。双 字 长 数 在 A 和 A+2单 元 中,结 果 存 放 在 B 和 B+2单 元 中。答:程 序 段 如 下:MOV AX,AMOV DX,A+2CMP DX,0JNS ZHENSHU;不 是 负 数 则 转 走

42、NEG DXNEG AXSBB DX,0ZHENSHU:MOV B,AXMOV B+2,DXINT 2OH)/)/)z7X)/(2(3(4(5(6答 3.23假 设(BX)=0E3H,变 量 VALUE中 存 放 的 内 容 为 79H,确 定 下 列 各 条 指 令 单 独 执 行 后 的 结 果。XOR BX,VALUE;(BX)=9AH,CF OF 都 为 0,AF 无 定 义,SF=1,ZF=O,PF=1AND BX,VALUE;(BX)=61H,CF、OF 都 为 0,AF 无 定 义,SF=O,ZF=O,PF=OOR BX,VALUE;(BX)=OFBH,CF、OF 都 为 0,A

43、F 无 定 义,SF=1,ZF=O,PF=OXOR BX,OFFH;(BX)=1CH,CF、OF 都 为 0,AF 无 定 义,SF=O,ZF=O,PF=OAND BX,0;(BX)=OOH,CF、OF 都 为 0,AF 无 定 义,SF=O,ZF=1,PF=1TEST BX,01H;(BX)=0E3H,CF、OF 都 为 0,AF 无 定 义,SF=1,ZF=O,PF=O见 注 释。3.24试 写 出 执 行 下 列 指 令 序 列 后 BX寄 存 器 的 内 容。执 行 前(BX)=6D16H。MOV CL,7SHR BX,CL答:(BX)=OODAH。3.25试 用 移 位 指 令 把

44、十 进 制 数+53和-49分 别 乘 以 2。它 们 应 该 用 什 么 指 令?得 到 的 结 果 是 什 么?如 果 要 除 以 2 呢?答:MOV AL,53SAL AL,1;(AL)=(+53*2)=6AHMOV AL,-49SAL AL,1;(AL)=(-49*2)=9EHMOV AL,53SAR AL,1;(AL)=(53/2)=1AHMOV AL,-49SAR AL,1;(AL)=(-49/2)=0E7H3.26试 分 析 下 面 的 程 序 段 完 成 什 么 功 能?MOV CL,04SHL DX,CLMOV BL,AHSHL AX,CLSHR BL,CLOR DL,BL答

45、:本 程 序 段 将(DX),(AX)的 双 字 同 时 左 移 4 位,即 将 此 双 字 乘 以 10H(16)。3.27假 定(DX)=0B9H,(CL)=3,(CF)=1,确 定 下 列 各 条 指 令 单 独 执 行 后 DX中 的 值。(1)SHR DX,1;(DX)=05CH(2)SAR DX,CL;(DX)=17H(3)SHL DX,CL;(DX)=5C8H(4)SHL DL,1;(DX)=72H(5)ROR DX,CL;(DX)=2017H(6)ROL DL,CL;(DX)=0CDH(7)SAL DH,1;(DX)=0B9H(8)RCL DX,CL;(DX)=2CCH(4)R

46、CR DL,1;(DX)=ODCH答:见 注 释。3.28下 列 程 序 段 执 行 完 后,BX寄 存 器 的 内 容 是 什 么?MOV CL,3MOV BX,0B7HROL BX,1ROR BX,CL答:(BX)=0C02DHo3.29假 设 数 据 段 定 义 如 下:CONAME DB SPACE EXPLORERS INC.PRUNE DB 20 DUP()用 串 指 令 编 写 程 序 段 分 别 完 成 以 下 功 能:(1)从 左 到 右 把 CONAME中 的 字 符 串 传 送 到 PRLINEo(2)从 右 到 左 把 CONAME中 的 字 符 串 传 送 到 PRL

47、INEo(3)把 CONAME中 的 第 3 和 第 4 个 字 节 装 入 AX。(4)把 AX寄 存 器 的 内 容 存 入 从 PRLINE+5开 始 的 字 节 中。(5)检 查 CONAME字 符 串 中 有 无 空 格 字 符,如 有 则 把 第 一 个 空 格 字 符 的 地 址 传 送 给 BX寄 存 器。答:(1)MOV CX,20CLDMOV SI,SEG CONAMEMOV DS,SIMOV ES,SILEA SI,CONAMELEA DI,PRUNEREP MOVSB(2)MOV CX,20STDMOV SI,SEG CONAMEMOV DS,SIMOV ES,SILE

48、A SI,CONAMEADD SI,20-1LEA DI,PRLINEADD DI,20-1REP MOVSB(3)MOV AX,WORD PTR CONAME+3-1(4)MOV WORD PTR PRLINE+5,AX MOV A L,;空 格 的 ASCH码 送 AL寄 存 器 CLDMOV DI,SEG CONAMEMOV ES,DILEA DI,CONAMEREPNE SCASBJNE NEXTDEC DIMOV BX,DINEXT:3.30编 写 程 序 段,把 字 符 串 STRING中 的&,字 符 用 空 格 符 代 替。STRING DB The date is FEB&0

49、3,答:程 序 段 如 下:MOV CX,18MOV AL,CLDMOV DI,SEG STRINGMOV ES,DILEA DI,STRINGREPNE SCASBJNE NEXTDEC DIMOV ES:BYTE PTR DI,;送 空 格 符 NEXT:3.31假 设 数 据 段 中 数 据 定 义 如 下:STUDENT_NAME DB 30 DUP(?)STUDENT_ADDR DB 9 DUP(?)PRINTLINE DB 132 DUP(?)分 别 翁 写 下 列 程 序 段:(1)用 空 格 符 清 除 PRINTLINE域。在 STUDENT_ADDR中 善 找 第 一 个。

50、在 STUDENT_ADDR中 查 找 最 后 一 个。如 果 STUDENT_NAME域 中 全 是 空 格 符 时,填 入。把 STUDENT_NAME 移 到 PRINT_LINE 的 前 30 个 字 节 中,把 STUDENT.ADDR 移 到 PRINTLINE的 后 9 个 字 节 中。答:公 共 的 程 序 段 如 下:MOV DI,DSMOV ES,DI(1)MOV CX,132MOV AL.,;空 格 的 ASCH码 送 AL寄 存 器 CLDLEA DI,PRINTLINEREP STOSBX17)/X)/)/2345(/z(z(/(2)MOV CX,9MOV AL.,C

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁