微机原理课后习题答案解析.pdf

上传人:奔*** 文档编号:91535068 上传时间:2023-05-27 格式:PDF 页数:52 大小:5.52MB
返回 下载 相关 举报
微机原理课后习题答案解析.pdf_第1页
第1页 / 共52页
微机原理课后习题答案解析.pdf_第2页
第2页 / 共52页
点击查看更多>>
资源描述

《微机原理课后习题答案解析.pdf》由会员分享,可在线阅读,更多相关《微机原理课后习题答案解析.pdf(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第1章 进 制 及 码 元1、进制转换129=81H=10000001B=201Q298=12AH=100101010B=452Q1000=3E8H=1111101000B-1750Q5DH=1011101 B=135 Q=93 D3E8H=1111101000 B=I750Q=1000 D;3570=11101111 B=OEF H=239 D2、进制计算10010110 2FE3 F7.-119 FFF7,-32759 4 73、数据表示范围:一 个 字 节 得 无 符 号 数 表 示 范 围 为 0255,有 符 号 数 补 码 表 示 范 围 为-128+127。两 个 字 节 得 无

2、 符 号 数 表 示 范 围 为 0-65535,有符号数补码表示范围为32768+32767。N位二进制数得无符号数表示范围为0(2匚1),有符号数(补码)表示范围为一 2 忱T)、4、35H代表得ASCII字符为这,代表十六进制数时等价得十进制值为5 3 _,代表压缩8421BCD码等价得十进制值为3 5,代表非压缩8421BCD码等价得十进制值为 5。5、FFH代表无符号数时等价得十进制值为255,代表补码有符号数时等价得十进制值为 一1 ,代表反码有符号数时等价得十进制值为 一0 ,代表原码有符 号 数 时 等 价 得 十 进 制 值 为 一 1 2 7。6 -2 0得8位二进制补码为

3、 E CH ,原 码 为94H ,反码为 E BH 。1 5 8得1 6位 二 进 制 补 码 为0 0 9E H,原 码 为0 0 9E H ,反 码 为0 0 9E H 。7、英 文 字 符 一 般 在 计 算 机 内 占 用(1)个字节,每 个 字 节 得 最 高 位 一 定 为 工,全 角英 文 字 符 在 计 算 机 内 占 用 工 个 字 节,一 个 汉 字 在 计 算 机 内 占 用 个 字 节,每个字 节 最 高 位 为 08、设 阶 码 用8位 补 码 表 示,尾 数 部 分 用1 6位 补 码 表 示,则一(1/32+1/1 2 8+1/5 1 2)得 尾 数 部 分 及

4、阶 码 分 别 为 多 少?第2章微机硬件基础1、请 画 出 计 算 机 系 统 硬 件 图。2 80 86/88CP U为 什 么 要 分 为BI U与E U两 大 模 块?答:为 了 使 取 指 与 分 析、执 行 指 令 可 并 行 处 理,提 高CP U得 执 行 效 率。80 86/88CP U有 两 大 模 块 总 线 接 口 单 元BI U与 执 行 单 元E U组 成。3、简 述80 86/88 CP U得 两 大 模 块BI U与E U得 主 要 功 能 及 组 成。答:如下图所示:-功 检:取指 0*物理地址形成,总线挣制(Bit y、组成:IP.而SH 维母加法器、总线控

5、制遂就8086/8088 CPU 功能:分析指令.执行指令.EA形 成.数据恸存、EU控制 EU X一 组成:TD.EU 控制运.A1X VR.FR PSW)4、简述80 86/88 CP U得1 4个寄存器得英文名、中文名及主要作用。答:AX(Ac c u m u l at o r)(A H、AL)累加器,它就是汇编编程中最常用得一个寄存器,主要用于乘除运算、BCD运 算、换 码、I/O操 作、串操作、中断调用等。BX(Bas e)(BH、BL)基址寄存器,主要用于存放地址、基址(默认相对于DS段)等。CX(Co u n t e r)(CH CL)计数器,主要用于循环计数、串操作计数多位计数

