INT 21H
DISPLAY PROC NEAR MOV CX,5 LEA SI,CONST LEA DI,DECS CONV3: MOV BL,0 LOP1: SUB AX,[SI] JC NEXT INC BL JMP LOP1 NEXT: ADD AX,[SI] OR BL,30H MOV [DI],BL INC SI INC SI INC DI
LOOP CONV3 MOV AH,02H MOV CX,5 LEA DI,DECS CONV4: MOV DL,[DI]
CMP DL,30H JZ NODIS JMP DISP NODIS: INC DI
LOOP CONV4 DISP: INT 21H CMP CX,0 JZ QUIT INC DI
MOV DL,[DI] LOOP DISP QUIT: RET DISPLAY ENDP
CODE ENDS
END START
4-19 内存BLOCK开始,存放着256个字节的带符号数.编写程序,从这些数中找
出绝对值最大的数,将其放入MAX中. 解:
DATA SEGMENT
BLOCK DB -1, -3, 2, 5, -4, -7, -8,9,10,-124 COUNT EQU $-BLOCK MAX DB ? MAX1 DB ?
DATA ENDS
STACK1 SEGMENT PARA STACK DB 100 DUP(0) STACK1 ENDS CODE SEGMENT
ASSUME CS:CODE, DS:DATA,SS:STACK1 START: MOV AX, DATA MOV DS, AX
MOV SI, OFFSET BLOCK MOV CX, COUNT MOV BL,[SI] CMP BL, 0 JL ABS1 JMP CON1 ABS1: NEG BL CON1: DEC CX LOP: INC SI MOV AL,[SI] CMP AL, 0 JL ABS2 JMP CON2 ABS2: NEG AL
CON2: CMP BL, AL JAE JUST1 XCHG BL, AL MOV DI,SI JUST1: DEC CX JNZ LOP MOV BH,[DI] MOV MAX,BH MOV MAX1, BL MOV AH, 4CH INT 21H CODE ENDS
END START
j 第五章 存储器
5-7 若用1024*1b的RAM芯片组成16K*8b的存储器,,需要多少芯片?在地址线中有多少位参与片内寻址?多少位用做芯片组选择信号? 解:
先进行位扩展,一组芯片需要8片 再进行字扩展,需要16组芯片. 所以共需要16*8=128片
1024=1K,需要10位参与片内寻址 16=24,需要4位做选择信号.
5-8 试用4K*8b的EPROM2732和8K*8b的SRAM6264,以及74LS138译码器,构成一个8KB的ROM,32KB的RAM存储系统,要求设计存储器扩展电路,并指出每片存储芯片的地址范围. 解:
芯片1#2#3#4#5#6#型号273227326264626462646264片选译码A15~A13000000001010011100 片内译码A1201A11~A000?0~11?100?0~11?1地址范围0000H~0FFFH1000H~1FFFH2000H~3FFFH4000H~5FFFH6000H~7FFFH8000H~9FFFH
i5-9 用EPROM2764(8K*8b)和SRAM6264(8k*8b)各一片组成存储器,其地址范围为FC000~FFFFFH,试画出存储器与CPU的连接图和片选信号译码电路(CPU地址线20位,数据线8位)。 1111 1100 0000 0000 0000 1111 1101 1111 1111 1111 1111 1110 0000 0000 0000 1111 1111 1111 1111 1111
5-10 现有存储芯片:2K*1b的ROM和4K*1bde RAM,若用它们组成容量为16KB的存储器,前4KB为ROM,后12KB为RAM,问各种存储芯片分别用多少片? 解:
4KB=4K*8b 需要2*8=16片 12KB=12K*8b 需要3*8=24片
第六章 中断技术
6-18 某系统使用一片8259A管理中断,中断请求由IR2引入,采用电平触发、完全嵌套、普通EOI结束方式,中断类型号为42H,端口地址为80H和81H,试画出8259A与CPU的硬件连接图,并编写初始化程序。 解:
电路图参见教材P178图6-19,CS由A19-A1=0000 0000 0000 1000 000和M/IO给
m出低电平。
MOV AL, 1BH(00011011B)
OUT 80H, AL ;设置ICW1 MOV AL, 40H(01000000B)
OUT 81H, AL :设置ICW2 MOV AL, 01H(00000001B)
OUT 81H, AL :设置ICW4 MOV AL, FBH(11111011B)
OUT 81H, AL ; 设置OCW1
6-19 某系统使用两片8259A管理中断,从片的INT连接到主片的IR2请求输入端。设主片工作于边沿触发、特殊完全嵌套、非自动结束和非缓冲方式,中断类型号为70H,端口地址为80H和81H;从片工作与边沿触发、完全嵌套、非自动结束和非缓冲方式,中断类型号为40H,端口地址为20H和21H。要求: (1)画出主、从片级联图
(2)编写主、从片初始化程序 解:
电路图参见教材P179图6-21,主片CS由A19-A1=0000 0000 0000 1000 000和M/IO给出低电平,从片CS由A19-A1=0000 0000 0000 0010 000和M/IO给出低电平。
主片8259A
MOV AL,11H(00010001B) OUT 80H, AL ;定义ICW1 MOV AL, 70H(01110000B) OUT 81H, AL ;定义ICW2 MOV AL, 04H(00000100B) OUT 81H, AL ;定义ICW3 MOV AL, 11H(00010001B) OUT 81H, AL ;定义ICW4 MOV AL, FBH(11111011B) OUT 81H, AL ;定义OCW1
(开放从片IR2的请求) IN AL, 81H
AND AL, 11111011 OUT 81H, AL
从片8259A
MOV AL,11H(00010001B) OUT 20H, AL ;定义ICW1 MOV AL, 40H(01000000B) OUT 21H, AL ;定义ICW2 MOV AL, 02H(00000010B) OUT 21H, AL ;定义ICW3 MOV AL, 01H(00000001B) OUT 21H, AL ;定义ICW4
6-20 某系统由8259A的IR2引入外设中断请求(跳变信号有效),要求当CPU响应IR2请求时,输出显示字符串“****”,并中断10次退出,试编写主程序和中断服务程序。 解:
设8259A的I/O地址为20H,21H,中断类型号0AH,从IR2引入 DATA SEGMENT
MESS DB '*****',OAH,ODH,'$' INTA00 EQU 0020H INTA01 EQU 0021H DATA ENDS
STACK SEGMENT STACK DB 100H DUP (?) STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK MAIN:MOV AX,DATA MOV DS,AX
MOV DX,INTA00 ;8259A初始化 MOV AL,13H ;写ICW1 OUT DX,AL
MOV DX,INTA01
MOV AL,08H ;写ICW2 OUT DX,AL
MOV AL,01H ;写ICW4 OUT DX,AL PUSH DS
MOV AX,SEG INT-P ;设置中断矢量
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库微机原理与接口技术作业答案(3)在线全文阅读。
相关推荐: