微机原理与接口技术课后习题答案郭兰英.doc

上传人:h**** 文档编号:168112 上传时间:2018-07-13 格式:DOC 页数:28 大小:985KB
下载 相关 举报
微机原理与接口技术课后习题答案郭兰英.doc_第1页
第1页 / 共28页
微机原理与接口技术课后习题答案郭兰英.doc_第2页
第2页 / 共28页
微机原理与接口技术课后习题答案郭兰英.doc_第3页
第3页 / 共28页
微机原理与接口技术课后习题答案郭兰英.doc_第4页
第4页 / 共28页
微机原理与接口技术课后习题答案郭兰英.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、 1 第一章 1.1 解: 五代,详细见书 1.2 解: 微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件 控制器和运算器的微处理器为核心,所构造出的计算机系统 。 PC 机: PC( Personal Computer)机就是面向个人单独使用的一类微机 。 单片机:用于控制的微处理器芯片,内部除 CPU 外还集成了计算机的其他一些主要部件,如: ROM、 RAM、定时器、并行接口、串行接口,有的芯片还集成了 A/D、 D/A 转换电路等。 数字信号处理器 DSP:主要面向大流量数字信号的实 时处理,在宿主系统中充当数据处理中心,在网络通信、多媒体应用等领域正得到越来越

2、多的应用 1.3 解: 微机主要有存储器、 I/O 设备和 I/O 接口、 CPU、系统总线、操作系统和应用软件组成,各部分功能如下: CPU:统一协调和控制系统中的各个部件 系统总线: 传送信息 存储器:存放程序和数据 I/O 设备:实现微机的输入输出功能 I/O 接口: I/O 设备与 CPU 的桥梁 操作系统:管理系统所有的软硬件资源 1.4 解: 系统总线:传递信息的一组公用导线, CPU 通过它们与存储器和 I/O 设备进行信息交换 。 好处:组态灵活、扩展方便 三组信号线:数据总线、地址总线和控制总线 。 其使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个发

3、送者向总线发送信号;但可以有多个设备从总线上同时获得信号。 1.5 解: ( 1)用于数值计算、数据处理及信息管理方向。采用通用微机,要求有较快的工作速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的维护、扩充手段。 ( 2)用于过程控制及嵌人应用方向。 采用控制类微机,要求能抵抗各种干扰、适应现场 的恶劣环境、确保长时间稳定地工作,要求其实时性要好、强调其体积要小、便携式应用强调其省电。 1.6 解: 2 1.7 解: I/O 通道: 位于 CPU和设备控制器之间 , 其目的是承担一些原来由 CPU 处理的 I/O任务,从而把 CPU从繁杂的

4、 I/O任务中解脱出来。 由 10 根信号线组成( A9-A0)。 1.8 解: BIOS:基本输入输出系统。 主要功能:用来驱动和管理诸如键盘、显示器、打印机、磁盘、时钟、串行通信接口等基本的输入输出设备 1.9 解: 基本 RAM 区: 640KB 保留 RAM 区: 128KB 扩展 ROM 区: 128KB 基本 ROM 区: 128KB 1.10 解: ( 1)、数 用来直接表征量的大小,包括:定点数、浮点数。 ( 2)、码 用来指代某个事物或事物的某种状态属性,包括:二进制、八进制、十进制、十六进制。 区别:使用场合不同,详见 P16. 1.11 解: ( 1) 3 1 0 21

5、0 1 61 7 4 .6 6 ) (1 0 1 0 1 1 1 0 .1 0 1 0 1)1 7 4 .6 6 ) ( . 8 )A E A( ( 2) 2 1 02 1 6100011101011.01011) ( 2283.34375 )100011101011.01011) ( 8 .58 )EB( ( 3) 1 6 21 6 1 0F 1 8 A 6 .6 ) (1 1 1 1 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 0 .0 1 1 0 )F 1 8 A 6 .6 ) ( 9 8 9 3 5 0 .3 7 5 )( 1.12 解: 原码 反码 补码 +37 00

6、100101/25H 00100101/25H 00100101/25H -37 10100101/A5H 11011010/DAH 11011011/DBH 1.13 解: +37 -37 16 位 32 位 16 位 32 位 00 25H 00 00 00 25H FF 5BH FF FF FF 5BH 1.14 解: 无符号数: 70D 补 码有符号数: 70D BCD 码: 46D ASCII:F 1.15 解: 1)、相加后若出现和大于 9,则将和减去 10 后再向高位进 1 2)、若出现组间进位,则将低位加 6 1.16 解: 详见课本 16 页。 1.17 解: C3 40 2

