微机接口技术1.doc_第1页
微机接口技术1.doc_第2页
微机接口技术1.doc_第3页
微机接口技术1.doc_第4页
微机接口技术1.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机系统原理与接口技术微机系统原理与接口技术 第一章习题解答 部分 第一章习题解答 部分 1 写出下列原码机器数的真值 若分别作为反码和补码时 其表示的真值又分别是多少 写出下列原码机器数的真值 若分别作为反码和补码时 其表示的真值又分别是多少 1 0110 1110 二进制原码 二进制原码 110 1110 二进制真值 二进制真值 110 十进制真值 十进制真值 0110 1110 二进制反码 二进制反码 110 1110 二进制真值 二进制真值 110 十进制真值 十进制真值 0110 1110 二进制补码 二进制补码 110 1110 二进制真值 二进制真值 110 十进制真值 十进制真值 2 1011 0101 二进制原码 二进制原码 011 0101 二进制真值 二进制真值 53 十进制真值 十进制真值 1011 0101 二进制反码 二进制反码 100 1010 二进制真值 二进制真值 74 十进制真值 十进制真值 1011 0101 二进制补码 二进制补码 100 1011 二进制真值 二进制真值 75 十进制真值 十进制真值 2 写出下列二进制数的原码 反码和补码 设字长为 写出下列二进制数的原码 反码和补码 设字长为 8 位 位 1 101 0110 二进制真值 二进制真值 0101 0110 原码 原码 0101 0110 反码 反码 0101 0110 补码 补码 3 101 0110 二进制真值 二进制真值 1101 0110 原码 原码 1010 1001 反码 反码 1010 1010 补码 补码 3 下面各二进制数分别代表原码 反码和补码时 其等效的十进制数值为多少 下面各二进制数分别代表原码 反码和补码时 其等效的十进制数值为多少 2 1111 1111 二进制原码 二进制原码 127 十进制真值 十进制真值 1111 1111 二进制反码 二进制反码 0 十进制真值 十进制真值 1111 1111 二进制补码 二进制补码 1 十进制真值 十进制真值 3 1000 0000 二进制原码 二进制原码 0 十进制真值 十进制真值 1000 0000 二进制反码 二进制反码 127 十进制真值 十进制真值 1000 0000 二进制补码 二进制补码 128 十进制真值 十进制真值 4 已知 已知 X1 0010100 Y1 0100001 X2 0010100 Y2 0100001 试计算下列各式 设字长为 试计算下列各式 设字长为 8 位 位 1 X1 Y1 补 补 X1 补补 Y1 补 补 0001 0100 0010 0001 0011 0101 2 X1 Y2 补 补 X1 补补 Y2 补 补 0001 0100 0010 0001 0011 0101 3 X2 Y2 补 补 X2 补补 Y2 补 补 1110 1100 0010 0001 0000 1101 4 X2 Y2 补 补 X2 补补 Y2 补 补 1110 1100 1101 1111 1100 1011 5 用补码判断下列算式是否发生溢出 若不溢出 计算其结果 设字长为 用补码判断下列算式是否发生溢出 若不溢出 计算其结果 设字长为 8 位 位 4 85 60 10101011 补 补 11000100 补补 运算结果显示 最高位有进位 次高位无进位 结果溢出 运算结果显示 最高位有进位 次高位无进位 结果溢出 6 将下列数表示成规格化的单精度浮点数 将下列数表示成规格化的单精度浮点数 1 69 34 十进制 十进制 0100 0101 0101 0111 0001 0100 二进制 二进制 1 0001 0101 0101 1100 0101 00 二进制 二进制 26 0 10000101 00010101010111000101000 单精度浮点数 单精度浮点数 2 38 57 十进制 十进制 10 0110 1001 0001 1110 1 二进制 二进制 1 0011 0100 1000 1111 01 二进制 二进制 25 1 10000100 00110100100011110101110 单精度浮点数 单精度浮点数 注 小数部分根据具体精度要求取一定位数即可 通常至少保证注 小数部分根据具体精度要求取一定位数即可 通常至少保证 5 位有效位数 位有效位数 7 将下列数值转换为 将下列数值转换为 BCD 码 码 2 12710 0001 0010 0111 组合 组合 BCD 3 00100010B 3410 0011 0100 组合 组合 BCD 8 下面各 下面各 ASCII 码分别代表什么字符 码分别代表什么字符 1 41H ASCII 码 码 A 2 72H ASCII 码 码 r 3 65H ASCII 码 码 e 4 20H ASCII 码 码 空格 空格 9 写出下列字符的 写出下列字符的 ASCII 码 码 1 9 39H ASCII 码 码 2 C 43H ASCII 码 码 3 24H ASCII 码 码 4 28H ASCII 码 码 微机系统原理与接口技术微机系统原理与接口技术 第二章习题解答 部分 第二章习题解答 部分 1 请将左边的术语和右边的含义联系起来 在括号中填入右边的代号字母 请将左边的术语和右边的含义联系起来 在括号中填入右边的代号字母 1 字长 字长 i a 指由指由 8 个二进制位组成的通用基本单元 个二进制位组成的通用基本单元 2 字节 字节 a b 是是 CPU 指令执行时间的刻度 指令执行时间的刻度 3 指令 指令 h c CPU 所能访问的存储单元数 与所能访问的存储单元数 与 CPU 地址总线条数有关 地址总线条数有关 4 基本指令执行时间 基本指令执行时间 g d 惟一能代表存储空间每个字节单元的地址 用惟一能代表存储空间每个字节单元的地址 用 5 位十六进制数表示 位十六进制数表示 5 指令执行时间 指令执行时间 j e CPU 执行访问存储器或执行访问存储器或 I O 操作所花时间 操作所花时间 6 时钟周期 时钟周期 b f 由段基址和偏移地址组成 均用由段基址和偏移地址组成 均用 4 位十六进制数表示 位十六进制数表示 7 总线周期 总线周期 e g 指寄存器加法指令执行所花时间 指寄存器加法指令执行所花时间 8 Cache k h 完成操作的命令 完成操作的命令 9 虚拟存储器 虚拟存储器 l i 指指 CPU 在交换 加工 存放信息时信息位的最基本长度 在交换 加工 存放信息时信息位的最基本长度 10 访存空间 访存空间 c j 各条指令执行所花时间 不同指令值不一 各条指令执行所花时间 不同指令值不一 11 实际地址 实际地址 d k 为缓解为缓解 CPU 与主存储器间交换数据的速度瓶颈而建立的高速缓冲存储器 与主存储器间交换数据的速度瓶颈而建立的高速缓冲存储器 12 逻辑地址 逻辑地址 f l CPU 执行程序时看到的一个速度接近内存却具有外存容量的假想存储器 执行程序时看到的一个速度接近内存却具有外存容量的假想存储器 3 在下列各项中 选出 在下列各项中 选出 8086 的的 EU 和和 BIU 的组成部件 将所选部件的编号填写于横线上 的组成部件 将所选部件的编号填写于横线上 EU 3 7 9 12 BIU 4 5 6 8 10 11 1 地址部件 地址部件 AU 2 段界检查器 段界检查器 3 ALU 4 20 位地址产生器位地址产生器 5 20 位物理地址加法器位物理地址加法器 6 指令队列 指令队列 7 状态标志寄存器 状态标志寄存器 8 总线控制逻辑 总线控制逻辑 9 控制单元 控制单元 10 段寄存器组 段寄存器组 11 指令指针 指令指针 12 通用寄存器组 通用寄存器组 4 试将左边的标志和右边的功能联系起来 试将左边的标志和右边的功能联系起来 要求 要求 1 在括号中填入右边的功能代号 在括号中填入右边的功能代号 2 填写其类型 属于状态标志填 填写其类型 属于状态标志填 S 属于控制标志填 属于控制标志填 C 3 写出各标志为 写出各标志为 0 时表示的状态 时表示的状态 标志标志类型类型为为 0 时表示的状态时表示的状态 1 SF b a 陷阱标志陷阱标志S结果为正数结果为正数 2 CF d b 符号标志符号标志S无进位无进位 借位借位 3 AF h c 溢出标志溢出标志S无进位无进位 借位借位 4 DF i d 进位标志进位标志C数据串操作的增量地址为自动递增数据串操作的增量地址为自动递增 5 TF a e 零标志零标志C正常执行方式正常执行方式 6 OF c f 奇偶标志奇偶标志S无溢出无溢出 7 PF f g 中断允许标志中断允许标志S奇数个奇数个 1 8 IF g h 辅助进位标志辅助进位标志C无可屏蔽中断产生无可屏蔽中断产生 9 ZF e i 方向标志方向标志S结果不为结果不为 0 7 有一个由 有一个由 20 个字组成的数据区 其起始地址为个字组成的数据区 其起始地址为 610AH 1CE7H 试写出该数据区首末单元的实际地址 试写出该数据区首末单元的实际地址 PA 首单元地址 首单元地址 610A0H 1CE7H 62D87H 末单元地址 末单元地址 62D87H 27H 62DAEH 注 注 20 个字共占用了个字共占用了 40 个字节 末单元的偏移量为个字节 末单元的偏移量为 39 即十六进制的 即十六进制的 27H 8 若一个程序段开始执行之前 若一个程序段开始执行之前 CS 97F0H IP 1B40H 试问该程序段启动执行指令的实际地址是多少 试问该程序段启动执行指令的实际地址是多少 实际物理地址 实际物理地址 97F00H 1B40H 99A40H 9 若堆栈段寄存器 若堆栈段寄存器 SS 3A50H 堆栈指针 堆栈指针 SP 1500H 试问这时堆栈栈顶的实际地址是多少 试问这时堆栈栈顶的实际地址是多少 堆栈栈顶的实际物理地址 堆栈栈顶的实际物理地址 3A500H 1500H 3BA00H 12 有两个 有两个 16 位的字位的字 31DAH 5E7FH 它们在 它们在 8086 系统存储器中的地址为系统存储器中的地址为 00130H 和和 00135H 试画出它们的存储器示意图 试画出它们的存储器示意图 地址地址内容内容 00130H0DAH 00131H31H 00132H 00133H 00134H 00135H7F 00136H5E 13 有一个 有一个 32 位的地址指针位的地址指针 67ABH 2D34H 存放在从存放在从 00230H 开始的存储器中 试画出它们的存放示意图 开始的存储器中 试画出它们的存放示意图 地址地址内容内容 00230H34H 00231H2DH 00232H0ABH 00233H67H 14 将下列字符串的 将下列字符串的 ASCII 码依次存入从码依次存入从 00330H 开始的字节单元中 试画出它们的存放示意图 开始的字节单元中 试画出它们的存放示意图 U E S T C 为空格符 为空格符 地址地址内容内容 00330H55 00331H20 00332H45 00333H20 00334H53 00335H20 00336H54 00337H20 00338H43 15 存储器中每一个段最多为 存储器中每一个段最多为 64KB 当某程序 当某程序 routadf 运行后 用运行后 用 DEBUG 命令显示出当前各寄存器的内容如下 要求 命令显示出当前各寄存器的内容如下 要求 1 画出此时存储器分段的示意图 画出此时存储器分段的示意图 说明说明地址地址内容内容 代码段 附加段 首地址代码段 附加段 首地址11A70H 堆栈段首地址堆栈段首地址21BE0H 堆栈段末地址堆栈段末地址21CA7H 栈底栈底21CA8H 代码段首地址代码段首地址31B80H 2 写出各状态标志的值 写出各状态标志的值 B C debug routadf exe r AX 0000 BX 0000 CX 006D DX 0000 SP 00C8 BP 0000 SI 0000 DI 0000 DS 11A7 ES 11A7 SS 21BE CS 31B8 IP 0000 NV UP EI PL NZ NA P0 NC OF 0 DF 0 IF 1 SF 0 ZF 0 AF 0 PF 0 CF 0 16 已知 已知 SS 20A0H SP 0032H 欲将 欲将 CS 0A5BH IP 0012H AX 0FF42H SI 537AH BL 5CH 依次推入堆栈保存 要求 依次推入堆栈保存 要求 1 画出堆栈存放示意图 画出堆栈存放示意图 地址地址内容内容 入栈完毕时的当前栈顶入栈完毕时的当前栈顶 SP20A28H5CH 20A29H 20A2AH7AH 20A2BH53H 20A2CH42H 20A2DH0FFH 20A2EH12H 20A2FH00H 20A30H 5BH 20A31H 0AH 栈底 初始栈顶栈底 初始栈顶 SP 20A32H 2 写出入栈完毕时 写出入栈完毕时 SS 和和 SP 的值 的值 SS 20A0H 不变 不变 SP 0028H 微机系统原理与接口技术微机系统原理与接口技术 第三章习题解答第三章习题解答 1 下下列列各各条条指指令令是是否否有有错错 如如果果有有 请请指指出出错错误误之之处处并并改改正正 1 MOVDS 1000H 2 MOV 100 23H 3 ADDAX BX BP 6 4 PUSHDL 5 INAX 3FH 6 OUT3FFH AL 7 LESSS SI 8 POP AX 9 IMUL4CH 10 SHLBX 5 11 INT300 12 XCHGDX 0FFFH 答答 1 错错误误 不不允允许许直直接接向向段段寄寄存存器器送送立立即即数数 可可改改为为 MOVAX 1000H MOVDS AX 2 错错误误 该该指指令令 在语法上是对的 即可以把一个立即数送入一个存储单元 但是如果考虑实际编译 则第一操作数前应加上在语法上是对的 即可以把一个立即数送入一个存储单元 但是如果考虑实际编译 则第一操作数前应加上 BYTE PTR 或或 WORD PTR 说明 否则汇编程序会因不能确定操作数长度而指示出错 可改为 说明 否则汇编程序会因不能确定操作数长度而指示出错 可改为 MOVBYTE PTR 100 23H 3 错错误误 不不能能同同时时使使用用两两个个基基址址寄寄存存器器BX BP 进进行行间间接接寻寻址址 可可改改为为 ADDAX BX DI 6 4 错错误误 堆堆栈栈操操作作应应以以字字为为单单位位进进行行 而而DL 是是一一个个字字节节 可可改改为为 PUSHDX 5 错错误误 在在输输入入 输输出出指指令令中中 8 位位端端口口地地址址应应直直接接写写在在操操作作数数处处 可可改改为为 INAX 3FH 6 错错误误 端端口口地地址址 3FFH 已已超超出出 8 位位二二进进制制表表示示范范围围 16 位位端端口口地地址址应应用用 DX 可可改改为为 MOVDX 3FFH OUTDX AL 7 错错误误 LES 指指令令的的目目操操作作数数应应该该是是通通用用寄寄存存器器 不不能能是是段段寄寄存存器器 可可改改为为 LESAX SI 8 错错误误 AX 不不能能用用于于间间接接寻寻址址 间间接接寻寻址址只只能能用用BX BP SI DI 四四个个寄寄存存器器之之一一 可可改改为为 POP BX 9 错错误误 立立即即数数不不能能做做乘乘法法指指令令的的操操作作数数 可可改改为为 MOVBL 4CH IMULBL 10 错错误误 当当逻逻辑辑移移位位的的次次数数大大于于1 时时 应应该该用用 CL 指指示示次次数数 可可改改为为 MOVCL 5 SHLBX CL 11 错错误误 操操作作数数 300 255 已已超超出出有有效效的的中中断断类类型型码码范范围围 12 错错误误 XCHG 指指令令不不允允许许立立即即数数做做它它的的操操作作数数 可可改改为为 MOVCX 0FFFH XCHGDX CX 2 请请指指出出以以下下各各指指令令的的源源 目目的的操操作作数数所所使使用用的的寻寻址址方方式式 1 MOVSI 2100H 2 SBBDISP BX 7 3 AND DI AX 4 ORAX 609EH 5 MOV BX DI 30H CX 6 PUSHES BP 7 CALL DI DISP 8 JNZShort label 答答 1 源源操操作作数数 立立即即数数寻寻址址 目目的的操操作作数数 寄寄存存器器寻寻址址 2 源源操操作作数数 立立即即数数寻寻址址 目目的的操操作作数数 带带位位移移量量的的 基基址址寻寻址址 3 源源操操作作数数 寄寄存存器器寻寻址址 目目的的操操作作数数 变变址址寻寻址址 4 源源操操作作数数 直直接接寻寻址址 目目的的操操作作数数 寄寄存存器器寻寻址址 5 源源操操作作数数 寄寄存存器器寻寻址址 目目的的操操作作数数 带带位位移移量量的的 基基址址变变址址寻寻址址 6 源源操操作作数数 带带段段超超越越的的基基址址寻寻址址 目目的的操操作作数数 隐隐含含寻寻址址 7 只只有有一一个个操操作作数数 为为 带带位位移移量量的的 变变址址寻寻址址 8 只只有有一一个个操操作作数数 为为相相对对寻寻址址 3 在在已已学学的的指指令令中中 可可实实现现累累加加器器清清0 的的单单条条指指令令有有哪哪些些 比比较较它它们们的的功功能能 答答 共共有有以以下下四四种种方方法法 1 MOV AX 0 仅仅将将累累加加器器清清 0 不不会会影影响响任任何何标标志志位位 2 SUB AX AX 累累加加器器清清 0 的的同同时时影影响响所所有有状状态态标标志志 具具体体地地有有 ZF PF 置置 1 CF AF SF OF 均均清清 0 3 AND AX 0 将将累累加加器器清清 0 ZF PF 置置 1 CF OF SF 清清 0 4 XOR AX AX 将将累累加加器器清清 0 ZF PF 置置 1 CF OF SF 清清 0 4 若若要要判判断断某某带带符符号号数数的的正正 负负而而不不影影响响其其原原值值 可可使使用用哪哪些些方方法法 答答 设设带带符符号号数数为为 oprd 判判断断方方法法可可有有如如下下几几种种 1 执执行行指指令令 ADD oprd 0 之之后后 判判断断 SF SF 0 oprd 为为正正数数 否否则则为为负负 2 执执行行指指令令 SUB oprd 0 之之后后 判判断断 SF SF 0 oprd 为为正正数数 否否则则为为负负 3 执执行行指指令令 CMP oprd 0 之之后后 可可直直接接判判断断 SF SF 0 oprd 为为正正数数 否否则则为为负负 或或者者再再接接着着执执行行指指令令 JGE NOMINUS 即即同同时时判判断断 SF OF 若若程程序序转转移移至至 NOMINUS 处处 则则 oprd 为为正正数数 否否则则为为负负 同同理理 亦亦可可在在在在执执行行完完CMP oprd 0 之之后后再再接接着着执执行行指指令令 JL NOMINUS 若若程程序序转转移移至至 NOMINUS 处处 则则 oprd 为为负负数数 否否则则为为正正 4 执执行行指指令令 CMP oprd 80H 或或 8000H 之之后后 判判断断 CF CF 1 oprd 为为正正数数 否否则则为为负负 5 执执行行指指令令 AND oprd oprd 或或全全 1 之之后后 判判断断 SF SF 0 oprd 为为正正数数 否否则则为为负负 6 执执行行指指令令 TEST oprd oprd 或或全全 1 之之后后 判判断断 SF SF 0 oprd 为为正正数数 否否则则为为负负 7 执执行行指指令令 TEST oprd 80H 或或 8000H 之之后后 判判断断 SF SF 0 oprd 为为正正数数 否否则则为为负负 或或判判断断 ZF ZF 1 oprd 为为正正数数 否否则则为为负负 8 执执行行指指令令 OR oprd oprd 或或全全 0 之之后后 判判断断 SF SF 0 oprd 为为正正数数 否否则则为为负负 9 执执行行指指令令 XOR oprd 0 之之后后 判判断断 SF SF 0 oprd 为为正正数数 否否则则为为负负 5 已已知知 DS 2000H 有有关关的的内内存存单单元元值值为为 21000H 00H 21001H 12H 21200H 00H 21201H 10H 23200H 20H 23201H 30H 23400H 40H 23401H 30H 23600H 60H 23601H 30H 符符号号 COUNT 的的偏偏移移地地址址为为 1200H 执执行行下下列列 指指令令后后 寄寄存存器器 AX BX SI 的的值值分分别别是是多多少少 MOV BX OFFSET COUNT MOV SI BX MOV AX COUNT SI BX 答答 执执行行结结果果为为 BX 1200H SI 1000H AX 3040H 6 设设标标志志寄寄存存器器值值原原为为 0401H AX 3272H BX 42A2H 执执行行指指令令 SBB AL BH 之之后后 AX 和和标标志志寄寄存存器器的的值值分分别别是是多多少少 答答 由由标标志志寄寄存存器器的的原原值值 0401H 可可知知 CF的的原原值值为为 1 故故指指令令执执行行之之后后 AX 322FH 标标志志寄寄存存器器的的值值为为 0410H 即即 AF 变变为为 1 CF 变变为为 0 其其余余不不变变 7 设设若若标标志志寄寄存存器器原原值值为为 0A11H SP 0060H AL 4 下下列列几几条条指指令令执执行行后后 标标志志寄寄存存器器 AX SP 的的值值分分别别是是多多少少 PUSHF LAHF XCHGAH AL PUSH AX SAHF POPF 答答 指指令令执执行行后后标标志志寄寄存存器器的的值值为为0411H AX 0411H SP 005EH 8 设设若若内内存存单单元元 DATA 在在数数据据段段中中偏偏移移量量为为 24C0H 处处 24C0H 24C3H 单单元元中中依依次次存存放放着着 55H 66H 77H 88H 下下列列几几条条指指令令 执执行行后后 寄寄存存器器 AX BX CL SI DS 的的值值分分别别是是多多少少 MOV AX DATA LEASI DATA MOV CL SI LDSBX DATA 答答 执执行行结结果果为为 AX 6655H BX 6655H CL 55H SI 24C0H DS 8877H 9 若若 AX 26D3H CX 7908H CF 1 执执行行下下列列指指令令后后 寄寄存存器器 AX CX 的的值值分分别别是是多多少少 CF OF SALCH 1 RCRAX CL ROLAL 1 答答 执执行行结结果果为为 AX 0A64CH CX 0F208H CF OF 0 10 已已知知 IP 1000H CF 0 则则执执行行指指令令 JNC Short label 后后 下下列列各各数数中中哪哪一一个个是是可可能能的的IP 值值 A 0FFFFH B 0FFEH C 10FEH D 1100H 答答 B 简简析析 条条件件转转移移指指令令执执行行前前 IP 1000H 执执行行 JNC 指指令令后后 IP 1002H 又又因因 CF 0 所所以以应应跳跳转转至至目目标标地地址址处处 该该处处对对应应的的新新IP 值值 1002H 相相对对位位移移量量 由由于于条条件件转转移移指指令令的的跳跳转转范范围围在在距距本本条条指指令令 128 127 个个字字节节内内 即即新新 IP 值值可可能能的的取取值值范范围围为为 0F82H 1081H 因因此此只只有有答答案案 B 符符合合条条件件 11 设设 DS 4500H AX 0508H BX 4000H SI 0320H 当当 8086CPU 在在最最小小组组态态下下执执行行指指令令 MOV BX SI 0100H AX 时时 各各控控制制信信号号 M DT 在在有有效效期期间间的的状状态态分分别别是是什什么么 数数据据总总线线和和地地址址总总线线上上的的数数分分别别是是多多少少 IORRDWR 答答 各各控控制制信信号号 M DT 在在有有效效期期间间的的电电平平分分别别是是 高高 高高 高高 低低 数数据据总总线线上上的的数数是是0508H 地地址址总总线线IORRDWR 上上的的地地址址是是 49420H 12 已已知知有有某某字字串串 BUF1 的的首首址址为为 0000H BUF2 的的首首址址为为 0010H 数数据据段段与与附附加加段段重重合合 欲欲从从BUF1 处处开开始始将将 10 个个字字数数据据顺顺序序传传送送 至至 BUF2 处处 试试在在下下面面程程序序段段的的空空白白处处填填上上适适当当的的指指令令或或操操作作数数以以实实现现上上述述功功能能 LEASI BUF1 ADDSI 18 LEADI BUF2 ADDDI 18 STD MOV CX 10 REPMOVSW 13 附附加加段段中中有有某某字字符符串串首首址址为为 BLOCK 长长 17 个个字字节节 欲欲查查找找其其中中第第一一次次出出现现字字符符 e 的的位位置置 并并将将该该位位置置所所在在的的偏偏移移量量入入栈栈保保护护 试试在在下下面面程程序序段段的的空空白白处处填填上上适适当当的的指指令令或或操操作作数数以以实实现现上上述述功功能能 MOV DI OFFSET BLOCK MOV AL e MOV CX 17 CLD REPNESCASB JNEOTHER DECDI PUSH DI OTHER 略略 14 已已知知附附加加段段中中有有一一块块长长 50 个个字字的的数数据据区区 首首址址为为 DEST 欲欲编编程程将将它它们们全全部部初初始始化化为为0FFFFH 值值 试试在在下下面面程程序序段段的的空空白白处处填填上上 适适当当的的指指令令或或操操作作数数 以以实实现现上上述述功功能能 LEADI DEST MOV CX 100 CLD MOV AL 0FFH REP STOSB 15 已已知知有有程程序序段段如如下下 MOV AL 35H MOV DL AL ANDDL 0FH ANDAL 0F0H MOV CL 4 SHRAL CL MOV BL 10 MULBL ADDAL DL 执执行行之之后后 AL 等等于于多多少少 该该程程序序段段完完成成了了什什么么功功能能 答答 程程序序段段执执行行后后 AL 23H 该该程程序序段段实实现现了了将将 AL 中中的的 1 个个组组合合 BCD 码码转转换换为为十十六六进进制制数数并并存存回回 AL 中中的的功功能能 16 以以 HEX 为为首首址址的的字字节节单单元元处处存存放放着着一一串串ASCII 字字符符 0123456789ABCDEF 并并有有程程序序段段如如下下 MOV BX OFFSET HEX LEADI HCOD INCDI STD MOV AL 5CH MOV AH AL ANDAL 0FH XLAT HEX STOSB MOV AL AH MOV CL 4 SHRAL CL XLAT HEX STOSB 上上述述程程序序段段执执行行后后 字字节节单单元元HCOD 及及其其相相邻邻单单元元 HCOD 1 的的内内容容是是多多少少 该该程程序序段段的的功功能能是是什什么么 答答 程程序序段段执执行行后后 HCOD 单单元元的的内内容容是是 5 HCOD 1 单单元元的的内内容容是是 C 该该程程序序段段将将 AL 中中存存放放的的 1 字字节节十十六六进进制制数数转转换换为为 2 个个对对应应的的 ASCII 字字符符存存放放在在 HCOD 及及其其相相邻邻单单元元 HCOD 1 中中 17 有有程程序序段段如如下下 MOV AL DB1 MOV AH 0 MOV DL 10 L1 DIVDL MOV BL AH MOV BH 0 PUSH BX MOV AH 0 CMPAL 0 JNZL1 若若内内存存单单元元 DB1 的的值值为为 7BH 则则程程序序将将依依次次向向堆堆栈栈压压入入哪哪些些数数据据 该该程程序序段段实实现现了了什什么么功功能能 答答 先先后后存存入入堆堆栈栈中中的的字字数数据据依依次次是是3 2 1 该该程程序序段段实实现现了了将将一一个个字字节节的的无无符符号号十十六六进进制制数数DB1 转转换换为为非非组组合合 BCD 码码存存入入堆堆 栈栈的的功功能能 堆堆栈栈中中最最先先压压入入的的是是十十进进制制数数的的个个位位 每每个个十十进进制制位位在在堆堆栈栈中中占占1 个个字字单单元元 18 下下面面的的程程序序执执行行后后 DX AX 的的值值分分别别是是多多少少 以以 X 为为首首址址的的字字单单元元中中的的数数据据依依次次为为1234H 5678H 以以 Y 为为首首址址的的字字单单元元中中的的数数据据依依次次为为8765H 4321H LEASI X LEADI Y MOV DX SI 2 MOV AX X ADDAX X ADCDX SI 2 CMPDX DI 2 JLL2 CMPAX Y JLL1 JMPEXIT L1 MOVAX 1 JMPEXIT L2 MOVAX 2 EXIT 答答 执执行行结结果果为为 AX 2 DX 0ACF0H 19 已已知知组组合合 BCD 码码的的存存放放情情况况如如图图所所示示 按按要要求求编编写写计计算算程程序序 94H DATA1 16H 26H 89H 30H DATA2 55H 04H 74H RES 1 从从 DATA1 单单元元开开始始 将将 8 个个组组合合 BCD 码码累累加加起起来来 其其和和 超超过过 1 字字节节 存存入入以以 RES 为为首首址址的的单单元元中中 低低位位在在前前 答答 一一种种可可能能的的程程序序段段实实现现如如下下 8 个个组组合合 BCD 码码累累加加 LEA SI DATA1 SI 指指向向 DATA1 处处 CLD 清清 DF 地地址址自自动动增增量量 LODSB AL 中中装装入入第第一一个个 BCD 码码 并并修修改改 SI MOV CX 7 共共加加 7 次次 MOV AH 0 AH 用用作作高高位位 记记录录低低位位字字节节的的进进位位 AGAIN ADDAL SI 多多个个数数累累加加 位位权权相相同同 不不能能用用ADC DAA 组组合合码码十十进进制制调调整整 ADCAH 0 DAA 不不影影响响 AH 只只影影响响标标志志位位 INCSI 修修改改指指针针 LOOP AGAIN MOV RES AX 将将 AX 的的全全部部 16 位位送送至至字字单单元元 2 将将它它们们看看作作 2 个个分分别别以以 DATA1 DATA2 为为首首址址的的 8 位位十十进进制制数数 低低位位在在前前 求求此此两两数数之之差差并并存存入入以以 RES 为为首首址址的的单单元元中中 答答 一一种种可可能能的的程程序序段段实实现现如如下下 2 个个 8 位位十十进进数数 4 字字节节组组合合 BCD 码码 相相减减 LEASI DATA2 SI 指指向向被被减减数数最最低低位位 LEABX DATA1 BX 指指向向减减数数最最低低位位 LEADI RES DI 指指向向结结果果单单元元最最低低位位 CLD 清清 DF 地地址址自自动动增增量量 MOV CX 4 共共减减 4 次次 CLC 清清 CF 使使首首次次执执行行 SBB 时时结结果果正正确确 NEXT LODSB 向向 AL 装装入入被被减减数数 并并修修改改 SI SBBAL BX 带带借借位位相相减减 DAS 组组合合码码的的十十进进制制调调整整 影影响响标标志志位位 STOSB 存存放放结结果果 并并修修改改 DI INCBX 修修改改 BX LOOP NEXT 20 有有一一个个 64 位位二二进进制制数数 由由高高位位字字到到低低位位字字分分别别存存放放在在DX CX BX AX 四四个个 16 位位数数据据寄寄存存器器中中 将将该该数数视视为为无无符符号号数数 编编程程 把把它它左左移移 1 位位 再再当当作作带带符符号号数数 编编程程把把它它右右移移2 位位 答答 1 一一种种可可能能的的无无符符号号数数左左移移的的程程序序段段实实现现如如下下 SALAX 1 RCLBX 1 RCLCX 1 RCLDX 1 简简析析 64 位位数数的的整整体体左左移移应应从从最最低低位位字字开开始始 借借助助CF把把每每次次向向左左移移出出的的 D15位位移移入入高高位位字字的的 D0位位 在在 SAL SHL ROL RCL 几几 条条左左移移指指令令中中 只只有有 RCL 能能够够把把 CF移移入入 D0位位 故故应应选选用用该该循循环环移移位位指指令令 注注意意 若若第第一一次次左左移移AX 时时也也使使用用 RCL 应应首首先先将将 CF清清 0 2 一一种种可可能能的的带带符符号号数数右右移移 2 位位的的程程序序段段实实现现如如下下 MOV SI 2 循循环环次次数数 AGN SAR DX 1 RCRCX 1 RCRBX 1 RCRAX 1 DECSI JNZAGN 简简析析 64 位位带带符符号号数数的的整整体体右右移移应应从从最最高高位位字字开开始始 最最高高位位字字右右移移时时需需将将符符号号位位 D15 复复制制 并并将将右右移移出出的的 D0位位移移入入低低位位字字的的 D15位位 余余下下的的三三个个低低位位字字则则不不再再复复制制D15位位 故故首首次次右右移移应应使使用用 SAR 指指令令 而而后后 3 次次右右移移使使用用 RCR 指指令令 另另外外 本本例例要要求求右右移移 2 位位 因因 CF只只能能保保存存一一个个二二进进制制位位 若若直直接接使使用用 SAR RCR数数据据寄寄存存器器 CL 这这样样的的指指令令进进行行移移位位 将将无无法法得得到到正正确确的的移移位位结结果果 所所以以用用循循环环程程序序完完成成2 次次移移位位 21 设设 VAR 字字单单元元的的值值为为 x F1 字字单单元元的的值值为为 y 试试编编程程按按以以下下要要求求给给 y 赋赋值值 2x 30 y 0 30 x 1 2x30 则则转转 PLUS2 CMPAX 1 JLMIN2 x 1 则则转转 MIN2 MOV F1 0 30 x 1 y 0 JMPGO PLUS2 MOVF1 2 y 2 JMPGO MIN2 MOVF1 2 y 2 或或 00FEH GO 后后续续处处理理 简简析析 本本例例中中并并未未说说明明 VAR 字字节节单单元元是是带带符符号号数数还还是是无无符符号号数数 读读者者在在使使用用判判断断转转移移指指令令时时可可任任意意选选用用 若若当当作作带带符符号号数数 应应使使用用 JG JL JGE JLE 等等指指令令 如如参参考考程程序序 若若当当作作无无符符号号数数 则则应应使使用用JA JB JAE JBE 等等指指令令 微机系统原理与接口技术微机系统原理与接口技术 第四章习题解答 部分 第四章习题解答 部分 1 判判断断以以下下说说法法是是否否正正确确 如如有有错错 请请说说明明原原因因并并改改正正 1 伪指令在汇编过程中不会产生二进制代码 伪指令在汇编过程中不会产生二进制代码 2 宏和过程的相同之处是都可用于简化源程序书写 精简目标代码 宏和过程的相同之处是都可用于简化源程序书写 精简目标代码 3 在计算机中 高级语言通常需要转换为汇编语言后才能执行 在计算机中 高级语言通常需要转换为汇编语言后才能执行 4 汇编语言程序上机一般包括编辑 汇编 链接和调试几个步骤 汇编语言程序上机一般包括编辑 汇编 链接和调试几个步骤 答答 1 正正确确 2 错错误误 宏宏不不能能精精简简目目标标代代码码 3 错错误误 高高级级语语言言程程序序经经编编译译或或解解释释后后直直接接转转换换为为目目标标代代码码 4 正正确确 2 已已知知数数据据和和符符号号定定义义 A1DB A2DB8 K1EQU100 判判断断下下列列指指令令的的正正误误 并并说说明明错错误误指指令令的的原原因因 1 MOVK1 AX 2 MOVA2 AH 3 MOVBX K1 MOV BX DX 4 CMPA1 A2 5 K1EQU200 答答 1 错错误误 K1 是是符符号号常常数数 在在此此处处相相当当于于立立即即数数100 故故不不能能做做目目的的操操作作数数 2 正正确确 3 正正确确 4 错错误误 A1 A2 都都是是字字节节变变量量 相相当当于于两两个个存存储储器器单单元元 故故不不能能同同时时出出现现在在一一条条指指令令中中直直接接进进行行比比较较 5 错错误误 用用 EQU 定定义义的的符符号号不不能能重重新新赋赋值值 除除非非已已用用PURGE 解解除除了了原原值值 3 若若数数据据段段中中有有定定义义 NUM1 EQU23H NUM2 DW0 则则指指令令 MOV NUM2 NUM1 的的源源 目目操操作作数数的的寻寻址址方方式式以以及及指指令令执执行行后后NUM2 1 单单元元的的内内容容分分别别是是什什么么 答答 指指令令 MOV NUM2 NUM1 的的源源操操作作数数使使用用立立即即数数寻寻址址 目目的的操操作作数数使使用用直直接接寻寻址址 指指令令执执行行后后NUM2 1 单单元元的的内内容容是是 0 4 设设 DS 6000H BX 8432H SS 5000H SP 3258H 内存 内存 69632H 69635H 单元的内容依次是单元的内容依次是 00H 11H 22H 33H 4 字节指令字节指令 CALL DWORD PTR BX 1200H 本身位于本身位于 2000H 3250H 处的双字单元中 当处的双字单元中 当 8086 执行该指令后转移至子程序入口时 执行该指令后转移至子程序入口时 CS IP SS SP 各各 寄存器以及栈顶寄存器以及栈顶 2 个字单元的内容分别是多少 个字单元的内容分别是多少 答答 执执行行结结果果为为 CS 3322H IP 1100H SS 5000H SP 3254H 栈栈顶顶的的两两个个字字即即断断点点地地址址 为为2000H 3254H 5 已已知知某某数数据据段段从从物物理理地地址址 03000H 处处开开始始 定定义义如如下下 DSEG SEGMENT ORG2000H A1DD2 DUP 7 1 A2DB10 DUP 0 4 3 DUP 2 5 CNTEQU20H A3DW100 DUP DSEG ENDS 请请分分别别用用分分析析运运算算符符 SEG OFFSET LENGTH SIZE TYPE 求求出出 A1 A2 A3 的的段段基基址址 偏偏移移量量 类类型型及及它它们们的的LENGTH SIZE 答答 SEG A1 0300H OFFSET A1 2000H TYPE A1 4 LENGTH A1 2 SIZE A1 2 4 8 SEG A2 0300H OFFSET A2 2018H TYPE A2 1 LENGTH A2 10 SIZE A2 10 1 60 SEG A3 0300H OFFSET A3 2054H TYPE A3 2 LENGTH A3 100 SIZE A3 100 2 200 6 已已知知符符号号定定义义语语句句 如下如下 ALPHAEQU100 BETAEQU25 GAMMAEQU2 分分别别求求下下列列各各表表达达式式的的值值 1 ALPHA 4 GT BETA 100 4 GT 25 0FFFFH 2 ALPHA MOD GAMMA BETA 100 MOD 2 25 25 3 BETA 3 LE 5 25 3 LE 5 0 4 ALPHA AND BETA 100 AND 25 64H 补补充充的的三三条条指指令令为为主主程程序序返返回回提提供供正正确确的的地地址址 XORAX AX PUSH AX MOV AX DATA MOV DS AX MOV ES AX MOVS 指指令令以以 ES DI 为为目目的的串串指指针针 故故应应对对 ES 赋赋值值 INIT MOV SI OFFSET INBUF LEADI OUTBUF MOV CX 100 CLD 从从首首址址开开始始传传送送 应应使使 DF 0 REP MOVSW 应应传传送送的的是是 100 个个字字而而非非字字节节 RET 程程序序结结束束 返返回回 DOS MAIN ENDP CODE ENDS ENDMAIN 该该程程序序完完成成的的功功能能是是 将将 INBUF 表表内内的的 10 个个字字数数据据复复制制到到以以 OUTPUT 开开始始的的连连续续的的内内存存单单元元中中 9 下下面面的的程程序序段段中中有有 2 条条转转移移指指令令 计计算算它它们们的的相相对对位位移移量量并并填填在在空空缺缺的的机机器器代代码码处处 1000 001BF3A6REPZ CMPSB 1000 001D75 01 JNZ0020 1000 001FCBSAME RET 1000 002041FOUND INCCX 1000 0021890E0600MOV 0006 CX 1000 0025EB F8 JMP001F 答答 两两处处空空缺缺的的机机器器码码分分别别为为01H 0F8H 简简析析 JNZ 指指令令采采用用相相对对寻寻址址方方式式 本本例例程程序序中中JNZ 的的目目标标地地址址是是同同一一段段中中偏偏移移量量为为0020H 处处 当当前前 IP 001FH 故故有有 相相对对偏偏移移量量 目目标标地地址址 当当前前 IP 值值 01H JMP 指指令令有有多多种种寻寻址址方方式式 本本例例程程序序中中的的JMP 为为段段内内直直接接跳跳转转 也也采采用用相相对对寻寻址址方方式式 因因当当前前IP 0027H 目目标标地地址址为为 001FH 因因 此此有有 相相对对偏偏移移量量 目目标标地地址址 当当前前 IP 值值 0F8H 8 的的补补码码 10 1 11 1 12 程程序序功功能能 找找出出 DATA1 表表中中最最大大和和最最小小的的无无符符号号数数 BX 最最小小 0 AX 最最大大 0ffffh 13 读读下下面面程程序序 在在其其中中的的空空处处添添上上适适当当内内容容 该该程程序序完完成成了了什什么么功功能能 程程序序运运行行后后 变变量量RS 的的值值是是多多少少 DATA SEGMENT BUFDB 13 24 5 62 77 20 7 145 0 CNTDB BUF RSDB0 DATA ENDS STACKSEGMENTPARA STACK STACK DB256 DUP STACKENDS CODE SEGMENT ASSUMEDS DATA SS ST

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论