(1)MOV AX,[BP][SI] ;源操作数物理地址= 40001 H,指令执行后(AX)= 0000 H (2)POP AX ;源操作数物理地址= H,指令执行后(AX)= H (3)MOV AL,[BX] ;源操作数有效地址= H,指令执行后(AL)= H (4)LEA DI,ARRAY ;源操作数的寻址方式是 ,指令执行后(DI)= H (5)DEC CX ;源操作数的寻址方式是 立即寻址 ,指令执行后(CX)= FFFFH H 3、若给定AH和BH的值如下,
(1)(AX)=A050H,(BX)=AO50H (2)(AX)=8030H,(BX)=2090H (3)(AX)=F880H,(BX)=F990H (4)(AX)=0050H,(BX)=0150H 已知下列程序段,按无符号数计算,说明程序的转向。
ADD AL,BL JZ L1 JC L2 CMP AH,BH JC L3 JZ L4 JMP L5
4、 设(CS)=1000H,(DS)=2000H, (ES)=3000H, (SS)=4000H, (SP)=100H, (BX)=200H,(SI)=1, (20200H)=400H, (30200H)=1400H, (20202H)=0004, (20204H)=202H,(21400H)=1234H, (21405H)=5678H。执行下列程序段(注意:不是单条指令),填空回答问题: MOV BP,256 H
PUSH [BX]
;源操作数物理地址= H
;(DI)= H
;源字段的寻址方式是 ;指令执行后(SI)= H ;目的操作数物理地址= H ;(AX)= H
;目的操作数物理地址= H
;源字段的寻址方式是 立即寻址 ;指令执行后(BP)=0000
MOV DI,3[BX][SI] DEC SI INC [DI]
MOV AX,[DI]
ADD -2[BP],AX
POP BX ;目的操作数物理地址= H MOV AX,[BX+SI]
;程序段执行完后,(AX)= H
5、假设(DS)=2000H,(ES)=3000H,(CX)=0000H,(SS)=1000H,(SP)=0100H,(BX)=0200H,
5
(SI)=0001H,(DI)=0010H,(BP)=0100H,DISP=02H,(30202H)=8090H,(10100H)=00A0H,(20200H)=12H,(20201H)=34H,(20202H)=78H,(20203H)=56H执行下列程序段并分析指令执行后的结果,(注意:不是单条指令),按给出的要求填空回答问题:
(1)MOV AX,[BX][SI] ;源操作的寻址方式是 基址变址寻址 ,指令执行后(BX)= H
(2)POP AX ;源操作的寻址方式是 ,指令执行后(AX)= H (3)MOV AL,ES:DISP[BX] ;源操作的寻址方式是 相对寄存器寻址 ,指令执行后(AL)= H
(4)MOV CX,(0202H) ;源操作数的寻址方式是 寄存器寻址 ,指令执行后(CX)= H
(5)MOV AX,2000H ;源操作数的寻址方式是 立即寻址 ,指令执行后(AL)= H
6、试编写8251初化程序, 字符为7位数据位,奇校验,1个停止位。若每秒钟发送100个
字符,它的波特率多少?设波特率因子为1,发送允许,接收允许,错误标志复位,试编写初始化程序是其能实现接收和发送串行数据
四、I/O接口设计题
1、一个微机系统中包含以下器件:微处理器8086一片,并行接口8255A一片(A口—80H,B口—81H,C口—82H,控制口—83H),现将8255A的A口连接一输出设备,工作在0方式。B口连接一输入设备,也工作在0方式,C口下半部为输出,上半部为输入。PC4作为输出设备的选通输出端且高电平有效。中断控制器8259A一片(地址号:60H,61H)。工作于边沿触发方式,普通全嵌套中断优先级,无缓冲,采用自动中断结束方式,8259A的ICW2给定为40H。请填充下面程序中的空白项 (注意:控制字中可0可1位选0,8255未用端口设成输入方式)。
MOV AL, 1000 1010B ; 8255初始化 OUT 83H , AL
MOV AL, 0001 0011B ; 8259A初始化 ICW1 OUT 60H , AL MOV AL, 40H ; ICW2
OUT 61H , AL MOV AL, 0000 0011B ; ICW4 OUT 61H , AL
6
MOV AL , 1111 1110B ;OCW1,使IR1的中断请求被允许,其它位被屏蔽 OUT 61H , AL
IN AL, 81H ; 从8255的B口读入数据
MOV AL, 0000 1000B ; 用按位置位/复位方式PC4使选通无效 OUT 83H , AL POP AX
OUT 80H , AL ; 由A口输出数据
MOV AL, 0000 1001B ;用按位置位/复位方式使PC4选通有效 OUT 83H , AL
如果对应8259A的IR2中断类型号是 42H ;
中断服务子程序的入口地址存放在内存的 00108H, 00109H , 0010AH, 0010BH 单元中。 2、8253与CPU和74LS138译码器的硬件电路连接如图所示,请回答如下问题: (1)根据74LS138的输入逻辑计算出8253的四个端口地址。
(2)当计数器0的CLK0输入时钟为1MHz,要求该通道OUT0输出频率为10KHz的方波脉冲,试编写初始化程序。
(3)试编写程序,要求从计数器1读出计数值,并将读出的当前计数值保存在BX中。(注:可0可1的位设置为0,时间常数按二进制计算,程序必须有注释,无注释减分)(每个小题5分,共15分)
到CPU数据总线 到CPU控制总线 到CPU地址总线 D0-7 RD WR A0 A1 CLK0 GATE0 OUT0 A6 A5 + A7 G1 Y0 CS M/IO G2A G2B A4 C 8253 A3 B 74LS138 A2 A
答案:1、Y0=80-83H 2、计数初值为:100=64H 程序:
1、 MOV AL,00110110B ;工作方式设置
OUT 83H,AL MOV AX, 100 ;计数值为100
7
OUT 80H,AL MOV AL,AH OUT 80H,AL
如按只读写低8位,控制字格式正确,程序正确也得全分 2、MOV AL,0100 XXX0H ;工作方式设置
OUT 83H,AL IN AL, 81H MOV BL,AL IN AL, 81H MOV BH,AL
3、试对一个8251进行初始化编程,要求工作在异步方式,7位数据位,奇校验,1个停止位。(设8251的控制口地址为80H,数据口地址为81H),编写完成接收和发送10个字符的接收发程序 答: 查询接收程序:
MOV AL,01011001B OUT 81H,AL
MOV AL,15H;接收和发送允许 OUT 81H,AL
MOV SI,OFFSETRDABUF ;接收送数据地址指针到SI MOV CX,COUNT ;接收字节数
RW: IN AL,81H ;读状态口(查询接收程序) TEST AL,02H
JZ RW ;不满,则转去继续等待 TEST AL,38H ;检查错误信号
JZ ERROR ;有错误出现,转出错处理 IN AL,(80H) MOV (SI),AL;取数据
INC SI ;送发送寄存器
LOOP RW ;没发完继续转去发送
。。。。。。。 查询发送程序:
8