7、0 00 1.18 解: 50 50H 十进制值 50 80 二进制 十六进制 二进制 十六进制 4 0011 0010B 32H 0101 0000B 50H 1.19 解: D: 44H d: 64H CR: 0DH LF: 0AH 0: 30H SP: 20H NUL:00H 1.20 解: 国标码: 36 50H 机内码: B6 B0H 第 3 章 3.2 解: ( 1) 完整的汇编语言源程序由段组成 ( 2)一个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列 ( 3)需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起

8、始点 ( 4)所有的可执行性语句必须位于某一个代码段内,说明 性语句可根据需要位于任一段内 ( 5)通常,程序还需要一个堆栈段 3.3 解: 存储模式 特 点 TINY COM 类型程序,只有一个小于 64KB 的逻辑段( MASM 6.x 支持) SMALL 小应用程序,只有一个代码段和一个数据段(含堆栈段),每段不大于 64KB COMPACT 代码少、数据多的程序,只有一个代码段,但有多个数据段 MEDIUM 代码多、数据少的程序,可有多个代码段,只有一个数据段 LARGE 大应用程序,可有多个代码段和多个数据段(静态数据小于 64KB) 5 HUGE 更大应用程 序,可有多个代码段和多

9、个数据段(对静态数据没有限制) FLAT 32 位应用程序,运行在 32位 80x86CPU 和 Windows 9x 或 NT 环境 3.4 解: 开始位置:用标号指明 返回 DOS:利用 DOS 功能调用的 4CH 子功能来实现 汇编停止:执行到一条 END 伪指令时,停止汇编 3.5 解: 段定位、段组合和段类型。 3.6 解: stack segment stack db 1024(0) stack ends data segment string db Hello,Assembly! , 0dH, 0aH, $ data ends code segment code assume c

10、s:code,ds:data,ss:stack start: mov dx,offset string mov ah,9 int 21h code ends end start 3.7 解: (1). EXE 程序 程序可以有多个代码段和多个数据段,程序长度可以超过 64KB 通常生成 EXE 结构的 可执行程序 (2). COM 程序 只有一个逻辑段,程序长度不超过 64KB 需要满足一定条件才能生成 COM 结构的可执行程序( MASM 6.x 需要采用 TINY 模式) 3.8 解: 符号定义伪指令有“等价 EQU” 和“等号 ” : 符号名 EQU 数值表达式 符号名 EQU 符号名

11、数值表达式 EQU 用于数值等价时不能重复定义符号名,但“”允许有重复赋值。例如: X= 7 ;等效于: X equ 7 X= X+5 ;“ X EQU X+5” 是错误的 6 3.9 解: ( 1) al=67h ( 2) ax=133h,dx=4h ( 3) ax=0230h ( 4) al=41h ( 4) ax=7654h 3.10 解: ( 1) 41h 42h 43h 10 10h 45h 46h -1 ? 4 4 4 -1 ? 4 4 4 -1 ? 4 4 4 ( 2) 10h 00h 0fbh 0ffh ? ? ? ? ? ? 3.11 解: .data my1b db Per

12、sonal Computer my2b db 20 my3b db 14h my4b db 00010100b my5w dw 20 dup(?) my6c = 100 my7c = 3.12 解: 利用定位伪指令控制,如 org,even,align 3.13 解: 包括逻辑地址和类型两种属性。 3.14 解: ;数据段 org 100h varw dw 1234h , 5678h varb db 3 , 4 vard dd 12345678h buff dd 10 dup(?) mess db Hello ;代码段 mov ax , offset varb + offset mess mo

13、v ax , type buff + type mess + type vard mov ax , sizeof varw+ sizeof buff+ sizeof mess 7 mov ax , lengthof varw+ lengthof vard 3.15 解: (1) 1000 超过一个字节所能表达的最大整数 ( 2) SI 应为偶数 ( 3)两个内存单元不能直接运算 ( 4)应改为 al+1 ( 5)条件转移指令后面应接标号,而不是变量 3.16 解: mov ah,1 ;只允许输入小写字母 int 21h sub al,20h ;转换为大写字母 mov dl,al mov ah,

