已知一个存储器接口电路,求该存储系统的地址范围。例如
A11~A0
A11 ~A0
74LS138
Y0Y1Y2Y3Y4Y5Y6Y7
CS
A12
A13
A14
A15
A
B
C
G1
G2A
G2B
2732
A16
A17
A18
A19
IO/M &
G2B=0 则A16、A17、A18、A19都为1
G1 =1 则A15 为1
由于译码器取Y0,则A14A13A12只能取000
则地址范围为:
111110000……00~~111110001……11
即: F8000H~F8FFFH
地址范围为F8000H-F8FFFH。
某微机系统的8253通道2接有一发光二极管,要使发光二极管以点亮2秒,熄灭2秒的间隔工
作,其电路如图所示,试编写初始化程序。
8253
280H~283H CLK1 250KHz +5V
CS OUT1
A0 A0 CLK2
OUT2
A1 A1 GATE1
GATE2
8253控制字格式
SC1SC0=00选择计数通道0 RL1RL0=00 计数器锁存命令
SC1SC0=01选择计数通道1 RL1RL0=01 只读/写低8位数据
SC1SC0=10选择计数通道2 RL1RL0=10 只读/写高8位数据
SC1SC0=11非法 RL1RL0=11 读/写16位数据,先低8位后高8位
M2M1M0=000 8253工作在方式0 BCD=1,为BCD计数制
M2M1M0=001 8253工作在方式1 BCD=0,为二进制计数制
M2M1M0=10 8253工作在方式2
M2M1M0=11 8253工作在方式3
M2M1M0=100 8253工作在方式4
M2M1M0=101 8253工作在方式5
解: T=4s 则 f=1/T=0.25Hz
计数初值:N=250*1000/0.25=1000000
由于N>65536 故需要两个计数器,每个计数器初值为1000
程序如下:
STACK SEGMENT STACK
DB 200 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME SS:STACK,CS:CODE
START MOV AL,01110110B
MOV DX,283H
OUT DX,AL
MOV AL,10110110BOUT DX,AL
MOV DX,281H
MOV AX,1000
OUT DX,AL
MOV AL,AH
OUT DX,AL
MOV DX,282H
MOV AX,1000
OUT DX,AL
MOV AL,AH
OUT DX,AL
MOV AH,4CH
INT 21H
CODE ENDS
END START
1.下列指令执行完后,AX=__4__、BX=__7__、CX=__3__、DX=__4__。
MOV AX,3
MOV BX,3
MOV DX,8
MOV CX,4
AGN:INC AX
ADD BX,AX
SHR DX,1
LOOPE AGN
2.下列指令执行完后,AX= 4004H ,BX= 01B4H 。
MOV AX,1100H
MOV BX,6D16H
MOV CL,06H
ROL AX,CL
SHR BX,CL
3.下列指令执行完后,AX= 4620H 。
MOV AX,0119H
MOV CH,AH
ADD AL,AH
DAA
XCHG AL,CH
ADC AL,45H
DAA
MOV AH,AL
MOV AL,CH
4.下列指令执行完后,AX= 0030H 。
MOV AX,2030H
AND AX,00FFH
5.下列指令执行完后,AL= 50H 。
MOV AL,45H
MOV CL,4
SHL AL,CL
HLT
6.阅读程序,在空白处填空。
CMP BX,CX
JG L1;从本指令可知,BX、CX中为 有/ 带 符号数
JE L2
MOV SI,1;当BX 〈 CX时执行该分支
MP EXIT
L1:MOV SI,2;当BX 〉 CX时执行该分支
JMP EXIT
L2:MOV SI,3;当BX = CX时执行该分支
EXIT:┆
7.下列程序执行完后,AX= 7498H 。
MOV AX,6264H
AND AX,AX
JNZ DONE
SHL CX,3
ROR AX,CL
DONE:ADD AX,1234H
HLT
8.下列程序执行完后,AX= 6912H 。
MOV AX,5678H
MOV BX,1234H
ADD AL,BL
DAA
MOV CL,AL
MOV AL,AH
ADC AL,BH
DAA
MOV AH,AL
MOV AL,CL
HLT
9.已知数据段定义如下:
DATA SEGMENT
C1 DW ‘A3’,3AH
C2 DB 2DUP(4,‘B’)
C3 EQU $-C1
C4 DW 4321H,C3
DATA ENDS
请解答下列问题:
1 画出数据段在主存中的存放形式示意图。
②在下列各指令之后的空白处写出执行结果。
MOV AL,C2-2;AL= 3AH
MOV BL,C2+4 ;BL= 21H
MOV CX,C1+3 ;CX= 0400H
MOV DX,C4+2 ;DX= 0008H
10.阅读如下程序并回答问题
①主程序运行之后,以BUFB为首址的字节存储区中的内容是什么? 90、91、88、99、68(以BUFB为首址的字节存储区有5个单元)
②如果主程序中漏写了“INC DI”,运行结果如何?68、0、0、0、0
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
DATA SEGMENT
BUFA DB 10,20,30,50,90,60
DB 11,21,31,51,91,61
DB 22,24,69,88,12,10
DB 30,32,34,39,40,99
DB 40,48,68,41,40,41
M=6
N=5
BUFB DB N DUP(0)
位字符串是什么DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:MOV AX,DATA
MOV DS,AX
LEA SI,BUFA
LEA DI,BUFB
MOV CX,N
MOV DX,M
LOPA: CALL FMAX
MOV [ DI ],AL
INC DI
ADD SI,M
LOOP LOPA
MOV AH,4CH
INT 21H
FMAX PROC
┇
┇
FMAX ENDP
CODE ENDS
END START
子程序FMAX的功能是从M个8位无符号二进制数中出最大者送入AL中。入口参数:DX=M,SI=M个数的存储区首址,出口参数:AL=M个数中的最大者,SI未变。注:子程序FM
AX不破坏主程序的工作现场。
11.下列指令执行完后,AX= 0020H
TABLE DW 1000H,2000H,3000H,4000H,5000H
ENTRY DW 3
|
MOV BX,OFFSET TABLE
ADD BX,ENTRY
MOV AX,[ BX ]
HLT
12.什么情况下,下段程序执行结果是AH=0?从5FH端口输入的数大于7FH时,则AH=0
BEGIN:IN AL,5FH
TEST AL,80H
JZ BRCH1
MOV AH,0
JMP STOP
BRCH1:MOV AH,0FFH
STOP: HLT
13.执行下列指令后,AX=? 3000H
TABLE DW 10H,20H,30H,40H,50H
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论