搜档网
当前位置:搜档网 › 第二章_8086体系结构与8086CPU

第二章_8086体系结构与8086CPU

第二章_8086体系结构与8086CPU
第二章_8086体系结构与8086CPU

第二章8086体系结构与8086CPU

1.8086CPU由哪两部分构成?它们的主要功能是什么?

答:8086CPU由两部分组成:指令执行部件(EU)和总线接口部件(BIU)

指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU 控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。

2.8086CPU预取指令队列有什么好处?8086CPU内部的并行操作体现在哪里?

答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。

8086CPU内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。

3.8086CPU中有哪些寄存器?各有什么用途?

答:指令执行部件(EU)设有8个16位通用寄存器AX、BX、CX、DX、SP、BP、SI、DI,主要用途是保存数据和地址(包括内存地址和I/O端口地址)。其中AX、BX、CX、DX主要用于保存数据,BX可用于保存地址,DX还用于保存I/O端口地址;BP、SI、DI主要用于保存地址;SP用于保存堆栈指针。

标志寄存器FR用于存放运算结果特征和控制CPU操作。

BIU中的段寄存器包括CS、DS、ES、SS,主要用途是保存段地址,其中CS代码段寄存器中存放程序代码段起始地址的高16位,DS数据段寄存器中存放数据段起始地址的高16位,SS堆栈段寄存器中存放堆栈段起始地址的高16位,ES扩展段寄存器中存放扩展数据段起始地址的高16位。

指令指针寄存器IP始终存有相对于当前指令段起点偏移量的下一条指令,即IP总是指向下一条待执行的指令。

5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个?逻辑地址呢?

答:8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址

和偏移地址两部分构成,都是16位二进制数。通过一个20位的地址加法器将这两个地址相加形成物理地址。具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。

由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。逻辑地址由段基址和偏移地址两部分构成,都是无符号的16位二进制数,程序设计时采用逻辑地址,也是1MB。

6.8086系统中的存储器为什么要采用分段结构?有什么好处?

答:8086CPU中的寄存器都是16位的,16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的,要做到对20位地址空间进行访问,就需要两部分地址,在8086系统中,就是由段基址和偏移地址两部分构成。这两个地址都是16位的,将这两个地址采用相加的方式组成20位地址去访问存储器。

在8086系统的地址形成中,当段地址确定后,该段的寻址范围就已经确定,其容量不大于64KB。同时,通过修改段寄存器内容,可达到逻辑段在整个1MB存储空间中浮动。各个逻辑段之间可以紧密相连,可以中间有间隔,也可以相互重叠(部分重叠,甚至完全重叠)。采用段基址和偏移地址方式组成物理地址的优点是:满足对8086系统的1MB存储空间的访问,同时在大部分指令中只要提供16位的偏移地址即可。

7.8086存储器中存放数据字时有“对准字”和“非对准字”之分,请说明它们的差别。

答:一个16位的数据字是按照低地址存放低位数据、高地址存放高位数据来存放的。若16位数据的低8位存放在偶地址,则该数据字就是“对准字”,否则就是“非对准字”。主要差别是CPU读取和存储数据字时,如果是对准字,只需要一次读写操作即可,而非对准字就需要两次读写操作才能实现一个数据字的存取。

9.在某系统中,已知当前(SS)=2360H,(SP)=0800H,那么该堆栈段在存储器中的物理地址范围是什么?若往堆栈中存入20个字节数据,那么SP的内容为什么值?

答:(SS)×10H+(SP)=23600H+0800H=23E00H,堆栈段在存储器中的物理地址范围是23600H~23E00H。若往堆栈中存入20个字节数据,那么SP的内容为0800H-14H =07ECH。(20的十六进制为14H)。

10.已知当前数据段位于存储器的B4000H到C3FFFH范围内,则段寄存器DS的内容为多少?

答:段寄存器DS的内容为B4000H。

