32位微型计算机原理---史新福--第3版--西工大版---答案.ppt

上传人:啊飒飒 文档编号:13671120 上传时间:2022-01-21 格式:PPT 页数:40 大小:121KB
返回 下载 相关 举报
32位微型计算机原理---史新福--第3版--西工大版---答案.ppt_第1页
第1页 / 共40页
32位微型计算机原理---史新福--第3版--西工大版---答案.ppt_第2页
第2页 / 共40页
32位微型计算机原理---史新福--第3版--西工大版---答案.ppt_第3页
第3页 / 共40页
32位微型计算机原理---史新福--第3版--西工大版---答案.ppt_第4页
第4页 / 共40页
32位微型计算机原理---史新福--第3版--西工大版---答案.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《32位微型计算机原理---史新福--第3版--西工大版---答案.ppt》由会员分享,可在线阅读,更多相关《32位微型计算机原理---史新福--第3版--西工大版---答案.ppt(40页珍藏版)》请在三一文库上搜索。

1、32位微型计算机原理接口技术及其应用 习题解答,第一章 绪 论4. 什么叫BCD码?试举例说明。(14页)BCD码:二进制编码的十进制数。四位二进制编码表示一位十进制数,表示范围0-9。 如:,12.求11010010和01001110两数分别作“与”、“或”和“异或”操作的运算结果。 与: 11010010 或:11010010 01001110 01001110 01000010 11011110 异或:11010010 01001110 10011100,15.试画出组成微型计算机系统的框图并简述各部分的作用。(18-19页) 硬件:运算器、控制器、存贮器、输入设备、 输出设备等; 软件

2、:系统软件、应用软件; 通讯网络系统:,16微型计算机各部分的连接采用总线结构时有哪几种方式?简述它们的优缺点。 (20页) .以CPU为中心的双总线结构:效率不高,运算器是中间站降低了工作效率; .以存储器为中心的双总线结构:效率较高; .单总线结构:结构简单,增减设备方便; .三总线结构:高效率;,17.典型的微处理器是由哪几部分组成的?其主要功能是什么?22页 图1.11累加器、暂存器、算术逻辑部件、标志寄存器、通用和专用寄存器、程序计数器、堆栈指示器、指令寄存器、指令译码器和控制电路等。主要功能:23页,18.简述在微机中执行一条指令的过程。一条指令在微处理器中执行的过程为:22页总的

3、来说:取指令 分析指令 执行指令20.简述PC和SP在微机中的作用。PC程序计数器:用于存放要执行的指令的存储地址,也称指令计数器。执行指令时,CPU自动修改PC的内容。 SP为堆栈指针:24页,第二章 Intel32位CPU,1.80486微处理器的基本组成与系统结构。 29页 图2.13.试说明80486微处理器中状态寄存器各标志位的作用。 37页 4.试说明80486中控制寄存器的作用。 38页,13.试说明80486微处理器中指令流水线的硬件组成与指令流水过程。 41-42页硬件组成:8K内部Cache存贮器、32字节指令预取队列、指令译码器、控制器、控制寄存器和执行部件。指令流水过程

4、:1、指令预取 2、译码1 3、译码2 4、执行 、5、回写,第三章 80 x86寻址方式和指令系统1.数据寻址方式有哪几种? 数据寻址:立即寻址、寄存器寻址、存储器寻址2.16位指令模式下和32位指令模式下的存储器寻址方式各有哪几种寻址方式?比较他们的相似与不同之处? 16位指令模式存储器寻址:直接寻址,寄存器间接寻址,寄存器相对寻址,基址变址寻址,相对基址变址寻址,32位指令模式下:直接寻址 ,间接寻址,相对基址寻址,相对比例寻址,相对比例基址变址寻址 3.程序地址寻址方式有哪几种? 相对寻址、直接寻址、间接寻址 70页4.什么是堆栈地址寻址方式? “后进先出”原则,使用PUSH POP指