14、2 int 21h ;显示 3.17 解: mov bx,offset LEDtable mov al,lednum xlat 3.18 解: mov ax, bufX cmp ax, bufY jae done mov ax, bufY done: mov bufZ, ax 3.19 解: .model small .stack .data bufX dw -7 signX db ? .code .startup cmp bufX,0 ;test bufX,80h jl next ;jnz next mov signX,0 jmp done next: mov signX,-1 done:

15、.exit 0 end 8 3.20 解: mov dl, 2 mov ax,bufX cmp ax,bufY je next1 dec dl next1: cmp ax,bufZ je next2 dec dl next2: mov ah,2 int 21h 3.21 解: ;代码段 mov al,number mov bx,0 ;BX记录为 1 的位数 restart: cmp al,0 ;AL 0 结束 jz done again: shr al,1 ;最低位右移进入 CF jc next ;为 1,转移 inc bx ;不为 1,继续 jmp again next: push ax p

16、ush bx shl bx,1 ;位数乘以 2(偏移地址要用 2 个字节单元) jmp addrsbx ;间接转移: IP table BX ;以下是各个处理程序段 fun0: mov dl,0 jmp disp fun1: mov dl,1 jmp disp fun2: mov dl,2 jmp disp fun3: mov dl,3 jmp disp fun4: mov dl,4 jmp disp fun5: mov dl,5 jmp disp fun6: mov dl,6 jmp disp fun7: mov dl,7 jmp disp 9 ; disp: mov ah,2 ;显示一个字

17、符 int 21h pop bx pop ax jmp restart done: 3.22 编制程序完成 12H、 45H、 0F3H、 6AH、 20H、 0FEH、 90H、 0C8H、 57H 和 34H 等 10个字节数据之和,并将结果存入字节变量 SUM 中(不考虑溢出和进位)。 ; wjxt322.asm .model small .stack .data b_data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据 num equ 10 ;数据个数 sum db ? ;预留结果单元 .code .startup xor s

18、i, si ;位移量清零 xor al, al ;取第一个数 mov cx, num ;累加次数 again: add al, b_datasi ;累加 inc si ;指向下一个数 loop again ;如未完,继续累加 mov sum, al ; 完了,存结果 .exit 0 end 3.23 求主存 0040h: 0 开始的一个 64KB 物理段中共有多少个空格 ? ; wjxt323.asm .model small .code start: mov ax,0040h ;送段地址 mov ds, ax mov si, 0 ;偏移地址 mov cx, si ;计数(循环次数) xor

19、ax, ax ;空格计数器清零 again: cmp byte ptr si, 20h ;与空格的 ASCII 码比较 jne next ;不是空格,转 inc ax ;是空格,空格数加 1 next: inc si ;修改地址指针 loop again ; cx cx 1,如 cx 0 退出循环 .exit 0 10 end start 3.24 编写计算 100 个 16 位正整数之和的程序。如果和不超过 16 位字的范围( 65535),则保存其和到 wordsum,如超过则显示 overflow。 答: ;数据段 count equ 100 parray dw count dup(?)

20、 ;假设有 100 个数据 wordsum dw 0 msg db overflow , $ ;代码段 mov cx,count mov ax,0 mov bx,offset parray again: add ax,bx jnc next mov dx,offset msg mov ah,9 int 21h ;显示溢出信息 jmp done ;然后,跳出循环体 next: add bx,2 loop again mov wordsum,ax done: 3.25 编程把 个 16 位无符号二进制数转换成为用 8421BCD 码表示的 5 位十进制数。转换算法可以 是:用二进制数除以 1000

21、0,商为“万位”,再用余数除以 1000,得到“千位”;依次用余数除以 l00、 10 和 l,得到“百位”、“十位”和“个位”。 ;wjxt325.asm .model small .stack 256 .data array dw ? ;源字数据 dbcd db 5 dup(?) ;五位 bcd 结果,高对高低对低 .code .startup mov dx, array ;取源数据(余数) mov bx, 10000 ;除数 mov cx, 10 ;除数系数 mov si, 4 ;目的数据高位位移量 again: mov ax, dx ; dx.ax 中存放被除数 mov dx, 0 div bx ;除于 bx,商 ax,余数 dx mov dbcdsi, al ;商 10,存结果

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

当前位置:首页 > 教育教学资料库 > 复习参考

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。