11.8086系统中为什么一定要有地址锁存器?需要锁存哪些信息?

答:由于8086CPU受芯片封装的限制,只有40个管脚,所以地址线和数据线只能采用复用的方式共同使用某些管脚。对存储器进行访问时,在读取数据或写入数据时,存储器芯片要求在这个过程中地址信息必须稳定提供给存储器,而由于8086CPU地址线和数据线是复用的,就不可能在同一时刻具有地址和数据的两种功能。这就需要在CPU提供地址信息时,将地址锁存起来,以保证下一个时刻当这些复用的管脚起着数据线的功能时,存储器有正确的地址信息。要锁存的信息包括这些复用管脚的地址和BHE等信号。

12.8086读/写总线周期各包括最少几个时钟周期?什么情况下需要插入等待周期TW?插入多少个TW取决于什么因素?

答:8086读/写总线周期各包括最少四个时钟周期。在系统中增加等待周期TW的一般情况是:当CPU提供了地址后,由于外设或存储器的读出或写入时间较慢,不能与CPU的速度匹配,就需要插入等待周期TW,等待CPU能从外设或存储器将数据正确地读出或写入为止。显然,插入的等待周期TW的个数取决于外设或存储器的取出或写入时间。

第4章8086汇编语言程序设计

1.编写8086汇编语言程序,将寄存器AX的高8位传送到寄存器BL,低8位传送到寄存器DL。

答:CODE SEGMENT

ASSUME CS:CODE

START: MOV BL,AH

MOV DL,AL

MOV AX,4C00H

INT 21H

CODE ENDS

END STAR

2.将寄存器DX的内容按从低位到高位的顺序分成4组,并将各组数分别送到寄存器AL,BL,CL和DL中。(例如:(DX)=0ABCDH,分成四组

(DL)=0AH,(CL)=0BH,(BL)=0CH,(AL)=0DH)

答:CODE SEGMENT

ASSUME CS:CODE

START: MOV AX,DX

AND AL,0FH

MOV BL,DL

MOV CL,4

SHR BL,CL

AND AH,0FH

MOV CL,4

SHR DH,CL

MOV CL,AH

MOV AH,4CH

INT 21H

CODE ENDS

END START

4.试统计9个数中偶数的个数,并将结果在屏幕上显示。

答:DATA SEGMENT

BUFF DB 3BH,47H,8DH,-75,0AH,69,-2EH,0CCH,200

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

MOV SI,OFFSET BUFF

MOV CX,9

XOR DL,DL

A1: SHR BYTE PTR [SI],1

JC NEXT

INC DL

NEXT: INC SI

LOOP A1

ADD DL,30H

MOV AH,2

MOV AX,4C00H

INT 21H

CODE ENDS

END START

5.试将一串16位无符号数加密,加密方法是每个数乘以2。(不考虑进位)答:DATA SEGMENT

