微机原理与接口技术课后习题答案郭兰英.docx
《微机原理与接口技术课后习题答案郭兰英.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术课后习题答案郭兰英.docx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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 解:1.7 解: I/O通道:位于CPU和设备限制器之间,其目的是担当一些原来由CPU处理的I/O任务,从而把CPU从繁杂的I/O任务中解脱出来。由10根信号线组成(A9-A0)。1.8
4、解: BIOS:基本输入输出系统。主要功能:用来驱动和管理诸如键盘, 显示器, 打印机, 磁盘, 时钟, 串行通信接口等基本的输入输出设备1.9 解:基本RAM区:640KB保留RAM区:128KB扩展ROM区:128KB基本ROM区:128KB1.10 解:(1), 数用来干脆表征量的大小,包括:定点数, 浮点数。(2), 码用来指代某个事物或事物的某种状态属性,包括:二进制, 八进制, 十进制, 十六进制。区分:运用场合不同,详见P16.1.11 解:(1)(2)(3)1.12 解:原码 反码 补码+37 00100101/25H 00100101/25H 00100101/25H-37
5、10100101/A5H 11011010/DAH 11011011/DBH1.13 解: +37 -3716位 32位16位 32位00 25H00 00 00 25HFF 5BHFF FF FF 5BH1.14 解:无符号数:70D补码有符号数:70DBCD码:46DASCII:F1.15 解:1), 相加后若出现和大于9,则将和减去10后再向高位进12), 若出现组间进位,则将低位加61.16 解:详见课本16页。1.17 解:C3 40 20 001.18 解:5050H十进制值5080二进制十六进制二进制十六进制0011 0010B32H0101 0000B50H1.19 解:D:4
6、4Hd:64HCR:0DHLF:0AH0:30HSP:20HNUL:00H1.20 解:国标码:36 50H机内码:B6 B0H第3章 3.2 解:(1)完整的汇编语言源程序由段组成(2)一个汇编语言源程序可以包含若干个代码段, 数据段, 附加段或堆栈段,段与段之间的依次可随意排列(3)需独立运行的程序必需包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点(4)全部的可执行性语句必需位于某一个代码段内,说明性语句可依据须要位于任一段内(5)通常,程序还须要一个堆栈段3.3 解:存储模式特 点TINYCOM类型程序,只有一个小于64KB的逻辑段(MASM 6.x支持)SMALL小应用
7、程序,只有一个代码段和一个数据段(含堆栈段),每段不大于64KBCOMPACT代码少, 数据多的程序,只有一个代码段,但有多个数据段MEDIUM代码多, 数据少的程序,可有多个代码段,只有一个数据段LARGE大应用程序,可有多个代码段和多个数据段(静态数据小于64KB)HUGE更大应用程序,可有多个代码段和多个数据段(对静态数据没有限制)FLAT32位应用程序,运行在32位80x86CPU和Windows 9x或NT环境3.4 解:起先位置:用标号指明返回DOS:利用DOS功能调用的4CH子功能来实现汇编停止:执行到一条END伪指令时,停止汇编3.5 解:段定位, 段组合和段类型。3.6 解:
8、stack segment stackdb 1024(0)stack endsdata segment string db Hello,Assembly!,0dH,0aH,$data ends code segment codeassume cs:code,ds:data,ss:stackstart: mov dx,offset stringmov ah,9int 21hcode endsend start3.7 解:(1). EXE程序程序可以有多个代码段和多个数据段,程序长度可以超过64KB通常生成EXE结构的可执行程序(2). COM程序只有一个逻辑段,程序长度不超过64KB须要满足确定
9、条件才能生成COM结构的可执行程序(MASM 6.x须要接受TINY模式)3.8 解:符号定义伪指令有“等价EQU”和“等号”:符号名 EQU 数值表达式符号名 EQU 符号名 数值表达式EQU用于数值等价时不能重复定义符号名,但“”允许有重复赋值。例如:X= 7;等效于:X equ 7X= X+5;“X EQU X+5”是错误的3.9 解:(1) al=67h(2) ax=133h,dx=4h(3) ax=0230h(4) al=41h(4) ax=7654h3.10 解:(1)41h42h43h1010h45h46h-1444-1?444-1?444(2)10h00h0fbh0ffh3.1
10、1 解:.data my1b db Personal Computermy2b db 20my3b db 14hmy4b db 00010100bmy5w dw 20 dup()my6c = 100my7c = 3.12 解:利用定位伪指令限制,如org,even,align3.13 解:包括逻辑地址和类型两种属性。3.14 解:;数据段org 100hvarwdw1234h,5678hvarbdb3,4varddd12345678hbuffdd10dup()messdbHello;代码段movax,offsetvarb+ offsetmessmovax,typebuff+ typemess+
11、typevardmovax,sizeofvarw+ sizeofbuff+ sizeof messmovax,lengthofvarw+ lengthofvard3.15 解:(1) 1000超过一个字节所能表达的最大整数(2)SI应为偶数(3)两个内存单元不能干脆运算(4)应改为al+1(5)条件转移指令后面应接标号,而不是变量3.16 解:mov ah,1;只允许输入小写字母int 21hsub al,20h;转换为大写字母mov dl,almov ah,2int 21h;显示3.17 解:mov bx,offset LEDtablemov al,lednumxlat3.18 解:mov
12、ax, bufXcmp ax, bufYjae donemov ax, bufYdone:mov bufZ, ax3.19 解:.model small.stack.databufXdw -7signXdb .code.startupcmp bufX,0;test bufX,80hjl next;jnz nextmov signX,0jmp donenext:mov signX,-1done:.exit 0end3.20 解:mov dl,2mov ax,bufXcmp ax,bufYje next1dec dlnext1:cmp ax,bufZje next2dec dlnext2:mov
13、ah,2int 21h3.21 解:;代码段mov al,numbermov bx,0;BX记录为1的位数restart:cmp al,0;AL0结束jz doneagain:shr al,1;最低位右移进入CFjc next;为1,转移inc bx;不为1,接着jmp againnext:push axpush bxshl bx,1;位数乘以2(偏移地址要用2个字节单元)jmp addrsbx;间接转移:IPtableBX;以下是各个处理程序段fun0:mov dl,0jmp dispfun1:mov dl,1jmp dispfun2:mov dl,2jmp dispfun3:mov dl,
14、3jmp dispfun4:mov dl,4jmp dispfun5:mov dl,5jmp dispfun6:mov dl,6jmp dispfun7:mov dl,7jmp disp;disp:mov ah,2;显示一个字符int 21hpop bxpop axjmp restartdone: 3.22 编制程序完成12H, 45H, 0F3H, 6AH, 20H, 0FEH, 90H, 0C8H, 57H和34H等10个字节数据之和,并将结果存入字节变量SUM中(不考虑溢出和进位)。;wjxt322.asm.model small.stack.datab_datadb 12h,45h,0
15、f3h,6ah,20h,0feh,90h,0c8h,57h,34h;原始数据numequ 10;数据个数sumdb ;预留结果单元.code.startupxor si, si;位移量清零xor al, al;取第一个数mov cx, num;累加次数again:add al, b_datasi;累加inc si;指向下一个数loop again;如未完,接着累加mov sum, al;完了,存结果.exit 0end3.23 求主存0040h:0起先的一个64KB物理段中共有多少个空格; wjxt323.asm.model small.codestart:mov ax,0040h;送段地址m
16、ov ds, axmov si, 0;偏移地址mov cx, si;计数(循环次数)xor ax, ax;空格计数器清零again:cmp byte ptr si, 20h;与空格的ASCII码比较jne next;不是空格,转inc ax;是空格,空格数加1next:inc si;修改地址指针loop again;cxcx1,如cx0 退出循环.exit 0end start3.24 编写计算100个16位正整数之和的程序。假如和不超过16位字的范围(65535),则保存其和到wordsum,如超过则显示overflow。答:;数据段countequ 100parraydw count du
17、p();假设有100个数据wordsumdw 0msgdb overflow,$;代码段mov cx,countmov ax,0mov bx,offset parrayagain:add ax,bxjnc nextmov dx,offset msgmov ah,9int 21h;显示溢出信息jmp done;然后,跳出循环体next:add bx,2loop againmov wordsum,axdone:3.25 编程把个16位无符号二进制数转换成为用8421BCD码表示的5位十进制数。转换算法可以是:用二进制数除以10000,商为“万位”,再用余数除以1000,得到“千位”;依次用余数除以
18、l00, 10和l,得到“百位”, “十位”和“个位”。;wjxt325.asm .model small .stack 256 .data arraydw ;源字数据 dbcddb 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, 0div bx;除于bx,商ax,余数dx mov dbcdsi, al;商10,存结果 push dx;暂存余数
19、mov ax, bx;除数除于10 mov dx,0div cx;dx.ax除于cx,商ax, 余数0存在dx mov bx, ax;bx是除数 pop dxdec si;目的数据位移量减1jnz againmov dbcd, dl;存个位数( 10 ) .exit 0end3.26 解:(1)汇编语言中,子程序要用一对过程伪指令PROC和ENDP声明,格式如下:过程名PROC NEAR|FAR;过程体过程名ENDP(2)爱惜用到的寄存器内容,以便子程序返回时进行相应的复原。(3)改错:crazyprocpishbxpushcxxorax,axxordx,dxagain:adda,bxadcd
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 课后 习题 答案 郭兰英
限制150内