5、令 72页,5.指令编码格式是由哪几部分组成的?各部分的含义是什么? 前缀+操作码+寻址方式+偏移量+立即数 各部分含义 73页6.80 x86指令格式由哪几部分组成的? 标号: 助记符 操作数 ;注释,7.80 x86指令系统按其功能可分为几部分 ? 数据传送指令、算术运算指令、逻辑运算指令、 串操作指令、控制转移指令、处理器控制指令、 输入/输出指令、中断指令、 DOS功能调用指令10.堆栈操作指令有哪几种? PUSH SRC POP DEST; PUSHA POPA PUSHAD POPAD 77页,22.DS=2000H,SS=3000H,BP=0200H,SI=4000H, BUF=

6、1000H,EAX=00001000H,EBX=00002000,假设按16位实模式操作,确定下列每条指令访问内存的物理地址,并且指出源操作数及目的操作数的寻址方式。 .MOV AL,1234H PA=2000*10H+1234H=21234H 源操作数:存储器直接寻址 目的操作数:寄存器寻址,MOV EDX,BX PA=10*2000H+2000H=22000H 源操作数:寄存器间接寻址 目的操作数:寄存器寻址.MOV CL,BX+100H PA=10*2000H+2000H+100H=22100H 源操作数:寄存器相对寻址 目的操作数:寄存器寻址,.MOV SI,EBX PA=2000*1

7、0H+4000H=24000H 源操作数:寄存器寻址 目的操作数:寄存器间接寻址.MOV AH,BUFBX+SI PA=10*2000H+1000H+2000H+4000H=27000H 源操作数:相对基址变址寻址 目的操作数:寄存器寻址,.MOV EAX,BP+1234H PA=10*3000H+0200H+1234H=31434H 源操作数:寄存器相对寻址 目的操作数:寄存器寻址.MOV EAX+EBX,DH PA=10*2000H+1000H+2000H=23000H 源操作数:寄存器寻址 目的操作数:寄存器间接寻址,23. 试指出下列指令中的错误 MOV BX,SI 76页 源操作数和

8、目的操作数同为存储器操作数 MOV AH,DX源操作数和目的操作数数据类型不一致 INC BX 存储器操作数应指明类型 MOV DS,SS 76页源操作数和目的操作数不允许同为段寄存器, XCHG AX,2000H 只能在寄存器之间,寄存器和存储器之间用交换指令。源操作数是立即数, MOV AX,BX+DX 基址+ DX不是可以寻址的寄存器,可以寻址的寄存器有:BX,BP,SI,DI, XCHG SP,ES 不能随便修改堆栈指针 ADD AX,BX AX应该指明操作数类型 MOV AX,DI+SI DI+SI用于存放变址,专用寄存器,用来对寄存器寻址 IN AL,BX源操作数应该是8位端口地址

9、或DX寄存器,24.指出下列算术逻辑指令执行后,标志CF,ZF,SF,PF,OF和AF的状态。 MOV AL,80H ;不影响标志位 DEC Al ; Al=7FH(01111111) CF=0,ZF=0,SF=0,PF=0,OF=1(有符号数),AF=1 ADD AL,10H ; Al=8FH(10001111) CF=0,ZF=0,SF=1,PF=0,OF=1,AF=0, SUB AL,10H ; Al=7FH(01111111) CF=0,ZF=0,SF=0,PF=0,OF=1,AF=0 MOV AL,3AH ; 不影响标志位 AND AL,0F0H ; AL=30H CF=0,ZF=0

10、,SF=0,PF=1,OF=0,AF=0(无影响) OR AL,0F0H ; AL=F0H CF=0,OF=0,ZF=0,SF=1,PF=1,AF=0 XOR AL,0F0H ; AL=00H CF=0,OF=0,ZF=1,SF=0,PF=1,AF=0,25.AX寄存器清 MOV AX,0000H XOR AX,AX AND AX,0000H SUB AX,AX SAL AX,16 SHL AX,16 SHR AX,16,27.试分别用数据传送指令,交换指令和堆栈操作指令,实现将首地址为BLOCK的内存单元中两个数据字交换。BLOCK变量定义:BLOCK DW 10H,20H MODEL SM