MEM DW 20 DUP(?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

MOV CX,LENGTH MEM

LEA BX,MEM

AA1: MOV AX,[BX]

ADD AX,AX ;或MUL AX,2 或SHL AX,1或SAL AX,1

MOV [BX],AX

ADD BX,2

LOOP AA1

MOV AX,4C00H

INT 21H

CODE ENDS

END START

第五章存储器原理与接口

2.什么是RAM和ROM?RAM和ROM各有什么特点?

答:RAM是随机存储器,指计算机可以随机地、个别地对各个存储单元进行访问,访问所需时间基本固定,与存储单元的地址无关。ROM是只读存储器,对其内容只能读,不能写入。与RAM相比,其信息具有非易失性,即掉电后,ROM中的信息仍会保留。

3.什么是多层次存储结构?它有什么作用?

答:存储器的性能是计算机性能的最主要指标之一,其目标是大容量、高速度和低成本,因此应该在系统结构的设计上扬长避短,采用多层存储结构构成一个较为合理的存储系统。多层存储结构是一个金字塔的结构,距塔尖(即CPU)越近速度越快,容量越小,单位价格也较贵;反之速度较慢,容量较大,单位价格也较便宜。其作用是获得最佳性价比。

5.主存储器的主要技术指标有哪些?

答:主存储器的主要技术指标有主存容量、存储器存取时间、存储周期和可靠性。

7.若用1K×1位的RAM芯片组成16K×8位的存储器,需要多少片芯片?在CPU的地址线中有多少位参与片内寻址?多少位用做芯片组选择信号?

答:要128片。A1~A9共10位参与片内寻址,其余可用于片选信号。

第七章

5.在某应用系统中,计数器/定时器8253地址为310H~316H,定时器0作为分频器(N为分频系数),定时器2作为外部事件计数器,编写初始化程序框架。

答:MOV DX,316H

MOV AL,控制字

OUT DX,AL

MOV DX,310H

MOV AL,分频系数低8位

OUT DX,AL

MOV AL,分频系数高8位

OUT DX,AL

MOV DX,316H

MOV AL,控制字

OUT DX,AL

MOV DX,314H

MOV AL,计数常数低8位

OUT DX,AL

MOV AL,计数常数高8位

OUT DX,AL

C++习题第02章 基本数据类型、运算符与表达式

第02章基本数据类型、运算符与表达式 1. 选择题 (1)在32位机中,int型字宽为()字节。 A) 2 B) 4 C) 6 D) 8 (2)下列十六进制的整型常数表示中,错误的是()。 A) 0xad B) 0X11 C)0xA D) 4ex (3)设n=10,i=4,则执行赋值运算n%=i-1后,n的值是()。 A) 0 B) 1 C) 2 D) 3 (4)若有a=2,b=4,c=5,则条件表达式a>b?a:b>c?a:c的值为()。 A) 0 B) 2 C) 4 D) 5 (5)若有a=1,b=2,则表达式++a==b的值为()。 A) 0 B) 1 C) 2 D) 3 2.简答题 (1)指出下列数据中哪些可作为C++的合法常数? (a) 588918 (b) 0129 (c) 0x88a (d) e-5 (e) ″A″ (f) .55 (g) ’\\’ (h) 0XCD (i) 8E7 (j) π (2)指出下列符号中那些可作为C++的合法变量名? (a) ab_c (b) β (c) 3xyz (d) if (e) cin (f) a+b (g) NAME (h) x! (i) _temp (j) main (3)根据要求求解下列各表达式的值或问题。 (a) (int)3.5+2.5 (b) (float)(5/2)>2.4 (c) 21/2+(0xa&15) (d) 设int i=10,则表达式i&&(i=0)&&(++i)的值是多少?该表达式运算结束后变量i的值为多少? (e) 设int a=1,b=2,c=3;,求表达式a

8086 CPU内部结构

课题:8086微处理结构一、8086 CPU的内部结构:

图解分析: 1、8086 CPU从功能上可分为:总线接口部件BIU(Bus Interface Unit) 执行部件EU(Execution Unit) 2、BIU:负责与存储器、外部设备之间进行信息交换。 功能: ①负责从内存指定单元取出指令,并送到6字节的指令队列中排列; ②同时负责从内存指定单元取出指令所需的操作数并送EU; ③EU运算结果也由BIU负责写入内存指定单元。 组成:20位的地址加法器 段寄存器(CS、DS、ES、SS) 指令指针(IP) 指令队列缓存器 总线控制电路 各组件功能: ①地址加法器:计算并形成CPU要访问的内存单元的20位物理地址; ②段寄存器:用于存放对应段的段基址; ③指令指针寄存器:用于存放下一条要执行的指令的偏移地址; ④指令队列:是6字节的“先进先出”的RAM存储器,用于顺序存放CPU 要执行的指令,并送EU去执行; ⑤总线控制电路:产生总线控制信号,如存储器读/写、I/O读写控制信号。 3、EU:负责指令的执行。 功能: ①负责从BIU的指令队列中取得指令、分析指令、执行指令,并将结果存

