资源描述
一、填空(每空0.5分,共5分)1、80486的中断源可分为_内中断和外中断_大类,03H属于_内中断_类型的中断。2、保护方式下,段寄存器中存放的是_段选择符_。3、80486有_65536_字节的I/O寻址空间,PC机中往往只使用其中的_1024_字节I/O空间,只用_10_条I/O地址线寻址。4、8255的B口初始化为方式1输出,与外设的握手联络信号是_ ACKB(PC2)_和_ OBFB(PC1)_。(P210)5、某存储器的地址空间为40000H7FFFFH,其存储容量为_256K _。/6、在现代微机的CPU中,都采用了指令的流水线结构,其特点是_提高程序运行速度_。 二、选择题(每小题1分,共15分)1、80486实模式下,(DS)=4000H,(SS)=3000H,(BP)=2000H,MOV AX BP+50H指令中源操作数的物理地址应是( C )。A. 5050HB. 6050HC. 32050HD. 42050H2、由80486CPU的INTR引脚输入的中断请求称为( B )中断。A. 内部B. 可屏蔽C. 非屏蔽D. 软件3、16位寻址时可同时使用( B )寄存器作寄存器间接寻址。A. DX,BXB. BP,SIC. SI,CXD. DI,DX4、设一8259A主片级联了三片从片,外部可屏蔽中断源由原来的8个扩展到(B)个。A.24B. 29C. 32D. 275、80486在保护方式下段的长度为( B )。1M_4GA.64KBB. 1-4GBC. 1MBD. 4GB 6、在指令MOV AX,0执行后,CPU状态标志位CF的值( D )。A.为0B. 为1C. 不确定D. 不改变7、要屏蔽某外部中断,可通过改变8259A( B )的内容实现。A.IRRB. IMRC. ISRD. PR8、有一个八位二进制的补码是11111101,其相应的十进制数是( C )。A.-125B. -2C.-3D. 2539、80486CPU中,堆栈操作指令是( C )数据传送指令。A.16位B. 32位C.16或32位D.8位、16位或32位10、某存储器有地址总线21条,其最高存储器单元地址是( B )。A.1000000HB. 1FFFFFHC.100000HD. 7FFFFFH11、二进制数111010.11转换成十六进制数是( B )。A.3ACHB. 3A.CHC. 3A3HD.3A.3H12、实模式下,对于80486微机系统,其中断类型码为6的中断向量从内存中物理地址为( )开始存放,共占( C )个字节。A.00018HB. 00024、2C. 00018H、4D. 00024H、413、RET6是某NEAR过程的返回指令,执行之后,SP的值增加( B )。A.16B. 8C. 10D. 1214、80486CPU的段选择符有( C )位。A.8B. 12C. 16D. 3215、按与存储器的关系,I/O端口的编址方式分为( C )。A 线性和非线性编址B 集中与分散编址C 统一和独立编址/D 重叠与非重叠编址三、判断分析题(正确的打,错误的打,并说明原因,每小题1分,共15分)1、两个符号相同的数相减不会产生溢出。( )2、引入虚拟存储技术的最大优点是提高了CPU的运行速度。( )错。3、在微机的存储器系统中存取速度最快的是高速缓存器。( )错。4、通过8259A与CPU相连的外设只能以中断方式与CPU交换2信息。( )错。5、在程序中要想获得某带符号数的补码,只能通过NEG指令实现。( )错。6、OR30H,DL( )错。立即数不能作为目的操作数7、PUSHIP( )错。不能用此法操作IP8、SHLBX,CX( )错。应为CL9、OUT20H,DL( )错。应为AL10、ADDAX,BL( )错。不匹配11、POPCS( )错。不能用此法得到CS12、SUBBX,SI( )错。源、目的不能同时为存储器操作数(P61)13、JMPFAR PTR NEXT( )对14、MUL20( )错。源不可以是立即数15、MOVDS,2030H( )不能用立即数对段寄存器赋值四、简答题(共20分)1、程序段如下:MOVAL,KANDAL,0FHADDAL,30HCMPAL,3AHJCNEXTADDAL,07HNEXT:MOVBUF,ALHLT问: 若K=8,下列程序程序执行后AL=? 该程序段的功能是什么?(1)(AL)=38H (2)把一为16进制数K,转换为对应的ASCII码,存入BUF单元中。如果K在09之间加30H,大于9,加37H。2、80486在实地址方式下逻辑地址由什么组成?如何由逻辑地址转换为物理地址?同一物理地址能否用多个逻辑地址表示?由段基址和偏移地址组成。段基址X16 + 偏移地址。同一物理地址可以用多个逻辑址表示。/3、什么叫中断?什么叫中断向量?中断向量表的作用是什么?中断是CPU与外设交换信息的一种方式。从程序执行的角度看是这样一个过程:异常事件或外部请求,使CPU暂时停止当前程序的执行,转而执行中断处理程序,处理完成后再返回继续执行当前程序。中断向量就是中断服务程序的入口地址中断向量表用来存放中断服务程序的入口地址。根据某一中断源的中断类型号,即可在表中查到该中断源的中断服务程序的入口地址,从而引导CPU执行该服务程序。4、电路结构如下,请给出图中RAM1和RAM2的地址范围。 1 0 0 1 0 0 0 1 0 1 1 X XXXX XXXX 91600H917FFH1 0 0 1 0 0 0 1 1 0 1 X XXXX XXXX 91A00H91BFFH 138工作 Y4=0 138 Y3=0 片内地址 条件 Y5=05、读下列程序段,请说出该程序段的功能是什么?MOVCX,60MOVAX,0MOVBX,1NEXT:ADDAX,BXINCBXINCBXLOOP NEXTMOVRUT,AX60项奇数之和,存入RUT中五、设计题(共15分)1、 试编制程序段,将以DS为段基址,有效地址为2000H-2063H单元中的100个字节型数据传送到有效地址为2020H-2083H的一片连续存储空间中。DATA SEGMENT ORG 2000HSBUF DB 100 DUP(?)/132DATA ENDS;CODE SEGMENT ASSUME DS:DATA,CS:CODESTART: MOV AX,DATA MOV DS,AX MOV CX,100 MOV AL,0 MOV SI,OFFSET SBUFLP0: MOV SI,AL INC SI INC AL LOOP LP0 ;先赋初值 MOV SI,2063H MOV DI,2083H MOV CX,100LP: MOV AL,SI MOV DS:DI,AL DEC SI DEC DI LOOP LP MOV AH,4CH INT 21HCODE ENDS END START2、电路结构如图所示,要求每操作一次K1键(按下并释放),延时1s后LED0LED7状态求反一次(1s的延时由8254完成)。请回答下列问题:(1)完成能实现题目要求的硬件连接。(片选信号除外)(2)8255各端口应工作在什么方式下?完成8255的初始化程序设计。(3)8254的各通道应工作在什么方式下?完成8254的初始化程序设计。注:设图中8254的端口地址为80H-83H;8255的端口地址为84H-87H。8255 口地址 84H 85H 86H 87H8254 口地址 80H 81H 82H 83H8255 方式选择控制字为:A口方式1输入,B方式0输出,C口输入1 011 1 00 1B,即B9H. 8254的通道1(T0)工作于方式3,其OUT0输出频率为1KHz(周期=1ms)的方波,输入到CLK1(T1工作于方式0),使OUT1输出1秒的延时信号,加在PC0上。通过INTRA向CPU发中断请求,必须把INTEA设为1,以允许A口发出中断请求。为此必须把PC4置“1”,对应的“置位/复位控制字”为:00001001B或09H,/ 0 000 100 1 09H标志 无定义 选中 把选中位 PC4 置1参考程序如下: CODESEGMENT ASSUMECS:CODE;以下是主程序 MAIN:MOVAL,0B9H ;8255控制字 OUT87H,AL ;写入方式选择控制字 MOVAL,09H ;置位/复位控制字 OUT87H,AL ;PC4=1(INTEA=1)允许A口发中断请求 MOV AL,55H ;8个LED初始状态MOVBL,AL ;保存 OUT 85H,AL ; MOV DX,83H ;8254控制寄存器地址 MOV AL,70H ;通道1:方式0(计数),字读/写 OUT DX,AL ;通道1初始化,OUT1=0 MOV AL,36H ;通道0:方式3(方波发生器),字读/写 OUT DX,AL ;通道0初始化; MOV DX,80H ;通道0地址 MOV AX,1000 ;通道0计数初值OUT DX,AL ;先写低字节 MOV AL,AH ; OUT DX,AL ;再写高字节 MOV DX,81H ;通道1地址/ MOV AX,1000 ;通道1计数初值 OUT DX,AL ;先低 MOV AL,AH OUT DX,AL ;后高MOV AX,350BH;读取原0B*4处中断向量INT 21H PUSH ES;存原中断向量的段基址 PUSH BX;存原中断向量的偏移基址MOV AX,SEG INTPROC;取用户中断服务程序段基址MOV DS,AXMOV DX,OFFSET INTPROC ;取用户中断服务程序偏移基址MOV AX,250BHINT 21H;填入中断向量表0B*40B*4+3; IN AL,21H;读中断屏蔽字AND AL,0F7H ;IR3对应的屏蔽位置0OUT 21H,AL;开放IR3的中断;STI;CPU开中断 MOV CH,0;计数初值AGAIN:IN AL,86H ;从8255的C口读入OUT1状态 AND AL,01H ;OUT1=1(8254延时1秒到)? JZ AGAIN ;尚未,等待 MOV AL,BL ;一秒到NOTAL ;LED状态取反MOV BL,AL OUT 85H,AL ;MOV DX,83H ;8254控制寄存器地址 MOV AL,70H ;通道1:方式0(计数),字读/写 OUT DX,AL ;通道1初始化,OUT1=0 CMP CH,5 ;按K1键5次? JNE AGAIN POP DX POP DSMOV AX,250BHINT 21HMOVAH,4CH ;是,退出 INT21H ;返回DOS操作系统;以下是中断服务程序 (什么时候CPU执行本程序?)INTSUBPROCFAR IN AL,84h ;发读信号,输入的数据无实际意义;8254初始化 MOV DX,81H ;通道1地址/ MOV AX,1000 ;通道1计数初值 OUT DX,AL ;先低 MOV AL,AH OUT DX,AL ;后高 INC CH MOVAL,20H OUT20H,AL ;中断结束命令 IRET ;中断返回INTSUB ENDPCODE ENDS ;代码段结束 ENDMAIN
展开阅读全文