6、(CL)等。DX(Dat a)(DH、DL)数据寄存器,主要用于1 6位 乘 除、间 接I/O、中断调用等。BP CBas e P o i n t e r)基址指针,主要用于存放地址、基址(默认相对于S S段)等。S P(S t ac k P o i n t e r)堆栈指针(栈顶指针),主要用于存放栈顶地址。S I(S o u rc e I n d e x)源变址寄存器,用于存放地址、变 址、串操作源变址。DI (De s t i n at i o n I n d e x)目得变址寄存器,用于存放地址、变 址、串操作目得变址。CS CCo d e S e g m e n t)代码段寄存器(代

7、码段),用于存放正在或正待执行得程序段得起始地址得高1 6位二进制数据,即程序段得段地址。DS C Dat a S e g m e n t)数 据 段 寄 存 器(数 据 段),用于存放正在或正待处理得一般数 据 段 得 起 始 地 址 得 高1 6位 二 进 制 数 据,即 一 般 数 据 段 得 段 地 址。E S(E x t ra S e g m e n t)附 加 数 据 段 寄 存 器(附 加 段),用 于 存 放 正 在 或 正 待 处 理得 附 加 数 据 段 得 起 始 地 址 得 高1 6位 二 进 制 数 据,即 附 加 数 据 段 得 段 地 址。S S(S t ac k

8、 S e g m e n t)堆 栈 数 据 段 寄 存 器(堆 栈 段),用 于 存 放 正 在 或 正 待 处 理得 堆 栈 数 据 段 得 起 始 地 址 得 高1 6位 二 进 制 数 据,即 堆 栈 数 据 段 得 段 地 址。I P(I n s t ru c t i o n p o i n t e r)指 令 指 针,它 得 内 容 始 终 就 是 下 一 条 待 执 行 指 令得 起 始 偏移地址,与CS 一 起 形 成 下 一 条 待 执 行 指 令 得 起 始 物 理 地 址。CS:I P得作用 就 是 控 制 程 序 得 执 行 流 程。I P 一 般 会 自 动 加1(逻

9、 辑 加1、实际随指令长度变化)移 向 下 一 条 指 令 实 现 顺 序 执 行;若 通 过 指 令 修 改C S或I P得 值,则可实现程序得 转 移 执 行。P S W(P r o g r a m S t a t u s w o r d)程序状态字,它其中有三个 控 制 标 志(I F、D F、T F)与6个状态标志(S F、P F、Z F、O F、C F、A F)。控 制 标 志 就 是 用 于 控 制C P U某方面操 作 得 标 志,状 态 标 志 就 是 部 分 指 令 执 行 结 果 得 标 志。5、请 画 出8 08 6/8 8 C P U得 内 部 结 构 图。答:如 下

10、图 所 示:EUBIU6、请 说 明8 08 6/8 8 C P U得 标 志 位 得 英 文 名、中 文 名 及 填 充 方 法。答:IF(Interrupt Enable F lag)中断允许标志,用于控制CPU能否响应可屏蔽中断请求,IF=1能够响应,IF=O不能响应。DFCDirection Flag)方向标志,用于指示串操作时源串得源变址与目得串得目得变址变化方向,DF1 向减得方向变化,DF=0向加得方向变化。TF(TrapFlag)陷阱标志(单 步 中 断 标 志),TF=1程序执行当前指令后暂停,TF=0程序执行当前指令后不会暂停。SF(Sign Flag)符号标志,指令执行结

11、果得最高二进制位就是0 还 就 是 1,为0,则 SF=0,代表正数;为 1,则 SF=1,代表负数。我们一般就是用十六进制数表示,则可以根据十六进制得最高位就是落在。7 还就是落在8F 之间,若落在07之间则SF=0,否 贝 U SF=1 PF(P arity ChECk Flag)奇偶校验标志,指令执行结果得低8 位 中 1 得个数就是奇数个还就是偶数个,若为奇数个则PF=0,若为偶数个则PF=1。ZFCZero Flag)零标志,指令执行结果就是不就是为0,若 为 0 则 ZF=1,否则ZF=0。0F(0verflow Flag)有符号数得溢出标志,指令执行结果就是否超出有符号数得表示范

12、围,若超过则0F=l,否 则 OF=0。我们可以通过判断就是否出现以下四种情况之一:正加正得负,正减负得负,负力口负得正,负减正得正。若出现则0F=l.否则OF=0.CFCCarry Flag)进位/借位标志无符号数得溢出标志),指令执行结果得最高位就是否有向更高位进位或借位,若 有 则 CF=1,同时也代表无符号数溢出;若无则CF=0,也代表无符号数未溢出。AF(Auxiliary Carry Flag)辅助进位/借位标志,低 4 位二进制就是不就是有向高位进位或借位,若 有 则A F=1,否 则A F=O,其 主 要 用 于B C D修 正 运 算。7、内 存 分 段 组 织 得 优 缺