入通用寄存器或由BIU写入内存单元; ②同时负责计算操作数所在内存单元的偏移地址。 组成:算术逻辑单元(ALU) 标志寄存器 通用寄存器:数据寄存器:AX、BX、CX、DX 指针和变址寄存器:SP、BP、SI、DI EU控制电路 各组件的功能: ①算术逻辑单元(ALU):对操作数进行算术和逻辑运算,也可按指令的寻 址方式计算出CPU要访问的内存单元的16位偏移地址; ②标志寄存器:用于反映算术和逻辑运算结果的状态; ③数据寄存器:用于保存操作数或运算结果等信息; ④指针和变址寄存器:用于存放操作数所处存储单元的偏移地址; ⑤EU控制电路:接收从BIU指令队列中取得的指令,分析、译码,以便形 成各种实时控制信号,对各个部件实现特定的控制操作。

第二章_8086体系结构与8086CPU

第二章8086体系结构与8086CPU 1.8086CPU由哪两部分构成?它们的主要功能是什么? 答:8086CPU由两部分组成:指令执行部件(EU)和总线接口部件(BIU) 指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU 控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。 2.8086CPU预取指令队列有什么好处?8086CPU内部的并行操作体现在哪里? 答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。 8086CPU内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。 3.8086CPU中有哪些寄存器?各有什么用途? 答:指令执行部件(EU)设有8个16位通用寄存器AX、BX、CX、DX、SP、BP、SI、DI,主要用途是保存数据和地址(包括内存地址和I/O端口地址)。其中AX、BX、CX、DX主要用于保存数据,BX可用于保存地址,DX还用于保存I/O端口地址;BP、SI、DI主要用于保存地址;SP用于保存堆栈指针。 标志寄存器FR用于存放运算结果特征和控制CPU操作。 BIU中的段寄存器包括CS、DS、ES、SS,主要用途是保存段地址,其中CS代码段寄存器中存放程序代码段起始地址的高16位,DS数据段寄存器中存放数据段起始地址的高16位,SS堆栈段寄存器中存放堆栈段起始地址的高16位,ES扩展段寄存器中存放扩展数据段起始地址的高16位。 指令指针寄存器IP始终存有相对于当前指令段起点偏移量的下一条指令,即IP总是指向下一条待执行的指令。 5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个?逻辑地址呢? 答:8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址

第二章 8086

第二章8086/8088微处理器及其系统结构 内容提要: 1.8086微处理器结构: CPU内部结构:总线接口部件BIU,执行部件EU; CPU寄存器结构:通用寄存器,段寄存器,标志寄存器,指令指针寄存器; CPU引脚及其功能:公用引脚,最小模式控制信号引脚,最大模式控制信号引脚。 2.8086微机系统存储器结构: 存储器地址空间与数据存储格式; 存储器组成; 存储器分段。 3.8086微机系统I/O结构 4.8086最小/最大模式系统总线的形成 5.8086CPU时序 6.最小模式系统中8086CPU的读/写总线周期 7.微处理器的发展 学习目标 1.掌握CPU寄存器结构、作用、CPU引脚功能、存储器分段与物理地址形成、最小/最大模式的概念和系统组建、系统总线形成; 2.理解存储器读/写时序; 3.了解微处理器的发展。 难点: 1.引脚功能,最小/最大模式系统形成; 2.存储器读/写时序。 学时:8 问题:为什么选择8088/8086? ?简单、容易理解掌握 ?与目前流行的P3、P4向下兼容,形成x86体系 ?16位CPU目前仍在大量应用 思考题