11、ALL DATABLOCK DW 10H,20H CODE STARTUP MOV AX,BLOCK MOV BX,BLOCK+2 MOV BLOCK+2,AX MOV BLOCK, BX EXIT END,MOV AX,BLOCK XCHG AX ,BLOCK+2 MOV BLOCK, AX# PUSH BLOCK PUSH BLOCK+2 POP BLOCK POP BLOCK+2 #,28.设一个字节数据x存放在AL寄存器中,试说明下列程序的功能 XOR AH,AH ; AH清0 SAL AX,1 ; AX=2x 算术左移 MOV BX,AX ;BX=2x MOV CL,2 ; CL=2

12、 SAL AX,CL; AX=AX*2*2=AX*4=8x ADD AX,BX; AX=10 x 功能:x扩大10倍存放在AX,29.编程实现:AL寄存器低4位清0; BL寄存器低4位置1; CL寄存器低4位取反; 测试DL寄存器的最低2位是否为0,若是将0送入AL寄存器;否则将1送入AL寄存器。 AND AL,OFOH OR BL,OFH XOR CL,OFH TEST DL O3H TEST DL O3H JNZ NEXT JZ P1 MOV AL,0 MOV AL,1 JMP OVER JMP P2 NEXT:MOV AL,1 P1: MOV AL,0 OVER:HLT P1:HLT,3

13、0.试编程统计在AX寄存器中有多少个1,并将结果送DL寄存器中. DODEL TINY CODE STARTUP MOV DL,0 MOV CL,16AGAIN:ROL(ROR) AX,1 JNC NEXT INC DLNEXT:DEC CL JNZ AGAIN EXIT END,31.试编程统计在内存BLOCK单元开始按字节存放的100个带符号数中有多少负数,并将结果存放在DL寄存器中。 MODEL SMALL DATABLOCK DB 0,1,5, (100个带符号数) CODE STARTUP MOV CX,100 MOV DL,0 LEA BX,BLOCK,AGAIN: MOV AL,

14、 BX TEST AL, 80H JZ NEXT INC DLNEXT: INC BX LOOP AGAIN EXIT EDD.,第四章1.试计算下列伪指令中各变量所分配的字节数A1 DW 20 ; 2个字节A2 DW 8DUP(?) ,10,20 ; 20个字节A3 DD 10DUP(?);40个字节A4 DB3DUP(?,4DUP(0);15个字节A5 DBHappy New Year!;16个字节,3.试编写查表程序,将BUF中任意存放的16个00H0FH之间的数转换为对应的表示十六进制数的ASCII码,并显示。,MODEL SMALLDATABUF DB 00H,01H,02H,03H

15、,04H,.0FHTABLE DB 30H,31H,32H39H46HCODESTARTUPMOV CX,16MOV BX OFFSET TABLEMOV SI OFFSET BU,Next: MOV AL,SIXLATMOV SI,ALMOV DL,ALMOV AH,2INT 21INC SILOOP NextEXITEND 页,4.在首地址为BUF的内存单元存放了10个字节的无符号数,试编程求其和,存入SUB单元,MODEL SMALLDATABUF DB 10H,32H,(个数)SUB DWCODESTARTUPMOV CX,10HCLC,,LOOP1:ADC AX,BXINC BXLO

16、OP LOOP1MOV SUB,AXEXITEND,6.试使用IF,ELSE和ENDIF语句编程,将存入AL寄存器的00H0FH之间的二进制数转换为ASCII码。,MODEL SMALLCODESTARTUPIF AL=0&AL=9,ADD AL,30HELSEADD AL,37HENDIFEXITEND,7. 试使用WHILE和ENDW语句编程,从键盘接收字符存入内存BUF缓冲区,直到出现回车符时停止接收,MODEL SMALLDATABUF DB 40DUP(?)CODESTARTUPMOV AH,1INT 21HLEA BX,BUFWHILE AL!=0DH,MOV BX,ALINC BXINT 21HEND,8.试使用REPEAT和UNTILCXZ语句编程,在首地址为BUF的缓冲区填入100个00H。MODEL SMALLDATABUF DB 100DUP(?)CODESTARTUP,MOV BX OFFSET BUF MOV CX,100REPEATMOV BX,00HINC BXUNTIL CXZEXITEND,MOV DL,0LEA BX,BLOCKMOV CX,100again:CMP BYTE PTRBX,0;BX和0比较JGE NEXT;若AB,转NEXT,否则DL加1INC DLNEXT:INC BXLOOP againEXITEND,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1