MOV AX,[S1]
AGAIN:CMP AX,[SI]
JGE NEXT ;有符号数,若为无符号数则JAE MOV AX,[SI] NEXT:INC SI INC SI
LOOP AGAIN POP CX POP SI RET MAX ENDP
10、编写一子程序实现从某字数组中求出平均值(设其和不会超出范围)。 答:;求数组元素之和函数SUM,数组首址为Sl,数组元素个数为CX,和由AX带出。
SUM PROC NEAR PUSH SI PUSH CX
XOR AX,AX AGAIN:ADD AX,[S1]
INC Sl INC SI
LOOP AGAIN POP CX POP Sl RET SUM ENDP
11、从键盘接收一串字符,并另起一行逆序显示该字符串。 答:DATA SEGMENT
BUF DB 81,0,81 DUP(?) DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA DX,BUF
MOV AH,l0 ;接收一串字符 INT 2lH
MOV DL,0DH ;显示回车换行 MOV AH,2 INT 21H
MOV DL,0AH MOV AH,2 INT 21H
MOV CL,BUF+1 ;取接收的字符数
17 / 29
XOR CH,CH LEA BX,BUF+1
ADD BX,CX ;BX指向串尾 AGAIN:MOV DL,[BX] ;逆向显示
MOV AH,2 TNT 21H DEC BX
LOOP AGAIN MOV AH,4CH INT 2lH CODE ENDS
END START
12、假设密码为“123456”,从键盘接收密码并验证,若正确则显示“欢迎使用本系统”,否则显示“密码错误,您无权使用!”。 自己写 13、从键盘输入1字节的两位十六进制数据,并分别用二进制、八进制、十进制、十六进制显示出来其等价的值。 自己写
第6章Intel 8086/88微处理器
1、8086/88 和传统的8位计算机相比在执行指令方面有什么不同?有什么优点? 答:总线接口部分和执行部分是分开的,每当EU执行一条指令时,造成指令队列空出2个或空出一个指令字节时,BIU马上从内存中取出下面一条或几条指令,以添满他的指令队列。这样,一般情况下,CPU在执行完一条指令后,便可马上执行下一条指令,不像以往8位CPU那样,执行完一条指令后,需等待下一条指令。即EU从指令队列中取指令、执行指令和BIU补充指令队列的工作是同时进行的。这样大大提高了CPU利用率,降低了系统都对存储器速度的要求。 2、8086有哪两种工作模式?其主要区别是什么?
答:答:8086有最大和最小两种工作模式,最小工作模式是指MN/MX引脚为高电平,系统中只有8086/8088微处理器,系统中的所有控制信号都直接由CPU产生。最大工作模式是指MN/MX引脚为低电平,它是相对于最小模式而言的,系统中除了8086/8088作为处理器外,还包含数值运算协处理器8087、输入/输出协处理器8089,以及总线控制器8288和总线仲裁控制器8289等支持芯片,从而可以完成更复杂的运算或控制任务。 3、请画出8086/88 CPU功能模块图
18 / 29
4、请说明8088与8086的主要区别。 答:教材P81、P82和P91
5、请画出8088CPU最小模式核心示意图。 参考P85图6.8最小模式的8086CPU子系统图 6、请画出8088CPU最大模式核心示意图。 参考P87图6.10最大模式的8086CPU子系统
7、8284时钟发生器的功能是什么?它产生哪些信号?这些信号有何作用? 教材P83
8、8086/8088的基本总线周期由几个时钟周期组成?IBM PC/XT机中CPU的时钟周期包括多少?一个输入或输出总线周期包括多少个时钟周期?
答:8086/8088的基本总线周期由4个时钟周期组成。mM PC/XT机中CPU的时钟周期是210 nS,一个输入或输出总线周期至少是4个时钟周期。
说明:总线周期——CPU的BIU取指令和传送数据需要的时间。一个基本的总线周期由4个时钟周期(T状态)组成,即T1、T2、T3、T4状态。
(1)在T1状态,CPU向地址/数据复用线(ADl5~ADO)和地址/状态复用线(AldS6~A1dS3)上发送地址信息,产生本次操作的地址。
(2)在T2状态,CPU从总线上撤销地址信息,并向地址/状态复用线(A19/S6~AldS3)上发送本次操作的状态信息(S6~S3);在读操作下,地址/数据复用线(ADl5~ADO)浮空(高阻),为接收数据做准备;在写操作下,地址/数据复用线出现本次操作的数据。
(3)在T3状态,地址,状态复用线仍为状态信息,地址/数据复用线出现本次操作的数据(读或写数据)。
(4)在有些情况下,外设或存储器数据传输的速度跟不上CPU,则向CPU发出“未准备好\信号(READY=0),CPU在T3状态后自动插入1个至多个等待周期TW,直至READY=1为止,进入T4状态。
(5)在T4状态,总线周期结束。
(6)若CPU不执行总线操作(不访问存储器或I/O),系统总线则执行空闲周期Ti;在执行空闲周期时,总线高4位保留前一个总线周期的状态信息;若前一个总线周期为写操作,则地址/数据复用线仍保留写数据,若为读操作,则地址/数据复用线浮空。
9、在T1状态下,8086/8088数据/地址线上传送的是什么信息?用哪个信号可将此信息锁存起来?数据信息是在什么时候送出的?在IBMPC/XT机中是怎样使系统地址总线和系统数据总线同时分别传送地址信息和数据信息的? 答:在T1状态下,8086/8088数据/地址线上传送的是地址信息Al5~A0,地址锁存信号ALE引脚为高电平时,地址被锁存。数据信息是在DEN信号有效的时候送出,即主要在T2至乃期间。地址数据分时复用主要是用到地址锁存器
19 / 29
(ALE有效)锁存地址送上数据总线,DEN有效数据缓冲器开通实现数据总线与CPU相通。
10、简述读内存的基本过程。
答:读内存的过程其实就是取指令(或取数)的过程,具体如下:
(1)CPU先将待取指令(数据)的地址送上地址总线并译码指定到对应的内存单元。
(2)CPU再发出读信号。
(3)内存单元内容的送出指令到数据总线。 (4)指令(数据)通过数据总线送到CPU。
(5)因为是取指令,CPU内部存入指令队列(取指特有)。 11、简述写内存的基本过程。 教材P90
12、根据8086内存读/写时序图,回答如下问题: (1)地址信号在哪段时间内有效?
T1周期
(2)读操作与写操作的区别?
教材P89、P90
(3)内存读写时序与I/O读写时序的区别?
读写控制引脚有效性不同,要给出具体引脚。 (4)什么情况下需要插入等待周期TW? 教材P89
13、请画出8088最大模式读内存时序图。 参考P90图6.13 8086读总线周期时序图(最大模式),根据地址引脚和数据引脚的区别进行修改(8088只有8个数据引脚) 14、请画出8088最小模式写IO时序图。
参考P91图6.14 8086写总线周期时序图(最小模式),根据下面提到的8088和8086的最小模式读写内存或者IO时序的区别进行修改。 15、总线响应的条件是什么? 教材P92
16、简述总线请求/响应的基本过程。 教材P92
17、RESET信号来到后,8086/8088系统的CS和IP分别为什么内容?复位时执行的第一条指令的物理地址是多少? 答:RESET信号来到后,8086,8088系统的CS和IP分别为0F'FFFH和0000H。 18、编写使计算机软启动的功能程序段。
第7章内存组成、原理与接口
1、存取周期是指(C)。
A.存储器的读出时间
20 / 29