13、点 就 是 什 么?答:优 点 如 下:(1)8 08 6/8 08 8 C P U中 得 寄 存 器 只 有16位,如 果 采 用 它 们 直 接 寻 址,则寻址能力 势 必 限 制 在64 KB范围内,而 采 用 分 段 组 织 可 以 较 好 地 实 现 扩 展C P U得寻址能力。每 段 得 大 小 可 达64 KB,不 同 段 得 组 合 则 可 寻 址 更 大 得 范 围。(2)使 程 序 与 数 据 相 对 独 立,不 同 存 取 方 式 得 数 据 也 相 对 独 立。程 序:存 放 于 代 码 段C S中堆 栈 方 式:存 放 于 堆 栈 段S S中数 据:随 机 方 式:存

14、 放 于 数 据 段D S及 附 加 段E S中(3)便 于 程 序 与 数 据 得 动 态 装 配,从 一 个 地 方 挪 到 另 外 一 个 地 方 只 要 更 改 一下 段 寄 存 器得值即可,段 内 偏 移 可 以 不 用 改 变。缺 点:内 存 地 址 采 用 分 段 组 织 增 加 地 址 计 算 得 复 杂 度,降低了 C PU得执行效率O8 1 M B内存最多可以有(64 K)个 不 同 得 段 地 址,若 不 允 许 重 叠 得 话 最 多 可 有(1 6)个 不 同 得 段 地 址。不 同 得 段 间(可 以)重 叠。9、设D S=2 6F C H,BX=1 08H,SI=

