《教材习题答案修订1.doc》由会员分享,可在线阅读,更多相关《教材习题答案修订1.doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流教材习题答案修订1.精品文档.习题一一、 单选题1. CDBCA A二、 填空题1. 8086的数据总线为 16 位,地址总线为 20 位,时钟频率 5 MHz,支持 1M 容量主存空间。2. 计算机的运算和控制核心称为处理器,英文为 Processor/CPU ,微型计算机中的处理器常采用一块大规模集成电路芯片,称之为 微处理器 。3微型计算机系统可分为三个层次: 微处理器 、 微型计算机 、 微型计算机系统 。4. 微型计算机按体积的大小可分为:台式电脑,英文为 Desktop PC ; 笔记本电脑 ,英文为 Notebook PC ;
2、平板电脑 ,英文为 Tablet PC ; 手持电脑 ,英文为 Handheld PC 。5. 处理器的性能用 字长 、 时钟频率 、 集成度 等基本的技术参数来衡量。6. 指令流水是指将完成一条指令的全过程分解为多个 子过程 ,每个子过程于其他子过程 并行进行 。 7. 软件按照其完成的功能分为 系统软件 和 应用软件 。应用软件是为解决 某个具体问题 而设计的程序及其 文档 。8. 可以把应用软件分为两大类, 通用应用软件 和 专用应用软件 。通用应用软件用于 所有的领域及行业 ,例如:文字处理软件。专用应用软件用于 特定的专业领域及行业 。三、简答题1. 数值协处理器和浮点处理单元是什么
3、关系?答:数值协处理器和浮点处理单元的功能是一样的,用于复杂的数学运算。不同之处在于数值协处理器是一个独立的芯片,通过总线与微处理器(或主处理器)相连,用于80386及以前低档CPU的微机系统。而浮点处理单元是主处理器芯片的一个功能单元,从80486开始数值协处理器的功能被集成在CPU内部了。2. 总线信号分成哪三组信号?答:数据总线、地址总线、控制总线。3. 在计算机技术中,人工智能包括哪些内容?答:包括虚拟现实、知识系统和机器人。4. Cache是什么意思?答:Cache指的是高速缓冲存储器5. ROM BIOS是什么?答:位于只读存储器ROM中的基本输入输出系统6. 中断是什么?中断(I
4、nterrupt)是由于外部或内部的中断事件发生,微处理器暂时停止正在执行的程序,转向事先安排好的中断服务子程序,当中断服务程序执行完毕后返回被中断的程序继续执行的过程。这是计算机处理外部设备的服务请求和内部突发事件的形式之一。7. 32位PC机主板的芯片组是什么?芯片组(Chipset)由系统控制器(北桥)和总线转换器(南桥)组成,分别集成在2到4个芯片中,是构成主板控制电路的核心,在一定意义上说,它决定了主板的性能和档次,如可选用的微处理器的类型、主存的类型和容量等很多重要性能和参数。北桥芯片(North Bridge Chip)主要提供对L2 Cache、内存、PCI、AGP之间的连接控
5、制以及ECC内存的数据纠错等的控制;而南桥芯片(South Bridge Chip)的主要作用是将PCI总线标准转换成外设的其它接口标准,如IDE硬盘数据传输标准、USB(通用串行总线)接口标准、ISA总线接口标准等,并为系统中的慢速I/O设备与ISA总线之间提供接口及其控制电路,包括键盘、鼠标、软驱、串口、并口等。习题二一、 选择题: 1.BCCDC 6.DCBCB3小题:在定点整数表示中,下列说法正错的是 C二、 计算题1. 计算X补- Y补(1)10101-11010=11011 无溢出(2)01010-01110=11100 无溢出(3)00011-11101=00110 无溢出 (4
6、)01110-10110=11000 有溢出2. 1010原=1010反=1010补= 0000 10100101原=0101反=0101补= 0000 0101 0010原=0010反=0010补= 0000 00101111原=1111反=1111补= 0000 1111 -1000原= 10001000-1000反= 11110111-1000补= 11111000 -1011原= 10001011-1000反= 11110100-1000补= 11110101 -1001原= 10001001-1000反= 11110110-1000补= 11110111 -0001原= 100000
7、01-0001反= 11111110-0001补= 11111111 -0原= 10000000-0反= 11111111-0补= 000000003. 0.1011原=0.1011反=0.1011补= 0.1011000 0.1101原=0.1101反=0.1101补= 0.1101000 0.0100原=0.0100反=0.0100补= 0.0100000 0.1111原=0.1111反=0.1111补= 0.0001111 -0.0110原= 1.0110000-0.0110反= 1.1001111-0.0110补= 1.1010000 -0.0011原= 1.1100000-0.001
8、1反= 1.0011111-0.0011补= 1.0100000 -0.0111原= 1.0111000-0.0111反= 1.1000111-0.0111补= 1.10010004. 字长16位,采用定点整数补码表示,写出能表示的:最大数: 0111 1111 1111 1111B 32767 最小数: 1000 0000 0000 0000B -32768最大非0负数: 1111 1111 1111 1111B -1最小非0正数: 0000 0000 0000 0001B 15. 计算X补+ Y补(1)10001+11001=01010 有溢出(2)01001+00111=10000 有溢
9、出(3)10011+01101=00000 无溢出 (4)01110+11010=01000 无溢出习题三一、 选择题:1.DDCAB 6.CBD二、 填空题1.20, 4位(A19-A16) ,(S6-S3)状态2. CPU要访问的内存或I/O接口还没有准备就绪3. 85010H4. 10000H,165. 20, 00000 ,0FFFFFH6. 逻辑地址7. 0FFFF0三、 简答题1. 3. 略2. 答:4个16位通用寄存器,即:累加器AX,基址寄存器BX,计数寄存器CX,数据寄存器DX;4个16位专用寄存器,即:基数指针寄存器BP,栈顶指针寄存器SP,源变址寄存器SI,目的变址寄存器
10、DI;4个16位段地址寄存器,即:代码段寄存器CS,数据段寄存器DS,附加段寄存器ES,堆栈段寄存器SS;1个16位标志寄存器FLAGS4. 答:8086微处理器使用20位地址来寻址1MB主存空间,但其内部存放地址的寄存器是16位的,不能直接寻址1MB的主存空间,因此采用分段管理的方式管理内存。6. 数据段(DS)首地址的物理地址:21F0H 末地址的物理地址:121EFH 附加数据段(ES)首地址的物理地址:0A320H 末地址的物理地址:1A31FH 代码段首地址的物理地址:234E0H 末地址的物理地址:334DFH5.7.8.不要求习题四一、 选择题:1. CBBCC6. BDCC二、
11、 填空题:1. 立即数,基址+变址2. 源操作数和目的操作数的长度不同,源操作数和目的操作数同时为存储器寻址方式不能是立即数,直接寻址的端口号为00h-FFh,超过这一范围,端口地址由DX寄存器间接指出。3. 6310H4. 0132H,0112H5. 0000H,1,1,0,06. DX中的值逻辑右移四位,AX中的值循环右移四位。7. 0, 0FFH, 0简答题:1. MOV AX,2010H的源操作数是立即数寻址,执行完该条指令后AX=2010H MOV AX,DS:2010H的源操作数是存储器直接寻址,执行完该条指令后AX中的数为2010为存储器首地址的连续两个存储单元的内容。2. (1
12、)比较结果为AL高于BL,影响CF,ZF标志位 (2)比较结果为AL大于BL,影响SF, ZF和OF标志位3. 分别指出下列指令中源操作数和目的操作数的寻址方式。目的操作数寻址方式源操作数寻址方式(1) MOV AX,1234H 寄存器立即数(2) (2) MOV SI,AX 寄存器间址 寄存器(3) MOV DI,BX 寄存器间址 寄存器(4) (4) MOV BX+SI,DX 基址+变址 寄存器(5) MOV AX,10 寄存器 存储器直接(6) (6) MOV DL,ES:BX+DI 寄存器 基址+变址 (7) MOV BX, BX+SI+2寄存器 相对基址+变址4. BX=220CHA
13、X不变仍为0E896H CF=1,ZF=0, OF=0(1) TEST AX,1 ;AX=5678(2) XOR AX,AX ;AX=0(3) SUB AX,AX ; AX=0(4) CMP AX,8765H ; AX保持原值6. (1)TEST AX,1234H和CMP AX,1234H指令执行后,源操作数和目的操作数都不发生变化。(2)XCHG AX,BX指令执行后,源操作数和目的操作数都发生变化? (3)AND AX,BX SUB AX,1234H 指令执行后, 源操作数不发生变化而目的操作数发生变化? 习题五一、1. BAACA 6.CADAD二、程序练习题1根据题目,写出相关伪指令:
14、(1) 定义数据段DATA,并在数据段中定义两个字单元X、Y,初始值都是0答案:DATA SEGMENTX DW 0Y DW 0DATA ENDS(2) 定义一个字符串SRING,保存Computer答案:SRING DB Computer(3) 定义有100个字节单元的COUNT数组,初始值均为空答案:COUNT DB 100 DUP(?)(4) 用赋值伪指令定义PI为3.14答案:PI EQU 3.14(5) 用类型操作符LABEL将VALUE单元定义为字节型答案:VALUE LABEL BYTE2 下列伪指令有错吗?如果有错,请指出错误原因。答案:(1) X1 DB 35H,0,-80
15、对。(2) X2 DB 35,260,-1 错。260超出了字节范围。(3) X3 DB 1234H错。 X3是字节型,1234H是字型,不匹配。(4) X4 DW 100 对。(5) X5 DW 100(?) 错。缺少DUP。(6) X6 DD AB 对。3 分析下列程序段执行情况,给出结果:(1)答案:Z= (5+22-15)*14= 168(2)答案:累加和TOTAL=83(3)答案:功能:将X单元中的十六进制3AH变为十进制入栈保存,AH中为余数。先将0008H入栈,再将0005H入栈,结果为58。三、 简答题11-4(略)5DOS功能AH=1和AH=8都是从键盘输入一个字符,它们有什
16、么不同?答:INT 21H 功能08的输入操作与功能01H相似,不同的是输入字符不回显。使用功能08功能不回显字符,但与01H一样,支持Ctrl_C或Ctrl_Break的中断处理。四、编程题:1.求两个数的平均值。这两个数分别存放在X单元和Y单元中,而平均值放在Z单元中。(略)2将字节变量VARY中两位十六进制数输出。用分支结构实现: MOV DL, VARYMOV CL, 4ROL DL, CLAND DL, 0FHCMP DL, 0AHJB NUMADD DL, 7NUM:ADD DL, 30HMOV AH, 2INT 21HMOV DL, VARYAND DL, 0FHCMP DL,
17、0AHJB NUBADD DL, 7NUB:ADD DL, 30HMOV AH, 2INT 21HMOV DL, HMOV AH, 2INT 21H用循环结构实现: MOV BL,2 MOV DH, VARYLOP:MOV CL, 4ROR DH, CLMOV DL, DHAND DL, 0FHCMP DL, 0AHJB NUMADD DL, 7NUM:ADD DL, 30HMOV AH, 2INT 21HDEC BLJNZ LOPMOV DL, HMOV AH, 2INT 21H3利用逐次求大数的方法对内存单元ARRAY开始的一字节为单位的无符号数进行从大到小排序。DATA SEGMENTA
18、RRAY DB 49,38,65,12,97,13,55,27,28,85DATAENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS, AX MOV DX, 9 LEA BX, ARRAYLOOP0: MOV AL, BX MOV SI, BX INC SI MOV CX, DXLOOP1: CMPAL, SI JAE NEXT XCHG AL, SINEXT: INC SI LOOP LOOP1 MOV BX, AL INC BX DEC DX JNZLOOP04AX寄存器中存放着4位十六进制数,试编写程序将这
19、4位十六进制数分别转换为相应的ASCII码,并依次存放到RESULT数组的4个字节中去,要求用子程序的方法实现。DATA SEGMENT HEXDATA DW 4D7EH RESULT DB 4 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS, AX MOV CX, 4 LEA SI, HEXDATA LEA DI, RESULT MOV BX, SINEXT: MOV AX, BX AND AL, 0FH CALL HEXASC MOV DI, AL INC DI PUSH CX MOV
20、 CX, 4 SHR BX, CL POP CX LOOP NEXTLEA SI, RESULT+3 MOV CX, 4 STD MOV AH, 4CHINT 21H;十六进制转换成ASCII码子程序 HEXASC PROC CMP AL, 0AH JB PLUS30 ADD AL, 07HPLUS30: ADD AL, 30H RET HEXASC ENDPCODE ENDS ENDSTART5设有两个无符号数125和378,其首地址为,求它们的和,将结果存放在SUM单元;并将其和转换为十六进制数且在屏幕上显示出来。 (略)6 编制程序两个6字节数相加.将一个字节相加的程序段设计为子程序.主
21、程序分3次调用该子程序,但每次调用的参数不同。 DATA SEGMENTMYADD1 DB 0FEH,86H,7CH,35H,68H,77HMYADD2 DB 45H,0BCH,7DH,6AH,87H,90HSUM DB 6 DUP (0)COUNT DB 6DATA ENDSSTACK SEGMENTDB 100 DUP ( )STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKMADD: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV SI,OFFSET MYADD1MOV DI,OFFSET
22、MYADD2MOV BX,OFFSET SUM MOV CX,COUNT ;循环初值为6CLC AGAIN:CALL SUBADD ;调用子程序LOOP AGAIN ;循环调用6次MOV AX,4C00HINT 21H;子程序入口参数:SI,DI,BX 出口参数:SI,DI,BXSUBADD PROC ;完成一个字节相加PUSH AX ;保护AX的值MOV AL,SI ;SI是一个源操作数指针ADC AL,DI ;DI是另一个源操作数指针MOV BX,AL ;BX是结果操作数指针INC SIINC DIINC BXPOP AX ;恢复AX的值RETSUBADD ENDPCODE ENDSEND
23、 MADD7若有一串无符号数,放在NUM开始的单元中,要求编制汇编语言程序,将其中的最大值找出来,且放到存储单元MAX中,这串数的长度已存放在COUNT单元。DATA SEGMENT COUNT DW 20NUM DW 9,12,14,1,3,28,55,121,44,15,45DW 34,67,87,90,32,43,59,60MAX DW ?DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKMOV AX,DATAMOV DS,AXMOV BX,OFFSET NUMMOV CX,COUNTMOV AX,BXINC BXINC BXLO
24、OP1: CMP AX,BXJAE LOOP2MOV AX,BXLOOP2: INC BXINC BXDEC CXJNZ LOOP1MOV MAX,AXRET MAIN ENDP CODE ENDS END MAIN 8.试编制程序,分别对NUM中各数统计出有多少个20,余下有多少个5,再余下有多少个2,再余下有多少个1。统计的各数分别存放在NUM20,NUM5,NUM2, NUM1的对应位置中。程序要求用主程序子程序形式编制。程序如下。DATA SEGMENTNUM DB 3,5,1,2,20,20,5,1,1,2COUNT DB 10 ;10为数据个数NUM20-1 DB 4 DUP (0
25、) ;统计20;5;2;1的个数CMPNUM DB 20,5,2,1DATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODESTART: MOV AX,DATAMOV DS ,AXMOV SI,OFFSET NUMMOV BX ,OFFSET NUM20-1MOV CX ,COUNTMOV DI , 0AGAIN MOV AL,SICALL CMPDATA INC SILOOP AGAINMOV AH 4CHINT 21H;比较子程序,将AL的数与20,5,2,1比较,如果与其中之一相等,将NUM20-1的对应单元+1CMPDATA PROC NEARPUSH CXPUSH DI MOV CX , 3LOOP1: CMP AX ,BX+DI+4JE NEXTINC DILOOP LOOP1JMP BACKNEXT: ADD BXDI ,1BACK:POP DIPOP CXCMPDADT ENDPCODE ENDSEND START
限制150内