JZ L4 JMP L5 ???? L1 : ??
???? L2 : ??..
........ L3 : ??
????.. L4 : ??
???? L5 : ??
????
程序转移地址标号为:
36、连续执行下列程序段,并在空格中填写指令执行的结果。
(1) MOV AX , 30A0H AL= A0H ; AH= 30H ; (2) MOV DS , AX DS= 30A0H ; AX= 30A0H ; (3) MOV AL , FFH AL= FFH ; AH= 30H ; (4) INC AX AL= 00H ; AH= 31H ; (5) MOV AL , 10010011B AL= 93H ; SF= 1 ;
37、若给定①(AX)=A050H,(BX)=6O50H ,②(AX)=6O50H,(BX)= A050H分析下列程序段(按无符号数计算),确定程序的转向:
ADD AL,BL JZ L1 JC L2 CMP AH,BH JC L3 JZ L4 JMP L5 ????
程序转移地址标号为: ① L5 ② L3
第 - 11 - 页 共 -21- 页
38、假设(DS)=2000H,(ES)=3000H,(SS)=4000H,(SP)=1000H,(BX)=0200H,(SI)=0001H, (DI)=0002H,(BP)=256,字变量ARRAY偏移地址为0050H,(20200H)=1234H,(40100H)=00A0H,(40102H)=2200H。执行下列程序段并分析指令执行后的结果,(注意:不是单条指令),按给出的要求填空回答问题:(每空1分,共10分 )
(1)MOV AX,[BP][SI] ;源操作数物理地址= 40101 H, 指令执行后(AX)= 0200H (2)POP AX ;寻址方式是= 寄存器寻址 , 指令执行后(SP)= 1002H (3)MOV AL,[BX] ;源操作数有效地址= 20200 H, 指令执行后(AX)= 1234H (4)LEA DI,ARRAY ;源操作数的寻址方式是 直接寻址, 指令执行后(DI)= 0050H (5)JMP BX ;指令执行后(IP)= 0200H
(6)INC BX ; 源操作数的寻址方式是 寄存器寻址 39、编写程序段实现下列功能 (1)将立即数1234H送AX。
(2)将寄存器AH的内容送外设端口307H。 (3)将BX寄存器的低8位清零,其余位不变。
(4)将存储器数据段偏移地址为1000H的字数据的高8位变反,其余位不变。 (5)将寄存器AX内容与BX内容相加,结果送CX。 (6)将立即数1234H送偏移地址为5678H的存储单元中。 答案:MOV BX,5678H ;MOV [BX],1234H (7)将寄存器BX内容送外设端口80H。
答案:MOV AX,BX ;OUT 80H,AL ;MOV AL,AH ; OUT 80H,AL (8)将BX寄存器的高8位清零,其余位不变。 答案:AND BX,00FFH
(9)将存储器数据段偏移地址为1000H的字数据的高4位变反,其余位不变。 答案:MOV AX,(1000H);XOR AX,F000H
(10)将寄存器AX内容与BX内容相减,结果送CX。 答案:SUB AX,BX ;MOV CX,AX
(11)、请编写完成三个无符号数(20H+30H)×15H=?的运算的程段,运算结果要求存放在DX、AX寄存器中。答案:MOV AL,20H ;ADD AL 30H ;MOV BL,15H ;MUL BL
(12)、已知两个无符号数分别存放AL和BL寄存器中,做AL-BL运算,当运算结果为0时,将AL的内容送到偏移地址为(1000H)的内存单元中。当运算结果不为0时,将AL的内容送到偏移地址为(2000H)
第 - 12 - 页 共 -21- 页
的内存单元中。请编写完成上述要求的程序段。 答案: CMP AL,BL
JZ LOOP MOV [2000H],AL ??
LOOP: MOV [2000H],AL
??
(13)、请用循环程序完成将DS=2000H,偏移地址为1000H连续100个单元中的内容 清零。 MOV CL,100
MOV DI,1000H
LOOP1:MOV [DI],00H INC DI DEC CL JNZ LOOP1 HLT
(14)、请编写程序完成8位无符号数:12345678H+87654321H的运算,结果存放在DX:CX中。 (15)将立即数2233H送地址为(2000H)的存储器中。 MOV BX,2000H; MOV [BX],2233H
(16)将寄存器AH的内容送外设端口0307H。 MOV DX,0307HH; MOV AL,AH; MOV DX,AL (17)将BX寄存器的低8位清零,其余位不变。 MOV BL,00H 或AND BX,FF00H
(184)将存储器数据段偏移地址为2000H的数据变反后仍然保存在原地址中。 MOV AL,[2000H];NOT AL;MOV [2000H],AL
(19)将寄存器AX内容与BX内容和进位位标志的内容相加,结果送CX。 ADC AX,BX ;MOV CX,AX
(20)请用循环程序完成将DS=2000H,偏移地址为1000H连续100个单元中的内容 清零。 MOV AX,DS;MOV ES,AX;MOV DI,1000H;MOV,CX,100;REP STOSB DI (21)、请编写程序完成十进制数12+56的运算,结果存放在AH中。 MOV AL,12H ; ADD AL,56H ;DAA ;MOV AH,AL 40、A/D和D/A转换器在微机应用中分别起什么作用?
41、地译码电路74LS138的各引脚的连接如图所示,试分析YO—Y7的地址范围。
第 - 13 - 页 共 -21- 页
M/IO A19 A18 A17 A16 A15 A14
A13 + G2B G2A G1 A B C Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
G2A G1 C B A
A19~17 A16 A15 A14 A13 A12--A0
0~0 1 0 0 0 X~~~X Y0=0 10000H~11FFFH 0~0 1 0 0 1 X~~~X Y1=0 12000H~13FFFH 0~0 1 0 1 0 X~~~X Y2=0 14000H~15FFFH 0~0 1 0 1 1 X~~~X Y3=0 16000H~17FFFH 0~0 1 1 0 0 X~~~X Y4=0 18000H~19FFFH 0~0 1 1 0 1 X~~~X Y5=0 1A000H~1BFFFH 0~0 1 1 1 0 X~~~X Y6=0 1C000H~1DFFFH 0~0 1 1 1 1 X~~~X Y7=0 1E000H~1FFFFH 42、8255的硬件电路如图所示,请回答如下问题:
(1)根据74LS138的输入逻辑计算出8255的四个端口地址。
(2)编写程序段,当8255A的PA0开关闭合时,B口发光二极管L0~L3灭,L4~L7亮。当8255A的PA0打开时,B口发光二极管L0~L7灭。
43、8255的硬件电路如图所示,请回答如下问题:
(1)根据74LS138的输入逻辑计算出8255的四个端口地址。
(2)编写程序段,当8255A的PA口某位开关闭合时,对应的B口发光二极管该位亮,当8255A的PA口
第 - 14 - 页 共 -21- 页
某位开关打开时,对应的B口发光二极管该位灭,要求对8255先初始化,然后编写完成要求的程序段。
(1)8255的四个端口地址80H-83H
(2)START: MOV AL,1001 X00XB ;8255初始化设置,A口方式0,输入;B口方式0,输出,C口任意; OUT 83H,AL
STATES:IN AL,80H ;读A口 OUT 81H,AL
JMP STATES ; 返回继续判断
1、8255的硬件电路如图所示,请回答如下问题:
(1)根据74LS138的输入逻辑计算出8255的四个端口地址,给出推算过程,无推算过程不给分。 (2)编写程序段,当8255A的PA口的PA0开关闭合时,B口发光二极管的PB0-PB3亮,PB4-PB7灭。当8255A的PA口的PA0开关打开时,B口发光二极管的PB0-PB3灭,PB4-PB7亮。程序为循环对A口的状态判断,根据A口的状态控制B的状态。要求对8255先初始化,然后编写完成要求的程序段。(注:可0可1的位设置为0,程序必须有注释,无注释减分)
1、 G1 G2A G2B C B A A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 1 0 0 0 0 1 0 0
1 0 0 0 0 1 0 1 1 0 0 0 0 1 1 0
第 - 15 - 页 共 -21- 页