1、 第 1 章 微型计算机系统习题 1.1简答题(2)总线信号分成哪三组信号?(3)PC 机主存采用 DRAM 组成还是 SRAM 组成?(5)ROM-BIOS 是什么?(6)中断是什么?(9)处理器的“取指译码执行周期”是指什么?解答 总线信号分成三组,分别是数据总线、地址总线和控制总线。 PC 机主存采用 DRAM 组成。 ROM-BIOS 是“基本输入输出系统”,操作系统通过对 BIOS 的调用驱动各硬件设备,用户也可以在应用程序中调用 BIOS 中的许多功能。 中断是 CPU 正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍返回被中断的
2、指令继续执行的过程。 指令的处理过程。处理器的“取指译码执行周期” 是指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。习题 1.3填空题(2)Intel 8086 支持_容量主存空间,80486 支持_容量主存空间。(3)二进制 16 位共有_个编码组合,如果一位对应处理器一个地址信号,16 位地址信号共能寻址_容量主存空间。(9)最初由 公司采用 Intel 8088 处理器和( )操作系统推出 PC机。 1MB,4GB 2 16,64KB(9)IBM,DOS习题 1.4说明微型计算机系统的硬件组成及各部分作用。解答CPU:
3、CPU 也称处理器,是微机的核心。它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。存储器:存储器是存放程序和数据的部件。外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出1(Output)设备,也称 I/O 设备。I/O 设备通过 I/O 接口与主机连接。总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。习题 1.7区别如下概念:助记符、汇编语言、汇编语言程序和汇编程序。解答助记符:人们采用便于记忆、并能描述指令功能的符号来表示机器指令操作
4、码,该符号称为指令助记符。汇编语言:用助记符表示的指令以及使用它们编写程序的规则就形成汇编语言。汇编语言程序:用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序。汇编程序:汇编语言源程序要翻译成机器语言程序才可以由处理器执行。这个翻译的过程称为“汇编”,完成汇编工作的程序就是汇编程序(Assembler)。第 2 章 处理器结构习题 2.1简答题(1)ALU 是什么?(2)8086 的取指为什么可以被称为指令预取?(4)堆栈的存取原则是什么?(5)标志寄存器主要保存哪方面的信息?(6)执行了一条加法指令后,发现 ZF1,说明结果是什么?(9)汇编语言源程序文件中,END 语句后的语句会被
5、汇编吗?解答 ALU 是算术逻辑运算单元,负责处理器所能进行的各种运算,主要是算术运算和逻辑运算。 取指是指从主存取出指令代码通过总线传输到处理器内部指令寄存器的过程。8086 分成总线接口单元和指令执行单元,可以独立操作。在执行单元执行一条指令的同时,总线接口单元可以读取下一条指令,等到执行时不需要进行取指了,所以称为预取。 堆栈的存取原则是先进后出(也称为后进先出)操作方式存取数据。 标志寄存器主要保存反映指令执行结果和控制指令执行形式的有关状态。 执行了一条加法指令后,发现 ZF1,表明运算结果为 0。 不会。2习题 2.3填空题(3)逻辑地址由_和_两部分组成。代码段中下一条要执行的指
6、令由 CS 和_ 寄存器指示,后者在实地址模型中起作用的仅有_寄存器部分。(4)进行 8 位二进制数加法:1011101001101100,8 位结果是_,标志 PF_ 。(5)在实地址工作方式下,逻辑地址“7380H400H”表示的物理地址是_,并且该段起始于_物理地址。(9)除外设数据外的数据寻址方式有 3 类,分别被称为_、_和_。解答 段地址,偏移地址,EIP,IP 00100110,0 73C00H,73800H 立即数寻址、寄存器寻址和存储器寻址习题 2.4处理器内部具有哪 3 个基本部分?8086 分为哪两大功能部件?其各自的主要功能是什么?解答处理器内部有 ALU、寄存器和指令
7、处理三个基本单元。8086 有两大功能部件:总线接口单元和执行单元。总线接口单元:管理着 8086 与系统总线的接口,负责处理器对存储器和外设进行访问。8086 所有对外操作必须通过 BIU 和这些总线进行。执行单元 EU:负责指令译码、数据运算和指令执行。习题 2.58086 怎样实现了最简单的指令流水线?解答8086 中,指令的读取是在 BIU 单元,而指令的执行是在 EU 单元。因为BIU 和 EU 两个单元相互独立、分别完成各自操作,所以可以并行操作。也就是说,在 EU 单元对一个指令进行译码执行时,BIU 单元可以同时对后续指令进行读取;这就是最简单的指令流水线技术。习题 2.8什么
8、是 8086 中的逻辑地址和物理地址?逻辑地址如何转换成物理地址?请将如下逻辑地址用物理地址表达(均为十六进制形式): FFFF0 4017 20004500 B8214567解答物理地址:在处理器地址总线上输出的地址称为物理地址。每个存储单元有一个唯一的物理地址。逻辑地址:在处理器内部、程序员编程时采用逻辑地址,采用“段地址:3偏移地址“形式。某个存储单元可以有多个逻辑地址,即处于不同起点的逻辑段中,但其物理地址是唯一的。逻辑地址转换成物理地址:逻辑地址由处理器在输出之前转换为物理地址。将逻辑地址中的段地址左移二进制 4 位(对应 16 进制是一位,即乘以 16),加上偏移地址就得到 20
9、位物理地址。 FFFFH:0FFFF0H 40H:17H00417H 2000H:4500H24500H B821H:4567HBC777H习题 2.12 汇编语句有哪两种,每个语句由哪 4 个部分组成?解答汇编语句有两种:执行性语句(处理器指令)、说明性语句(伪指令)。每个语句有:标号、指令助记符、操作数或参数、注释 4 个部分组成。习题 2.16 说明下列指令中源操作数的寻址方式?假设 VARD 是一个双字变量。(1)mov edx,1234h(2)mov edx,vard(3)mov edx,ebx(4)mov edx,ebx(5)mov edx,ebx+1234h(6)mov edx,
10、vardebx(7)mov edx,ebx+edi(8)mov edx,ebx+edi+1234h(9)mov edx,vardesi+edi(10)mov edx,ebp*4解答 立即数 直接 寄存器 寄存器间接 寄存器相对 寄存器相对 基址变址 相对基址变址 相对基址变址4 带比例寻址第 3 章 数据处理习题 3.1简答题(1)使用二进制 8 位表达无符号整数,257 有对应的编码吗?(2)字符“F”和数值 46H 作为 MOV 指令的源操作数有区别吗?(3)为什么可以把指令“MOV AX, (3467H)*3 ”中的数值表达式看成是常量?(4)数值 500,能够作为字节变量的初值吗?(6
11、)都是获取偏移地址,为什么指令“LEA EBX, ESI”正确,而指令“MOV EBX, OFFSETESI”就错误?(7)INC,DEC,NEG 和 NOT 都是单操作数指令,这个操作数应该是源操作数还是目的操作数?(9)乘除法运算针对无符号数和有符号数,有两种不同的指令。只有一种指令的加减法如何区别无符号数和有符号数运算?(10)逻辑与运算为什么也称为逻辑乘?解答 没有。使用二进制 8 位表达无符号整数,257 没有对应的编码。 字符“F”的 ASCII 码就是数值 46H,所以没有区别。 汇编程序在汇编过程中对数值表达式计算,得到一个确定的数值,故称数值表达式为常量。 不能。数值 500
12、 大于一个字节所能表达的数据量,所以不能为字节变量赋值。 前者在指令执行时获得偏移地址,是正确的;但后者的 OFFSET 只能在汇编阶段获得偏移地址,但此时寄存器内容是不可知的,所以无法获得偏移地址。 INC,DEC,NEG 和 NOT 指令的操作数既是源操作数也是目的操作数。 加减法不区别无符号数和有符号数,但根据运算结果分别设置标志寄存器的 CF 和 OF 标志,可利用 CF 和 OF 进行区别。 逻辑与运算规则类似二进制的乘法,所以称其为逻辑乘。习题 3.3填空题(1)定义字节变量的伪指令助记符是_,获取变量名所具有的偏移地址的操作符是_。(2)计算机中有一个“01100001”编码。如
13、果把它认为是无符号数,它是10 进制数_;如果认为它是 BCD 码,则表示真值_;又如果它是某个 ASCII 码,则代表字符_。5(3)C 语言用“n”表示让光标回到下一行首位,在汇编语言中需要输出两个控制字符:一个是回车,其 ASCII 码是_,它将光标移动到当前所在行的首位;另一个是换行,其 ASCII 码是_,它将光标移到下一行。(4)数据段有语句“H8843 DWORD 99008843H”,代码段指令“MOV CX, WORD PTR H8843”执行后,CX_。(5)用 DWORD 定义的一个变量 XYZ,它的类型是_,用“TYPE XYZ”会得到数值为_。如果将其以字量使用,应该
14、用_说明。(6)数据段有语句“ABC BYTE 1,2,3”,代码段指令“MOV CL, ABC+2”执行后,CL_。解答 BYTE,OFFSET 97,61,小写字母 a 0DH(13),0AH(10) 8843H DWORD,4,WORD PTR XYZ 3习题 3.4下列十六进制数表示无符号整数,请转换为十进制形式的真值: FFH 0H 5EH EFH解答 255 0 94 239习题 3.5将下列十进制数真值转换为压缩 BCD 码: 12 24 68 99解答 12H 24H 68H 99H习题 3.6将下列压缩 BCD 码转换为十进制数:6 10010001 10001001 001
15、10110 10010000解答 91 89 36 90习题 3.7将下列十进制数用 8 位二进制补码表示: 0 127 127 57解答 00000000 01111111 10000001 11000111习题 3.8进行十六进制数据的加减运算,并说明是否有进位或借位: 1234H7802H F034H5AB0H C051H1234H 9876HABCDH解答 1234H7802H8A36H,无进位 F034H5AB0H 4AF4H,有进位 C051H1234HBE1DH,无借位 9876HABCDHECA9H,有借位习题 3.10设置一个数据段,按照如下要求定义变量或符号常量: my1b
16、 为字符串变量:Personal Computer my2b 为用十进制数表示的字节变量:20 my3b 为用十六进制数表示的字节变量:20 my4b 为用二进制数表示的字节变量:20 my5w 为 20 个未赋值的字变量 my6c 为 100 的常量 my7c 表示字符串:Personal Computer解答my1b byte Personal Computer7my2b byte 20my3b byte 14hmy4b byte 00010100bmy5w word 20 dup(?)my6c = 100my7c equ 习题 3.11 定义常量 NUM,其值为 5;数据段中定义字数组变
17、量DATALIST,它的头 5 个字单元中依次存放 -10,2,5 和 4,最后 1 个单元初值不定。解答num equ 5datalist byte -10,2,5,4,?习题 3.12 从低地址开始以字节为单位,用十六进制形式给出下列语句依次分配的数值:byte ABC,10,10h,EF,3 dup(-1,?,3 dup(4)word 10h,-5,3 dup(?)解答41 42 43 0A 10 45 46 FF 00 04 04 04 FF 00 04 04 04 FF 00 04 04 0410 00 FB FF 00 00 00 00 00 00习题 3.19 请分别用一条汇编语
18、言指令完成如下功能:(去 E)(1)把 EBX 寄存器和 EDX 寄存器的内容相加,结果存入 EDX 寄存器。(2)用寄存器 EBX 和 ESI 的基址变址寻址方式把存储器的一个字节与 AL寄存器的内容相加,并把结果送到 AL 中。(3)用 EBX 和位移量 0B2H 的寄存器相对寻址方式把存储器中的一个双字和 ECX 寄存器的内容相加,并把结果送回存储器中。(4)将 32 位变量 VARD 与数 3412H 相加,并把结果送回该存储单元中。(5)把数 0A0H 与 EAX 寄存器的内容相加,并把结果送回 EAX 中。解答 add edx,ebx add al,ebx+esi add bx+0
19、b2h,cx add varw,3412h add eax,0a0h8习题 3.20 分别执行如下程序片断,说明每条指令的执行结果:(去 E)(1)mov eax,80h ; EAX_add eax,3 ; EAX_,CF_,SF_add eax,80h ; EAX_,CF_,OF_adc eax,3 ; EAX_,CF_,ZF_(2)mov eax,100 ; EAX_add ax,200 ; EAX_,CF_(3)mov eax,100 ; EAX_add al,200 ; EAX_,CF_(4)mov al,7fh ; AL_sub al,8 ; AL_,CF_,SF_sub al,80
20、h ; AL_,CF_,OF_sbb al,3 ; AL_,CF_,ZF_解答(1); EAX80H; EAX83H,CF0,SF0; EAX103H,CF0,OF0; EAX106H,CF0,ZF0(2); EAX100; EAX300,CF0(3); EAX100; EAX44,CF1(包含 256 的进位含义:25644300)(4)mov al,7fh ; AL7FH9sub al,8 ; AL77H,CF0,SF0sub al,80h ; ALF7H,CF1,OF1sbb al,3 ; ALF3H,CF0,ZF0习题 3.21 (推敲)给出下列各条指令执行后 AL 值,以及 CF、Z
21、F、 SF、OF 和 PF 的状态:mov al,89hadd al,aladd al,9dhcmp al,0bchsub al,aldec alinc al解答mov al,89h ; AL89H CF ZF SF OF PFadd al,al ; AL12H 1 0 0 1 1add al,9dh ; AL0AFH 0 0 1 0 1cmp al,0bch ; AL0AFH 1 0 1 0 1sub al,al ; AL00H 0 1 0 0 1dec al ; AL0FFH 0 0 1 0 1inc al ; AL00H 0 1 0 0 1习题 3.22 有两个 64 位无符号整数存放在变量 buffer1 和 buffer2 中,定义数据、编写代码完成 EDX.EAXbuffer1buffer2 功能。(去 E)解答; 数据段buffer1qword 67883000hbuffer2qword 67762000h; 代码段mov eax,dword ptr buffer1mov edx,dword ptr buffer1+4sub eax,dword ptr buffer2sbb edx,dword ptr buffer2+4习题 3.23 分别执行如下程序片断,说明每条指令的执行结果:(去 E)(1)
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。