1、比较8086CPU与8086CPU的异同之处。 2、8086CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么? 3、CPU的运算功能是由ALU实现的,8086CPU中有几个ALU?是多少位的ALU? 起什么作用? 4、8086CPU有哪些寄存器?各有什么用途?标志寄存器的各标志位在什么情 况下置位? 5、8086CPU内哪些寄存器可以和I/O端口打交道,它们各有什么作用? 6、8086系统中的物理地址是如何得到的?假如CS=2400H,IP=2l00H,其物 理地址是多少? 思考题 1.从时序的观点分析8088完成一次存储器读操作的过程? 2.什么是8088的最大、最小模式? 3.在最小模式中,8088如何产生其三总线? 4.在最大模式中,为什么要使用总线控制器? 思考题 1.试述最小模式下读/写总线周期的主要区别。 2.CPU响应中断时,为什么要执行两个连续的中断响应周期? 3.当8086微处理器响应总线请求发出HLDA信号后,有哪些引脚信号处于高 阻? 4.8086/8088微处理器响应总线请求发出HLDA信号后,执行部件EU会立即 停止操作吗?为什么? 5.在8086系统中,地址/数据复用信号是如何区分的? 6.总线周期的含义是什么? 8086/8088的基本总线周期由几个时钟组成?如 果一个CPU的时钟频率为4.77MHz,那么它的一个时钟周期为多少?一个基本总线周期为多少?若主频为l5MHz呢? 7.在最小模式总线写周期的T1、T2、T3、T4状态,8086CPU分别执行什么动 作? 思考题 1.在8086系统的最大模式下为什么一定要用总线控制器?试述总线控制器 8288的主要功能,并说明它有哪些输入和输出信号?试述8086系统中时钟发生器8284A的主要作用以及可提供的几种时钟信号。

第2章 基本数据类型-习题(C语言)

第2章基本数据类型 一.选择题 1.不合法的字符常量是【】。 A) ‘\t’B) “B” C) ‘a’ D)’\x32’ 2.合法的字符常量是【】。 A) ‘\084’ B) ‘\84’ C) ‘ab’ D)’\x4A’ 3.C语言提供的合法的数据类型关键字是【】。 A) Float B) Signed C) integer D)char 4.属于合法的C语言长整型常量的是【】。 A)2736 B)0L C)2E10 D)(long)5876273 5.下面选项中,不是合法整型常量的是【】。 A)160 B)-0xcdg C)-01 D)-0x48a 6.以下所列的C语言常量中,错误的是【】。 A)0xFF B)1.2e0.5 C)2L D)’\72’ 7.下面四个选项中,均是不正确的8进制数或16进制数的选项是【】。 A)016 0x8f 018 B)0abc 017 0xa C)010 -0x11 0x16 D)0a12 7ff -123 8.下选项中不属于C语言的类型是【】。 A)signed short int B)unsigned long int B)unsigned int D)long short 9.判断int x = 0xaffb1。x的结果是【】。 A)赋值非法 B)溢出 C)为affb D)为ffbc 10.下面选项中,是合法浮点数的是【】。 A)+1e0.5 B)-.60 C)123e D)-e3 11.在C语言中,要求参加运算的数必须是整数的运算符是【】。 A)/ B)* C)% D) = 12.在C语言中,字符型数据在内存中存放形式是【】。 A)原码 B)BCD码 C)反码 D)ASCII码

8086体系结构与8086CPU 简答题

