1、1、1100111100.011101B 33C.74 H;2、在 8086CPU 中,堆栈操作指令是 _16_位数据传送指令。3、8086CPU 从内部功能上可分为 执行部件( EU)和 总线接口部件(BIU)两个独立的功能部件。4、在 8086 微机系统中,堆栈内数据存储的规则是 先进后出 ,而指令队列中代码存取的特点是 先进先出 。5、8086 CPU 地址线为 20 位,数据线为 16 位。6、如果 DS6100H,则当前数据段的起始地址为 61000 H,末地址为 70FFF H。1、若(AL)0FH, (BL)04H,则执行 CMP AL,BL 后,AL 和 BL 的内容为( A
2、)A、0FH, 04H B、0BH, 04H C、0FH, 0BH D、04H, 0FH2、以下可使寄存器 AX 和 CF 同时清 0 的指令为 ( A )A、SUB AX, AX B、XCHG AX, BX C、ADD AX, BX D、PUSH AX3、下列伪指令中定义字变量的是( B )A、DB B、DW C、DD D、DT4、在 8086 最小系统与 8255A 连接电路中,其地址线 A1、A2 分别与 8255A 的 A0、A1 端相连;若已知 8255A 的 A 端口地址为 0030H,则 B 端口、C 端口和控制口地址分别为 ( B )A、0031H,0032H,0033H; B
3、、0032H,0034H,0036HC、0034H,0036H,0038H; D、0033H,0035H,0037H5、堆栈指针 SP 的初值为 3000H,AX 4050H,BX2050H,执行指令 PUSH AX,再执行 PUSH BX,POP AX 后,SP 、BX、AX 值为( C )A、2FFEH,4050H,2050H B、2998H,2050H,2050HC、2FFEH,2050H,2050H D、3002H,2050H,4050H1、MOV BP, AX; 2、POP CS; POP 指令中 dest 不可以使用 CS 寄存器 3、OUT 260, AL; I/O 地址超过 0
4、FFH 时须使用 DX 存储地址4、ADD 1000H, AX; 立即数不可以做目的操作数 5、SHR AL, 5; 移位数超过 1 时必须使用 CL 寄存器 1、若已知 X33,Y14,求:X 补 , Y补 ,X Y 补 ,并判断XY 补 的计算结果是否溢出。解:X 补 11011111B=0DFH;Y 原 10001110BY 补 =11110010B=0F2HXY 补 =X补 +Y 补 =11010001B=0D1H (最高两位均有进位,因此计算结果没有溢出。 )2、 已知堆栈段寄存器 SS 的内容是 1000H,堆栈指示器 SP 的内容是 00B8H,先执行两条 PUSH 指令把 80
5、57H 和 0F79AH 入栈,然后执行一条 POP 指令,补充下面的示意图(图 1) ,说明堆栈及 SP 内容的变化过程(内容直接填在图中) 。X X X X X XX X X X X XS PP U S HP U S H P O P1 0 0 0 H : 0 0 B 8 HS PS PS P1 0 0 0 H : 0 0 B 6 H1 0 0 0 H : 0 0 B 4 H1 0 0 0 H : 0 0 B 8 H8 0 H5 7 H5 7 H 5 7 H8 0 H 8 0 H0 F 7 H9 A H1、试问下列伪指令在存储区中分别为各变量分配多少字节?VR1 DW 9 2 BVR2 DW
6、 8 DUP(?), 15, 32 20 BVR3 DD 7 DUP(?) 28 BVR4 DB 2DUP (? , 6DUP( 0 ) ) 14 BVR5 DB 50H,3DUP(?) 4 B2、START: IN AL, 20HMOV BL, ALIN AL, 30HMOV CL, ALMOV AX, 0ADLOP: ADD AL, BLADC AH, 0DEC CLJNE ADLOPHLT(1)本程序实现什么功能?(2)结果在哪里?答:(1) 本程序实现一个乘法功能,把 I/O 口 20H 的内容和 30H 的内容相乘。(2) 结果在 AX 中。3、对于下面的数据定义,各条 MOV 指令
7、单独执行后,有关寄存器的内容是什么?FLDB DB ?TABLEA DB 10DUP(?) TABLEB DB ABCDTABLEC DW 1,20,40H(1) MOV AX, TYPE FLDB; (AX)= 1 (2) MOV AX, TYPE TABLEB; (AX)= 1 (3) MOV AX, TYPE TABLEC; (AX)= 2 (4) MOV CX, LENGTH TABLEA; (CX)= 10 (5) MOV DX, SIZE TABLEA; (DX)= 10 某存储器芯片有 14 根地址线、8 根数据线,请回答以下问题:(1)该存储器能存储多少字节信息?(2)如果存储
8、器由 2K1b 静态 RAM 芯片组成,需要多少芯片?多少芯片组?答:(1)能存储 214 个字节信息(或 16K 个)(2)需要 64 个芯片;8 个芯片组。1、 (8 分)某系统中,8253 芯片的通道 0通道 2 和控制端口地址分别为 130H136H,定义通道 1 工作于方式 3,产生一重复频率为 1KHz 的方波输出,计数脉冲为 2MHz,采用BCD 计数,试写出通道 1 的初始化程序。解:N2M 1K2000, 控制字:01110111B(77H)初始化程序MOV AL, 77HMOV DX, 136HOUT DX, ALMOV DX, 132HMOV AL, 00HOUT DX,
9、 ALMOV AL, 20HOUT DX, AL1、 (14 分)设某 8086 系统中有两片 8255A 芯片,由 74LS138 译码器产生两个芯片的片选信号,如图 2 所示。要求:第 1 片(J1)8255A 的 A 口工作在方式 2,B 口工作在方式 1输出;第 2 片(J2)8255A 的 A 口工作为方式 1 输出,B 口为方式 0 输入,C 口高 4 位输出,低 4 位为 B 口控制信号。(图 2)(1)试分别指出两片 8255A 芯片的端口地址;(8 分)(2)试分别写出两片 8255A 芯片的方式控制字;(2 分)(3)试分别写出两片 8255A 芯片的初始化程序。 (4 分
10、)8 2 5 5 AJ 1P A 0 P A 7P B 0 P B 7P C 0 P C 7A 2A 1D 0 D 7A 1A 08 2 5 5 AJ 2P A 0 P A 7P B 0 P B 7P C 0 P C 7A 2A 1D 0 D 7A 1A 0ACB7 4 L S 1 3 8A 3A 4A 5A 6A 7G 2 AG 2 BG 1M / I OC SC SY 7Y 6Y 5Y 4Y 3Y 0Y 1Y 2解:(1)J1:A 控制口:90H, 92H, 94H, 96HJ2: A控制口: 88H, 8AH, 8CH, 8EH(2)J1:1110B;J2:1010001B(3)J1:M
11、OV AL, 0C6HOUT 96H, ALJ1:MOV AL, 0A2HOUT 8EH, AL3、 (7 分)试编写一完整程序,把变量 X 和 Y 中较大者存入 BIG,若 XY,则把其中之一存入 BIG。 (设 X36,Y54)D_SEG SEGMENTX DB 36Y DB 54BIG DB ?D_SEG ENDSC_SEG SEGMENTASSUME DS:D_SEG, CS:C_SEGSTART: MOV AX, D_SEGMOV DS, AXMOV BL, XCMP BL, YJGE(JAE) NEXTMOV BL, YNEXT: MOV BIG, BLMOV AH, 4CHINT
12、 21HC_SEG ENDSEND START4、 (8 分)已知符号函数x+2, x0y = 0 , x=01 , x0试编写一个求 x 为任意值对应函数值的程序。要求将 x 值存放在 XX 单元中,将 y 对应的函数值存放在 YY 单元中。DATA SEGMENT 续: BRANCH2:XX DB -20 MOV AL, 0YY DB ? MOV YY, ALDATA ENDS RETCODE SEGMENT MAIN ENDPASSUME CS:CODE, DS:DATA CODE ENDSMAIN PROC FAR END STARTSTART: PUSH DSMOV AX, 0PUSH AXMOV AX, DATAMOV DS, AXMOV AL, XXCMP AL, 0JGE BRANCH1MOV AL, 1MOV YY, ALRETBRANCH1:JE BRANCH2ADD AL, 2MOV YY, AL 下行 RET