15、9A8H,试 求 出 使D S:BX与E S:S1指向同一物理地址得E S值。答:即 D S:BX=E S:SID S:BX=D Sx 1 6+BX=2 6F C H x l 6+1 08H=2 70C 8HE S:SI=E Sx 1 6+SI=E Sx l 6+9A8HE S=(2 70C 8H -9A8H H 1 6=2 672 H1 0、接 口、端口以及端口地址之间得对应关系如何?答:一个计算机系统内有很多接口,一个接口内一般有多个端口,一个端口可以有多个端口地址与其对应(这叫重叠地址),一个端口地址可以对应多个端口(但需要继续区分才能访问,如读写顺序、读写信号、数 据 位、索引区分)。

16、所以通过端口传输信息首先需要区分端口,区分端口可通过端口地址不同来区分。1 1、访问端口有哪些方法?答:(1)用I/O指令实现信息传输;(2)通 过BI OS中断调用实现信息传输;(3)通过D OS中断调用实现信息传输。1 2、请根据图2、3说明AD D AX,BX指令得取指及执行过程。自己瞧书1 3、8086/88得2 0位物理地址就是怎样形成得?当C S=2 000H,I P=01 00H,下一条待执行指令得物理地址等于多少?答:2 0位物理地址由段地址左移4位加偏移地址形成,下一条待执行指令等于C S*1 0H+I P 得到 2 01 00H 1 4、已知当前数据段位于存储器得B1 00

17、0H到BF 0F F H范围内,请指出D S段寄存器得取值范围。答:D S段寄存器得取值范围:AF 1 0H-B1 00H第3章寻址方式及指令系统1、指令就是里可以理解并执行得操作命令,指令由操作码与操作数两部分组成,指令有两个级别,即机器级与汇编级。2请画出程序执行流程示意图。3、指令主要有哪些分类方式及其主要类别就是什么?答:指令分类有不同得方式。按操作数得个数将指令分为零地址指令(无操作数)、一地址指令(只有一个操作数)、二地址指令(有两个操作数)、多地址指令(多于两个操作数);按指令级别分为机器指令与汇编指令:按就是否转移分为转移指令与顺序指令;按功能分为七大类:传 送 类、算术运算类

18、、位操作类、I/O类、串操 作 类、CPU控 制 类、转移类;按指令长度(即指令占用得字节数)分 为1字节指令、2字节指令等,8086/8088指令长度就是不同得,叫变字长,不同得指令有不同得指令长度,从16字节均有;按指令执行期间取操作数就是否需要与总线打交道分为内部指令(不需)与外部指令(需要),类似功能得指令内部指令比外部指令执行速度快,所以在编程时尽量采用内部指令即多用寄存器优化程序。4、操作数得寻址方式有哪些?并举例说明其主要特点。答:操作数寻址方式主要有立即寻址方式、寄存器寻地址、存储器寻址方式、端口寻址方式4类。(1)立即寻址方式:操作对象就是这个操作数本身,M O V AL,5

19、(2)寄存器寻地址:操作对象就是寄存器中得内容M O V A X,B X(3)存 储 器 寻 址 方 式:操作对象就是内存地址所对应得存储单元中得内容,M O V A X 2 0 0 0 H(4)端口寻址方式:操作数就是指明端口得地址、端口地址所对应得端口中得内容就是操作对象I N A X,4 6直接寻址。5、内存寻址中段寄存器与段内偏移地址对应关系如何?访问存精器 型。默认一段 地 址可指 定,家地址或内偈移地 址 来 源 Q取 指 令 码CS.无VIP“取堆栈糅作SS无3字符串操作源地址DS.CS,ES,SS.Sip字 苻 串 操 作目的地址ES.无2DIPBP用作基址寄存器时SSCS,D

20、S,ES.依 据 寻 址 方 式 求 得 有 效 地 址EA.一 般数据存取DS.CS,ES,SS.依 据 寻 址 方 式 求 得 有 效 地 址EA.6 、设CS=1 0 0 0 H,D S=2 0 0 0 H,E S=3 0 0 0 H,SS=4 0 0 0 H,I P=1 0 0 H,SP=2 0 0 H,B X=3 0 0 H,B P=4 0 0 H,SI=5 0 0 H,则下一条待执行指令得物理地址为多少?当前栈顶得物理地址为多少?B X代表得存储单元得物理地址为多少?B P 代表得存储单元得物理地址为多少?E S:B X+SI 代表得存储单元得物理地址为多少?答:下一条待执行指令得

21、物理地址=CSx 1 6+l P=1 0 0 0 H xl 6+1 0 0 H=1 0 1 0 0 H 当前栈顶得物理地址=SSxl 6+SP=4 0 0 0 H xl 6+2 0 0 H=4 0 2 0 0 H。B X代表得存储单元物理地址=D Sxl 6+B X=2 0 0 0 H X 1 6+3 0 0 H=2 0 3 0 0 H 0B P 代表得存储单元物理地址=SS X 1 6+B P=4 0 0 0 H xl 6+4 0 0 H-4 0 4 0 0 H。E S:B X+SI 代表得存储单元物理地址=E Sxl 6+B X+SI=3 0 0 0 H xl 6+3 0 0 H+5 0

22、0 H=3 0 8 0 0 H7、试根据以下要求,分别写出相应得汇编语言指令。(1)以寄存器B X与D I作为基址变址寻址方式把存储器中得一个字送到D X寄存器。答:M O V D X,B X+D I(2)以寄存器B X与偏移量V A L U E作为寄存器相对寻址方式把存储器中得一个字与A X相加,把结果送回到那个字单元。答:A D D V A L U E B X,A X(3)将1字节得立即数O B 6 H与以SI作为寄存器间接寻址方式得字节单元相比较。答:CM P B YTE P TRSI,0 B 6 H(4)将B H得 高4位与低4位 互 换。答:M O V CL,4RO R B H,CL

23、 ;或者 RO L B H,CL(5)测试B X得 第3、7、9、1 2、1 3位就是否同时为0。答:TE ST B X,3 2 8 8 H ;0 1 0 0 0 B(6)将存放了 09数值得D L寄存器中得内容转化为相应得 0 9 得 字 符。答:A D D D L,3 0 H ;或者 O RD L,3 0 H(7)将存放了 A F 字符得A L寄存器中得内容转化为相应得数值。答:SU B A L,3 7 H8、写出清除A X寄存器得多种方法并比较(要求单指令实现)。答:(l)A N D A X.0;可以对A X清零,还可以清除进位位与影响到SF、ZF、P F标 志 位。(2)M 0 V A

24、 X.0;此条指令占用3个字节。(3)SU B A X,A X;减法指令,该条指令只占用2个字节。(4)X0 R A X,A X9、分别用存储器得5种寻址方式实现将以A为首址得第5个字(注意:从 第0个算起)送A X得指令序列。1 0、指出下列指令错误得原因。答:(1)MO V CL,3 0 0;3 0 0超过字节数据表示范围(2)MO V CS,AX(3)MO V BX,DL;CS不能作为目得操作数;数据类型不匹配(4)MO V E S,1 0 0 0 H:立即数不能送给段寄存器(5)I N C BX;数据类型不明确(6)ADD AX,DS:段寄存器不能参加运算(7)T E S T BX,C

25、X ;存储器间接寻址只能使用BX、S I、DI、BP四个之(8)S U B BX ,BP+S I;加减两个操作数不能同时为存储操作数(9)J C S I ;条件转移只有短转移寻址方式(1 0)S H L BX ;少给一个表明移位次数得操作数,1或CL1 1 (l)CS=(1 0 0 0)I P=(0 1 55)(2)CS=(1 0 0 0)I P=(1 76F)(3)CS=(1 0 0 0)I P=(1 7C6)(4)CS=(2 0 0 0)I P=(0 1 4 6)(5)CS=(1 0 0 0)I P=(1 770)(6)CS=(2 0 0 0)I P=(0 1 4 6)1 2 分 别 说

26、明 下 列 各 组 指 令 中 得 两 条 指 令 得 区 别。答:(1)MO V AX,T ABLE LE A AX,T ABLE假 设T ABLE为字变量名,则:左 为 将T ABLE单 元 得 内 容 送AX,右 为 将T ABLE单元 得 偏 移 地 址 送AX 假 设T ABLE为字节变量名,则:左 为 错 误 指 令,右 为 将T ABLE单元得偏移地址送AX假 设T ABLE为常量名,则:左 为 将T ABLE得 内 容 送AX,右为错误指令(2)AN D BL,O F H O R BL,O F H左 为 将BL得 高4位 清0,右 为 将BL得 低4位 置1(3)J MP S

27、H O R T LI J MP N E A R P T R LI左 为短转移,2字节得指令,转移范围为一 1 2 8+1 2 7右为近转移,1字节得指令,转移范围为一3 2 768+3 2 767(4)M0 V AX,BX MO V AX,BX 左 为 将BX得 值 送AX右 为 将BX得 值 作 为 相 对DS段 得 内 存 单 元 偏 移 地 址,取 出 字 单 元 值 送AX(5)S U B DX,CX CMP DX,CX左为减法,并 将DX-CX得 值 存 入D X中右为比较,做 减 法,但 不 会 将DX-CX得 值 存 入D X中(6)MO V BP S I ,CL MO V DS

28、:BP I E S I ,CL左 边 第操 作 数 默 认 为 相 对 于S S段偏移得存储器操作数右 边 第 一 操 作 数 采 用 段 超 越,指 定 为 相 对 于DS段偏移得存储器操作数1 3 写 出 判 断AL为正为负得程序段(请 至 少 用 三 种 方 法)。答:方 法 一:CMP AL,8 0 H ;而 后 用J AE代 表 负 数 转 移,J B代表正数转移方法二:CMP AL,0 0 H ;而 后 用J GE代 表 正数转移,J L代表负数转移方法三:T E S T AL,8 0 H ;而 后 用J N Z代 表 负数转移,J Z代表正数转移方 法 四:0 R AL,AL;而

29、 后 用J N S代 表 负数转移,J S代表正数转移方法五:AN D AL,AL;而 后 用J N S代 表 负 数 转 移,J S代表正数转移方 法 六:S U B AL,O O H ;而 后 用J GE代表正数转移,J L代表负数转移方 法 七:T E S T AL,8 0 H :而 后 用J N S代 表 正数转移,J S代表负数转移1 4 思 考 题:试 比 较 以 下 几 条 指 令 得 功 能。答:MO V BX,S I ;将51得 值 送 给BXMO V BX,S I ;将S I得值作为偏 移 地 址 找 到 对 应 得 内 存 单 元 中 得 值 送给BXMO V BX,O

30、F F S E T S I;将S 1得值作为偏移地址找到对应内存单元得偏移地址 送 给BX,即S I得 值 送 给BXLE A BX,S I 给BX,;将S 1得值作为偏移地址找到对应内存单元得偏移地址送即S 1得 值 送 给BXLDS BX,SI;将S 1值作为偏移地址找到对应内存单元中得第一个字值送 给BX,LE S BX,S I 值 送 给BX,第 二 个 字 值 送DS:将S I值作为偏移地址找到对应内存单元中得第一个字第 二 个 字 值 送E S1 5、设B、D为字节变量,A、C为字变量,且A除B可能会溢出,试编写无符号数或 有 符 号 数A/B商 送C,余 数 送D。答:可 能 会

31、 溢 出 则 要 考 虑 扩 展 数 据 表 示 能 力。;无符号数除法.;有符号数除法MO VAL,BMO VAL,BX O R AH,AHCBWMO VBX,AXMO VBX,AXMO VAX,AMO VAX,AX O R DX,DX ;无符号扩展CW D;有符号扩展DI VBXDI V BXMO VC,AXMO VC,AXMO VD,DLMO VD,DL1 6、编 写 程 序 段 实 现DX、A X中3 2位 二 进 制 数*1 0 (设 不 溢 出)。答:;X*1 0=X*8+X*2,用移位指令实现S H L AX,1R CL DX,1 :DX,AX=(DX,AX )*2MO V BX

32、,DXMO V BP,AX ;BX,BP 转存 2 倍值S H L AX,1R CL DX,1 ;再乘 2S H L AX,1R CL DX,1 :再乘 2ADD AX,BPADC DX,BX ;8 倍+2 倍=1 0 倍1 7、请 编 写 程 序 段 实 现 如 图 3、3 3 所 示 功 能。MO V S I,BXLDS BX,S I 1 8 设已有定义S T R DB“S d f i k j w sm f w 8 9 3 0 4 0 p Y U I U K LH GU k j d sh f 8”N E Q U$-S T R 1试 编 写 实 现 在 S T R 中 查 找 就 是 否 存

33、 在 非 A 得 功 能 程 序 段。即 表 示 S T R 串中大部 分 就 是 A ,若 其 中 存 在 不 就 是 A得 字 符 则 查 找 成 功,若 S T R 全 部 为 A则 不 成 功。1 9、程 序 理 解 执 行。(1)M O V AH,-1;AH=F F HM O V AL,180;AL=B 4HM O V B L,15;B L=0F HI DI V B L ;AX/B L 即:-7 6/15,商-5,余数-1程 序 段 执 行 后,AX=0F F F B H。说 明:关 键 就 是 要 知 道 谁 除 以 谁,特 别 注 意 就 是 有 符 号 除 还 就 是 无 符

34、号除。(2)M O V AL,O CH ;AL=0CHO R AL,AL;AL=0CH,CF=0S B B AL,O F O H;AL=1CHN E G AL;AL=E 4H,CF=1ADC AL,0D4H ;AL=B 9HT E S T AL,35H ;AL=B 9H,CF=O程 序段执行后,CF=_Q _,AL=B 9H。说 明:第(1 )、(2)小题只要理解每条指令功 能 及 对 标 志 位 得 影 响,逐步进行即 可 完 成。(3)M O V AL,08HM O V AH,-1 ;AX=F F 08HM O V B X,0F 8H ;B X=00F 8HCM P AX,B X程 序 段

35、 执 行 后S F e O F=l ,CF=0。(4)M O V AX,中 ;AX得 二 进 制 高 位 为1,即落在负数范围M O V B X/AB,;B X得 二 进 制 高 位 为0,即落在正数范围CM P AX,B X程 序 段 执 行 后S F0F=,CF=0。说 明:第(3)(4)小 题 实 质 就 是 考 查 有 符 号 数 与 无 符 号 数 大 小 得 比 较。(5)M O V AX/58;AX=3538HAN D AX,0F 0F H ;AX=0508HAAD;AX=58=003AH程 序 段 执 行 后AX=003A H,即58。程 序 段 得 功 能 就 是:将 两 位

36、 非 压 缩B CD码 转 化 为 其 对 应 得 十 六 进 制 数。说 明:可 用AAD指 令 实 现 将 十 位 与 个 位 数 值 拼 装 还 原 为。99得十六进制 数。反 之 将099得 数 值 分 离 成 十 位 与 个 位 可 用AAM指 令 实 现,教 材 汇编语言、微机原理及接口技术(第2版)例5.10与例5.13中均有应用。20、程序语句填空。(1)下列就是完成120之间得奇数累加与存于A L中得程序段:X O R AL,ALM O V CX,10;循环次数M O V B L,1AG AI N:ADD AL.B LADD B L,2;步长,参数改变L O O P AG A

37、I N(2)下列就是在串长为N得 串S T R中查找就是否有 M字符得程序段:M O V DI,S E G S T RM O V E S.DIL E A DI,S T RCL DM O V CX,NM O V AL,7M 7R E P N E S CAS B ;串查找核心指令J Z F O U N D;转到找到分支(3)下列就是完成1位十六进制数X显示得程序段:M O V DL.XAN D DL,O F HADD DL,30H ;或 O R DL,30HCM P AL/9J B E N E X TADD DL,7N E X T:M O V AH,02HI N T 21H(4)将D H中 得 二

38、 进 制 数 瞧 成 压 缩B CD码 并 送 出 显 示 得 程 序 段 如 下:M O V DL,DHM O V CL,4;获取十位S H R DL,CLADD DL,30HM O V AH,2;2号功能调用显示十位I N T 21HM O V DL,DHAN D DL,O F H ;获取个位O R DL,30HI N T 21H21、图略22、假 定AX与B X中得内容为带符号数,CX与DX得 内 容 为 无 符 号 数,请用比较指令 与 转 移 指 令 实 现 以 下 条 件 转 移:(1)若DX得 内 容 超 过CX得 内 容,则 转 到L 1。答:CM P DX,CXJ A L 1

39、(2)若B X得内容大于AX得内容,则转到L 2。答:CM P B X,AXJ G L 2(3)若DX得内容未超过CX得内容,则转到L 3。答:CM P DX,CXJ N A L 3(4)判 断B X与AX相比较就是否产生溢出,若溢出则转到L 4。答:CM P B X,AXJ O L 4(5)若B X得内容小于等于AX得内容,则转到L 5。答:CM P B X,AXJ L E L 5(6)若DX得内容小于等于CX得内容,则转到L 6。答:CM P DX,CXJ B E L 623、假 设B X=0A69H,V AL U E变量中存放得内容为1927H,写出下列各条指令执行后得B X得寄存器中与

40、CF、Z F、S F与O F得值:(1)X O R B X,V AL U E(2)AN D B X,V AL U E(3)O R B X,V AL U E(4)S U B B X,V AL U E(5)CM P B X,V AL U E(6)TEST BX,V A LU E答:B X CF(1)134EH 0(2)0821H 0(3)186FH 0(4)F142H 1(5)0A69H 1(6)0A69H 0ZF SF OF0 0 00 0 00 0 00 1 00 1 00 0 0第4章MASM汇编语言i、名词解释指令 伪指令 宏指令 汇编语句 汇编语言 汇编源程序 汇编程序 汇编 连接程序

41、连 接答:指 令:就 是CPU可 以 理 解 并 执 行 得 操 作 命 令。伪 指 令:就 是 用 于 为 汇 编 程 序 编 译 时 理 解 程 序 框 架、分 配 空 间(数 据 定 义)等得 汇 编 语 句。宏 指 令:实 质 上 就 就 是 有 多 条 指 令 打 包 而 成 得 一 组 指 令 得 集 合。汇 编 指 令:一行只能写一条汇编语句,一 条 汇 编 只 能 写 在 一 行 内。汇 编 语 言:语 句 中 得 表 达 式 就 是 在 汇 编 过 程 中 完 成 计 算 得,即 翻 译 之 后 得 机器语言程序中就 是 不 包 含 表 达 式 得。汇 编 源 程 序:主要有

42、四步,录 入 源 程 序、汇 编、连 接、运 行、调 试 运 行。(不准确)汇编程序:编写汇编程序实质上就就是在记住程序框架得基础上填写两空,即数据定义部分与功能程序部分。汇编:格式:MA S M 盘符 路径 程序基本名、A S M 建议程序基本名不要省 略、连接程序:编译器与汇编程序都经常依赖于连接程序,它将分别在不同得目标文件中编译或汇编得代码收集到一个可直接执行得文件中。连接程序还连接目标程序与用于标准库函数得代码,以及连接目标程序与由计算机得操作系统提供得资源连接:L I N K 盘符 路径 程序基本名、O B J 建议程序基本名不要省略。2写出三种汇编语句得基本格式并进行说明。教 材

43、P5 03、由用户取名得名字项有哪些?名字项得取名规则如何?教 材P5 04、请计算下列表达式得值。答(1)3+6/3*4 m o d 3 ;注意运算优先级,值 为5(2)(M G T N)A N D N O R M L E N A N D M;M,N 中得较小值(3)5 G T 3 (作为8位 与1 6位 二 进 制 数 各 为 多 少);0 F F H与0 F F F F H(4)2 0 A N D 7 7(作 为8位 与1 6位二进制数各为多少);0 4 H与0 0 0 4 H(5)5 A N D-1 :5(6)5 0 R-1;-1(7)NOT 5(作为8 位 与 16位 二 进 制 数

44、 各 为 多 少);0FAH与 0FFFAH,均为-6(8)设有定义如下:A DB 2,4,6,8B DW 2,4,6,8C DW 5 DUP(2,4,6,8)则 TYPE A、TYPE B 与 TYPE C 分别为多少?;1,2,2LENGTH A、LENGTH B 与 LENGTH C 分别为多少?;1,1,5SIZE A、SIZE B 与 SIZE C 分别为多少?;1,2,105、汇编语言中得数据类型与其她高级语言得数据类型相比较有哪些特点?6、设有如下定义:A DB 1101B,34,56Q,78H,4 DUP(?),ABCD请画出内存分配示意图并将其改成内存中存放次序相同得DW及

45、DD得等价定义语句。答:图自己画。A DW 220DH,782EH,2 DUP(?),4241H,4443HB DD,782E220DH,?,44434241H7、一个汇编源程序最多可以定义多少个段?段寄存器与所定义得段之间得对应关系就是怎样实现得?答:最多 4 个段,通过段对应伪指令ASSUME段寄存器名:段名来实现得对应。8、设置一个数据段DATA,其中连续存放6 个变量,用段定义语句与数据定义语句写出数据段:(1)A1为字符串变量:Example。(2)A2 为 数 值 字 节 变 量:1 0 0,1 27,-1,80 H,35Q,1 1 0 1 1 1 0 B(3)A3为4个。得 字

46、变 量。(4)A4为A3得 元 素 个 数。(5)A5为A 3占 用 得 字 节 数。(6)A6为A1,A2,A3,A4,A5占 用 得 总 字 节 数。答:DAT A S EG M EN TAl DB Ex a m p l e A2 DB 1 0 0,1 27,-1,80 H,35Q,1 1 0 1 1 1 0 1 3A3 DW 4 DU P(O)A4 DW L EN G T H A3A5 DW A4-A3;或 S IZ E A3A6 DW$-AlDAT A EN DS9、指 出 下 列 每 一 小 题 中 得 伪 指 令 表 达 得 操 作 哪 些 就 是 错 误 得?错 误 在 哪 里?

47、自 己 做。1 0、指 令O R AX,0 FC8H O R 563FH中,问 两 个O R操 作 分 别 在 什 么 时 候 进 行?有 什 么 区 别?用 立 即 数 写 出 此 等 价 指 令。答:第 一 个O R就 是CP U执 行 指 令 时 完 成 得 操 作,第 二 个O R就是汇编程序汇编时完成 得 操 作。用 立 即 数 写 出 得 等 价 指 令 就 是O R AX,5FFFH。1 1、指出下列每一对伪指令语句得区别自 己 做。1 2、请进行宏与子程序得比较。教 材P 601 3、请用流程图表示完整汇编程序得上机过程。教 材P 611 4 请默写两段程序得基本框架。教 材P

48、 601 5、请写出两字节数据相乘保存于字中得宏定义。答:参考代码如下:ABM M ACR O O P R I,O P R 2,O P R 3;宏定义,三个形参P U S H AXP U S H BXM O V AL,O P R IM O V BL,O P R 2M U L BLM O V O P R 3,AXP O P BXP O P AXEN DM ;宏定义结束第5章汇编程序设计1、程序得三种基本结构就是什么?请分别画出各自核心部分得流程图。P 662、请画出将1字节二进制数据转化成十六进制数显示得流程图。自己画3、编程实现两个字节变量相乘送字变量得程序。答:DAT A S EG M EN

49、 TADB1 2HBDB34HCDW?DAT AEN DSCO DE S EG M EN TAS S U M E CS:CO DE,DS:DAT AS T AR T:M O V AX,DAT AM O V DS,AXM O V AL,AM U L BM O V C,AX :C=Ax BM O V AH,4CH;返回 DO SIN T 21 HCO DE EN DSEN D S T AR T4、编程实现从键盘接收2 个一位十进制数并计算与显示它们得积。(如 输 入 7与 9 则显示为:7*9=63)答:CO DE S EG M EN TAS S U M E CS:CO DEAG AIN 1:M

50、O V AH,1 ;录入第一位IN T 21 HCM P AL,O JB AG AIN 1CM P AL/9,JA AG AIN 1M O V DH,ALS U B DH,30 HM O V DL,*;显示*”M O V AH,2IN T 21 HAG AIN 2:M 0 V AH,1 ;录入第二位IN T 21 HCM P AL,O JB AG AIN 2CM P AL,9JA AG AIN 2S U B AL,30 HM U L DHAAM;相乘;分离十位与个位M O V DH,AL ;暂存个位M O V DL,AH:显示十位ADD DL,30 HM O V AH,2IN T 21 HM

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

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

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

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