1.8086CPU由哪两部分构成?它们的主要功能是什么? 答:8086CPU由两部分组成:指令执行部件(EU)和总线接口部件(BIU) 指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU 控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。 2.8086CPU预取指令队列有什么好处?8086CPU内部的并行操作体现在哪里? 答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。 8086CPU内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。 3.8086CPU中有哪些寄存器?各有什么用途? 答:指令执行部件(EU)设有8个16位通用寄存器AX、BX、CX、DX、SP、BP、SI、DI,主要用途是保存数据和地址(包括内存地址和I/O端口地址)。其中AX、BX、CX、DX主要用于保存数据,BX可用于保存地址,DX还用于保存I/O端口地址;BP、SI、DI主要用于保存地址;SP用于保存堆栈指针。 标志寄存器FR用于存放运算结果特征和控制CPU操作。 BIU中的段寄存器包括CS、DS、ES、SS,主要用途是保存段地址,其中CS代码段寄存器中存放程序代码段起始地址的高16位,DS数据段寄存器中存放数据段起始地址的高16位,SS堆栈段寄存器中存放堆栈段起始地址的高16位,ES扩展段寄存器中存放扩展数据段起始地址的高16位。 指令指针寄存器IP始终存有相对于当前指令段起点偏移量的下一条指令,即IP总是指向下一条待执行的指令。 5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个?逻辑地址呢? 答:8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。通过一个20位的地址加法器将这两个地址

第2章练习 基本数据类型与输入输出xs答案

1.字符常量与字符串常量的区别是什么? 答:字符常量与字符串常量的主要区别在于:(1)定界符不同。字符常量使用单引号,而字符串常量使用双引号。(2)长度不同。字符常量的长度固定为1,而字符串常量的长度,可以是0,也可以是某个整数。(3)存储要求不同。字符常量存储的是字符的ASCII码值,而字符串常量除了要存储有效的字符外,还要存储一个结束标志’\0’。 二、选择题 1.下列数据类型不是C++语言基本数据类型的是()。 A.字符型 B.整型 C.实型 D.数组 2.在C++语言中,080是()。 A.八进制数 B.十进制数 C.十六进制数 D.非法数 3.下列字符列中,可作为C++语言程序自定义标识符是()。 A.switch B.file C.break D.do 4.下列字符列中,可以作为“字符串常量”的是()。 A. ABC B.″xyz″ C.′uvw′ D. ′a′ 5.字符串”vm\x43\\\np\102q”的长度是()。 A. 8 B. 10 C. 17 D. 16 6.在C++语言中,自定义的标识符()。 A.能使用关键字并且不区分大小写 B.不能使用关键字并且不区分大小写 C.能使用关键字并且区分大小写 D.不能使用关键字并且区分大小写 7.下面标识符中正确的是()。 A._abc B.3ab C. int D.+ab 8.下列不合法的变量名为()。 A.int B.int1 C.name_1 D.name0 9.下列变量名中,非法的是()。 A.A25 B.My_car C.My-str D.abc 10.下列常量中,十六进制int型常量是()。 A.0x5f B.x2a C.046 D.7a 11.下列常量中,不是字符常量的是()。 A.'\n' B."y" C.'x' D.'\7' 12.长双精度浮点型常量的后缀是()。 A.U B.F C.L D.无

第02章基本数据类型和基本操作

第2章:基本数据类型和基本操作 学习目标 ?编写简单的Java程序 ?理解标识符、变量和常量 ?基本数据类型: z Byte, short, int, long, float, double, char, boolean ?运算符: z+, -, *, /, %, +=, -=, *=, /=, %=, ++, -- ?表达式 ?熟悉Java的文档管理、程序设计风格和命名习惯 ?理解语法错误、运行时错误和逻辑错误 标识符 命名规则: ?标识符必须以字母、下划线(_)或美元符号($)开头。 由字母、下划线、$和数字组成,但是不能以数字开头。 ?标识符不能包含运算符,如+, — 等。 ?标识符不能是关键字,如class, public等。 ?标识符不能是true, false 或 null。 布尔型字面量true,false不是关键字,对象值null也没有列入关键字,但是不能把它们派做其它用途。(见书后附录A) ?标识符可有任意长度。 注意: Java区分大小写,X和x是两个不同的标识符。 合法的例子:abc , _isTrue , $123 非法的例子:123,%isTrue, 9_xy 命名习惯:推荐使用较长,有一定含义的标识符。增加可读性。是区分高级程序员和初级程序员的标志之一 变量 ?变量用于存储数据——输入、输出和中间数据。 变量声明 ?变量用来表示多种不同类型的数据。为了使用变量,需要说明它并告诉编译器变量名及其所代表的数据类型。 ?说明变量的语法如下: datatype variableName;(数据类型变量名;) 例如: int x; // Declare x to be an integer variable; double radius; // Declare radius to be a double variable; char a; // Declare a to be a character variable; 赋值语句 ?进行变量说明后,可以用赋值语句给它赋一个值,赋值语句语法如下: variable = value; variable = expression; ?注意:在赋置语句中,左边变量的数据类型必须与右边值的数据类型相容。 例如:int X = 1.0;是非法的,因为X是整型int型,不能把double型的数值赋给X

