1、微机原理及应用试题一、填空题(每空 1 分,共 20 分)1.X=32,Y=13,则XY补=_11101101B_,XY补=_11010011B_。 2.CPU工作在实方式下,若指令 MOV AL,BPSI,其源操作数的寻址方式为_基址变址寻址_,假设BP=1500H,SI=2500H,ES=3000H,SS=4000H,则源操作数的物理地址为_44000H3. 8086/8088 CPU内部结构按功能分为两部分,即_总线接口单元(BIU)_ 和_执行单元(EU)_。4. CPU从主存取一条指令并执行该指令的时间称为_指令周期_ , 它通常用若干个_总线周期_ 来表示,而后者又包含有若干个_时
2、钟周期_。5. 8086的 OUT DX, AL输出指令为_间接端口_寻址方式,当端口地址(DX)小于_256_可用直接寻址。6.已知(AL)0101110lB,执行指令 NEG AL后再执行 CBW,(AX) 0FFA3H 。7n+1 位符号数 x的补码表示范围为_-2nx2n-1_。8 (AX)7654H, (BX)8912H,则执行指令 ADD AX,BX 后,OF_0_,CF=_0_。98086 从奇地址单元开始读取一个字需要_2_个总线周期,第_1_个总线周期用高 8位数据线传输数据。10当前(SS)=8000H, (SP)1234H,执行 PUSH AX后, (SS)_8000_H
3、, (SP)_1232_H。二、选择题(每小题 1 分,共 15 分)1.将字变量 ARRAY的偏移地址送寄存器 BX的正确结果是_A、C_。A. LEA BX,ARRAY B. MOV BX,ARRAYC. MOV BX,OFFSET ARRAY D. MOV BX,SEG ARRAY2.将累加器 AX的内容清零的正确指令是_B、C_。 A.AND AX,0 B.XOR AX,AXC.SUB AX,AX D.CMP AX,AX3.计算机中常用的 BCD码 C 。A.是二进制数 B.是十六进制数 C.是二进制编码的十进制数 D.是不带符号数的二进制形式4.在汇编过程中不产生指令码,只用来指示汇
4、编程序如何汇编的指令是 C _。 A.汇编指令 B.机器指令C.伪指令 D.宏指令5.8086CPU通过 M/ 控制线来区分是存储器访问,还是 I/O访问,当 CPU执行 IN AL,DX指令时,M/IO信号线为( B )电平。IA. 高 B. 低 C. ECL D. CMOS6条件转移指令 JNE 的条件是( C )。A. CF=0 B. CF=1 C. ZF=0 D. ZF=17. 在 8086/8088 CPU中,一个最基本的总线读写周期由( C )时钟周期(T 状态)组成,在 T1状态,CPU往总线上发 ( B )信息。 A. 1 个 B. 2 个 C. 4 个 D. 6 个 A. 数
5、据 B . 地址 C. 状态 D. 其它 8. 8086有两种工作模式, 最小模式的特点是( A ),最大模式的特点是 ( D ) 。 A. CPU 提供全部控制信号 B. 由编程进行模式设定C. 不需要 8286收发器 D. 需要总线控制器 8288 A. M/ 引脚可直接引用 B. 由编程进行模式设定IOC. 需要总线控制器 8288 D. 适用于单一处理机系统9. 8086CPU在执行 MOV AL,BX指令的总线周期内,若 BX存放的内容为 1011H,则 和 A0的状态是BHEB 。A. 0,0 B. 0,1 C. 1,0 D. 1,110. 在 8086中,(BX)8282H,且题
6、中指令已在队列中,则执行 INC BX指令需要的总线周期数为 C 。A0 B1 C2 D311当 8086工作在最小模式时,其引脚 应接( D )电平。MXN/ATTL BCMOS C逻辑低 D逻辑高128086 采用间接寻址访问 IO端口时可以访问的端口个数是( C )个。A1K B16K C64K D。1M138086 执行指令 OUT DX,AL 时, 信号的状态是( A ) 。RTIO/和A0,1 B1,0 C0,0 D1,114执行 INT n指令或响应中断时,CPU 保护现场的的次序是( A ) 。A先保护 FR,其次 CS,最后 IP B先保护 CS,其次 IP,最后 FRC先保
7、护 FR,其次 IP,最后 CS D先保护 IP,其次 CS,最后 FR158086 的状态标志位有( B ) 。A5 个 B6 个 C9 个 D16 个三、判断题(对的在后面的括号中打“” ,错误的打“” ,每小题 2 分,共 10 分)1微机中的符号数都是以补码形式表示的。 ( )2若 I/O 端口与主存储器采用统一内存编址时,那么在计算机指令中可以不设专门的 I/O 指令。 ( )3INC 指令不影响 CF 标志。 ( )48086 系统中的中断向量表可以放在内存的任何地方。 ( )5因为 CPU 复位时计算机各寄存器的内容都清零,因此 CPU 复位后从地址 0000:0000H 处开始
8、执行。 ( )四、按要求完成下列各题(每小题 5 分,共 15 分)1、已 知 DS=2000H, 有 关 的 内 存 单 元 值 为 : (21000H)=00H, (21001H)=12H, (21200H)=00H, (21201H)=10H, (23200H)=20H, (23201H)=30H, (23400H)=40H, (23401H)=30H, (23600H)=60H, (23601H)=30H, 符 号 COUNT 的 偏 移 地 址 为 1200H。 执 行 下 列 指 令 后 , 寄 存 器 AX、 BX、 SI 的 值 分 别 是 多 少 ?MOV BX, OFFSE
9、T COUNTMOV SI, BXMOV AX, COUNTSIBX解:COUNT=(21200H)=00HBX=1200HSI=(21200H)=00HAX=(21200H)=00H2.设 DS=4500H, AX=0508H, BX=4000H, SI=0320H。 当 8086CPU 在 最 小 组 态 下 执 行 指 令 MOV BX SI 0100H, AX 时 , 各 控 制 信 号 M/ 、 DT/ 、 、 在 有 效 期 间 的 状 态 分 别 是 什 么 ? 数 据ORW总 线 和 地 址 总 线 上 的 数 分 别 是 多 少 ?解:指令方向为 CPU 到存储器,写操作故:
10、M/ =1IODT/ =1R=1D=0WBX+SI+0100H=4420H数据总线上的数为 AX=0508H地址总线上的数为 45000H+4420H=49420H3. 设 DS=6000H,BX=8432H,SS=5000H,SP=3258H,内存 69632H69635H 单元的内容依次是00H、11H、22H、33H。 4字节指令 CALL DWORD PTR BX+1200H 本身位于 2000H:3250H 处的双字单元中。当 8086执行该指令后转移至子程序入口时,CS、IP、SS、SP 各寄存器以及栈顶 2个字单元的内容分别是多少?解:CS=3322HIP=1100HSS=500
11、0HSP=3254H栈顶 2 个字单元 从低到高为:50H,32H,00H,20H五、回答下列问题。 (每小题 5分,共 25分)1写出下列指令执行后、标志的内容 , , ,( 1 ) ,( 0 ) ,( 0 ) 。2.已知:(AX)=4433H, (BX)=7766H, 执行了下面的程序段后, (AX)=_ 889AH , (BX)=_ 4433H CMP AX,BXJG NEXTXCHG AX,BXNEXT: NEG AX3.已知: (AX)=6666H, (BX)=00FFH, (CF)=0。在执行下面程序段后: (AX)=_ 0 , (BX)=_ 0FF00H , (CF)=_0_MO
12、V AX,5555HAND AX,BXXOR AX,AXNOT BX4. 填入适当指令,使下面程序实现用移位、传送、加法指令完成(AX)与 10相乘运算:SHL AX,_1_MOV DX,AXMOV CL,_2_SHL AX,CLADD _AX, DX_5. 已 知 某 数 据 段 从 物 理 地 址 03000H 处 开 始 , 定 义 如 下 :DSEG SEGMENTORG 2000HA1 DD 2 DUP( 7, 1, ? )A2 DB 10 DUP( 0, 4, 3 DUP( 2) , 5)CNT EQU 20HA3 DW 100 DUP( ? )DSEG ENDS请 分 别 用 分
13、 析 运 算 符 SEG、 OFFSET、 LENGTH、 SIZE、 TYPE 求 出A2 的 段 基 址 、 偏 移 量 、 类 型 及 它 们 的 LENGTH、 SIZE。解 :段 基 址 : MOV AX, SEG A2 ;AX 3000H偏 移 量 : MOV AX, OFFSET A2 ;AX 2018H类 型 : MOV AX, TYPE A2 ;AX 1LENGTH: MOV AX, LENGTH A2 ;AX 10SIZE: MOV AX, SIZE A2 ;AX 60六、编程题(每题 5分,共 15分)1. 若 AX=26D3H, CX=7908H, CF=1, 执 行
14、下 列 指 令 后 , 寄 存 器 AX、 CX 的 值 分 别 是 多 少 ? CF=? OF=?SAL CH, 1RCR AX, CLROL AL, 1解 :CH=79H=01111001B(1)执 行 后 , CH=11110010B=0F2H, C=0, O=C M=1+CL=08H,AX=26D3H=0010011011010011B(2)执 行 后 , AX=1010011000100110B=0A626H, C=1, O=C M=0+AL=26H=00100110B(3)执 行 后 , AL=01001100B=4CH, C=0, 0=C M=0+最 后 :AX=0A64CH,
15、CX=0F208H, C=0, O=02、 完 成 一 个 完 整 的 源 程 序 , 将 数 据 35、 -27、 -13、 6、 -47、 52、 9、 -3 中 的 正 数 放 入 以 BUFFER 为 首址 的 数 据 缓 冲 区 中 ,程 序 如 下 实 现 :DATA SEGMENTBLOCK DB 35, 27, 13, 6, 47, 52, 9, 3COUNT EQU $ BLOCKBUFFER DB COUNT DUP( ? )DATA ENDSSTACK SEGMENT PARA STACKSTACKDW 40 DUP( ? )STACK ENDSCODE SEGMENTA
16、SSUME CS: CODE, DS: DATA, ES: DATA, SS: STACKBEGIN: MOVAX, DATAMOV DS, AXMOV ES, AX ; 需 用 STOS 串 操 作 指 令MOV CX, COUNTLEA SI, BLOCK_ ; 源 数 据 区 指 针1LEA DI, BUFFER ; 正 数 存 放 区 指 针2CLD ; 自 动 增 量AGAIN: LODSB_ ; 串 操 作 指 令 取 源 数 据 , 并 修 改 SI3CMP AL, 0_ _ ; 测 试 符 号 位 , 不 影 响 AL4_JS GO ; 符 号 位 =1, 是 负 数 , 不 存STOSB_ ; 存 正 数 并 修 改 DI5GO: LOOP AGAINMOV AH, 4CH ; 退 出 循 环 , 返 回 DOSINT 21HCODE ENDSEND BEGIN3.简单应用已知:ORG 0200HMES DW 4,-2,-1,4PAS DW $-MESVAR DW MES,$+4MOV AX,MESMOV BX,OFFSET VARMOV CX,PASMOV DX,VAR+2LEA SI,MES此程序执行后,AX=_0004H ,BX=_020AH_,CX=_0008H ,DX=_ 0210H_,SI=_ 0200H _。