《东南大学微机系统与接口11-12-3期中考试试卷-答案(共4页).doc》由会员分享,可在线阅读,更多相关《东南大学微机系统与接口11-12-3期中考试试卷-答案(共4页).doc(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上“微机系统与接口”测验 2012.4学号 姓名 成绩 一、 填空(40分):(除第7题外,每空1分)1、微型计算机由_CPU_、_存储器_、_I/O口_和_系统总线_构成。其中_系统总线_是各部分之间传送数据、地址和控制信息的传输通道。2、8086CPU一个总线周期至少包括_4_个时钟,是否需要插入等待状态,是在_T3_时刻测量_ READY _引脚的电平。3、8086/8088CPU由 BIU 和 EU 两个单元组成,其中,通用寄存器属于 EU 单元,20位物理地址的形成在 BIU 单元。 4、8086/8088CPU的地址线有 20 根,可以寻址 1M字节 的存储
2、空间。地址线和 数据线 、 状态线是分时复用的,用 ALE 信号作为地址的锁存信号。 5、8086/8088 系统中,设当前的 DS=2000H, SS=1000H, BX=300H, BP=500H, SP=100AH, 则指令MOV AX, BP+100H中源操作数的物理地址为 10600H,10601H ,指令 PUSH BX+100H的目的操作数物理地址为 11008H,11009H ,源操作数的物理地址为 20400H,20401H ,执行后SP的值为 10008H 。 6、8086CPU进行有符号数运算:7158H5289H,试问运算后下列各标志位为: SF=_1_ OF=_1_
3、ZF=_0 AF=_1_ PF=_1_ CF=_1_ (每空0.5分)7、下列数据段所占用的内存情况如下:DATASEGMENTDA1 DQ 1234H, 5678H ; 16 个字节DA2 DW 3 DUP (5H, 678H, 2 DUP(?) ; 24 个字节DA3 DB HAPPY NEW YEAR!,0DH,0AH ; 17 个字节DATA ENDS8、指出下列指令中源操作数的寻址方式: MOV CX,DISPBX 带偏移量的基址寻址 PUSH DS 寄存器寻址 MOV AX,6BP+SI 带偏移量的基址加变址寻址 LODSB 隐含寻址(串操作指令寻址) IN AL, DX 间接端口
4、寻址 9、若下列指令为非法指令,试写出合适的指令串代替之。OUT 2F0H, AL MOV DX,2F9H OUT DX,AL MOV ES, 2000H MOV AX, 2000H MOV ES,AX ROR BH, 3 MOV CL,3 ROR BH,CL XLAT AL, BX XLAT NEG BL, AL NEG BL MOV AH, 04HBXBP MOV SI,BX MOV AH,04HSIBP DIV BX, AL DIV BX POP AL POP AX 二、(28分)分析下面程序段,说明每条指令的运行情况,并写出最后的运行结果。(每空1分)1、SUB BX,BX ; MOV
5、 AX,0FFFH ; MOV SI,0AH ; MOV CX,0404H ; A:SUB DX,DX; DIV SI ; OR BX,DX ; ROR BX,CL ; DEC CH ; JNZA ; HLT; 程序运行结束后,AX = 0 ; BX = 4095H 2、MOVSI, 4000H; MOVDI, 4100H; MOVAL, SI; ADDAL,DI; DAA; MOV DI, AL; MOVAL, SI+1; ADCAL, DI+1; DAA; MOVDI+1, AL; 1) 根据给定的初值,写出运行结果 初值:4000H = 63H, 4001H = 54H, 4100H =
6、 88H, 4101H = 29H结果:4100H = 51h , 4101H = 84h 。2) 在以上程序段中,当第二次执行DAA指令后,AL = 84h 。 3)如果以上程序段去掉两条DAA指令,但初值不变,则运行结果为: 4100H = EBH , 4101H = 7DH 。三(32分)、阅读下面程序,解释带“;”的指令功能,并回答问题。(每空1分)1、DATA SEGMENTNUM DB 85,121,60,52,245,108,94,75,186,250COUNT EQU $NUM; RESULT DB 0DATA ENDSCODE SEGMENT ASSUME CS:CODE,D
7、S:DATA; STR: MOV AX,DATAMOV DS,AX * MOV BX,OFFSET NUM; MOV CX,COUNTDEC CXMOVAL,BX ; LOP: INC BX CMP AL,BX ; JAE NEXT ; MOV AL,BX NEXT:LOOPLOP; MOV AH,4CHINT 21H ; CODE ENDS ; END STR ; 回答下列问题:1) 该程序完成什么功能_找出NUM缓冲区中10个无符号数的最大值,并将其存入RESULT单元。 2) 程序执行后RESULT单元内容为_250_ 3) 程序中打“*”的语句可用_ LEA BX, NUM _语句代替
8、4) 将指令JAE改成JBE后,程序功能变为:_找出NUM缓冲区中10个无符号数的最小值,结果存入result ,RESULT单元内容变为_52_ 5) 数据中若有负数,语句JAE应如何修改_JGE NEXT_ 2、STACKSEGMENT PARA STACK STACK ; 定义堆栈段 DB 100 DUP (0); 为堆栈分配100字节,初始化 STACKENDSDSEGSEGMENTBLOCKDB 31, 56, 17, 88, 25, 67, 90COUNTEQU $BLOCKRESULTDB 0DESGENDSCODE SEGMENTASSUME CS:CODE, DS:DSEG,
9、 SS:STACK, ES:DSEGMAIN:MOV AX, DSEGMOV DS, AXMOV ES, AXMOV SI, * ; 将BLOCK的偏移地址赋值给SI,使得SI指向该数据区 MOV CX, COUNT ; 设置计数值 CON:MOV AL, SI ; 将偏移地址为SI的字节单元内容送到AL TEST AL, 01H ; 将AL中内容与01H相与 JZ NEXT ; 判断AL中数是否为奇数,若不是,跳转 INC RESULT ; 若是,RESULT值加1 NEXT:INC SI LOOP CON ; CX1,不为0跳转至CON MOV AH, 4CH INT 21H ; 返回DOS CODEENDS END MAIN 回答下列问题: 1)程序完成 统计数据段BLOCK缓冲区中奇数的个数,并存入RESULT单元 操作。2)程序执行后RESULT单元的内容为 4 。3) 程序(*)对应的指令, 填入源操作数后应为 MOV SI, OFFSET BLOCK 。4)在不改变原来程序功能的情况下,程序中TEST AL, 01H可用另一条指令 AND AL, 01H 代替。5)如果将程序中“TEST AL, 01H JZ NEXT” 改为“TEST AL, 0FFH JNP NEXT”,那么,程序执行后RESULT单元的内容为 4 。专心-专注-专业
限制150内