习题2-8086cpu

习题二 8086微处理器 答案 主要内容:主要介绍8086/8088CPU内部结构。了解80X86CPU的特点。 2.1 8086 CPU在内部结构上由哪几部分组成?其功能是什么? 【答】8086的内部结构分成两部分。总线接口部件BIU,负责控制存储器与I/O端口的信息读写,包括指令获取与排队、操作数存取等。执行部件EU负责从指令队列中取出指令,完成指令译码与指令的执行。 2.2 8086的总线接口部件有那几部分组成? 其功能是什么? 【答】8086的总线接口部件主要由下面几部分组成:4个段寄存器CS/DS/ES/SS,用于保存各段地址;一个16位的指令指针寄存器IP,用于保存当前指令的偏移地址;一个20位地址加法器,用于形成20位物理地址;指令流字节队列,用于保存指令;存储器接口,用于内总线与外总线的连接。 2.3 8086的执行单元(部件)由那几部分组成?有什么功能? 【答】8086的执行单元部件主要由下面几部分组成:控制器、算数逻辑单元、标志寄存器、通用寄存器组。 (1)控制器,从指令流顺序取指令、进行指令译码,完成指令的执行等。 (2)算数逻辑单元ALU,根据控制器完成8/16位二进制算数与逻辑运算。 (3)标志寄存器,使用9位,标志分两类。其中状态标志6位,存放算数逻辑单元ALU 运算结果特征;控制标志3位,控制8086的3种特定操作。 (4)通用寄存器组,用于暂存数据或指针的寄存器阵列。 2.4 8086内部有哪些通用寄存器? 【答】四个16位数据寄存器AX、BX、CX、DX,二个指针寄存器SP、BP, 二个变址寄存器SI、DI。这些寄存器使用上一般没有限制,但对某些特定指令操作,必须使用指定寄存器,可参考后面指令系统章节。 2.5 8086内部有哪些段寄存器?各有什么用途? 【答】四个16位段寄存器:CS、DS、SS、ES,分别保存代码段、数据段、堆栈段与扩展段的段地址。 2.6 8086CPU状态标志和控制标志又何不同?程序中是怎样利用这两类标志的? 8086的状态 标志和控制标志分别有哪些? 【答】(1)标志分两类:状态标志(6位),反映刚刚完成的操作结果情况。控制标志(3位),在8086特定指令操作中起控制作用。 (2)利用状态标志可以掌握当前程序操作的结果,例如了解是否产生进位,是否溢出等。例如利用控制标志可以控制程序的单步调试。 (3)状态标志包括:包括零标志ZF、符号标志SF、奇偶标志PF、进位标志CF、辅助进位标志AF、溢出标志OF。控制标志包括:单步运行标志TF、方向标志DF与中断允许标志IF。 2.7 8086/8088和传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么 优点? 8086CPU执行转移指令时,指令队列寄存器内容如何变化? 【答】(1)传统的计算机一般按照取指令、指令译码与执行指令的串行步骤工作。 (2)在8086CPU中,指令的提取与执行分别由总线接口部件BIU与执行部件EU完成,两个单元重叠并行工作,这种机制称为流水线,这种工作方式有力的提高了CPU的工作效率。

相关主题