1.执行下述指令片段后,IDT装在内存的什么地址?表的长度是多少?表中可以 存放多少个门描述符? IDTREGDW O1FFH. 0000H. 0001H LIDT IDTREG IDT起始地址为:00010000H 结束地址为:00010000H+01FFH=000101FFH。 表的长度为:01FFH+1=020OH字节=512字节 可以存放:512/8=64个描述符。 2假设8259的端口地址为50H、51H,试编写一段程序,将8259中的IRR、ISR、 IMR的内容读出送至存储器中REG_ARR开始的内存单元中 MOV AL. OAH 读出命令,P=0,RR=1,RIS=0,选IR ouT 50H. AL AL, 50H ;读IRR MOV [REG ARR], AL MOV AL, OBH ;读出命令,P=0,RR=1,RIS=1,选ISR OUT 50H. AL AL, 50H 读ISR MOV REG 1],AL 读IMR MOV [REG ARR+2, AL 3.图略 4.某微机系统只有一片8259,其端口地址为02C0H、02C1H,试编写初始化程序 要求:1)中断请求输入采用电平触发 2)IRo的中断类型码是16 3)采用缓冲器方式 4)采用普通的E0I命令 ICWI EQU 02COH ;端口地址 ICW2 EQU ICWl+l ICW3 EQU ICW2 ICW4 EQU ICW2 MOV AL,00011011B 电平触发,单片,需设置ICW4 ouT ICWl, AL 设置ICW1 NOP I/0端口延时 Mov AL, 10H 设置ICW2,中断类型码为16 OUT ICW2, AL MOV AL,00001101B 设置ICW4,缓冲方式,非自动结束 OUT ICW4A, AL NOP
1.执行下述指令片段后,IDT 装在内存的什么地址?表的长度是多少?表中可以 存放多少个门描述符? IDTREG DW 01FFH, 0000H, 0001H ... LIDT IDTREG IDT 起始地址为:00010000H, 结束地址为:00010000H+01FFH=000101FFH。 表的长度为:01FFH+1=0200H 字节=512 字节 可以存放:512/8=64 个描述符。 2.假设 8259 的端口地址为 50H、51H,试编写一段程序,将 8259 中的 IRR、ISR、 IMR 的内容读出送至存储器中 REG_ARR 开始的内存单元中 MOV AL, 0AH ;读出命令,P=0,RR=1,RIS=0,选 IRR OUT 50H, AL IN AL, 50H ;读 IRR MOV [REG_ARR], AL MOV AL, 0BH ;读出命令,P=0,RR=1,RIS=1,选 ISR OUT 50H, AL IN AL, 50H ;读 ISR MOV [REG_ARR+1], AL IN AL, 51H ;读 IMR MOV [REG_ARR+2], AL 3.图略 4.某微机系统只有一片 8259,其端口地址为 02C0H、02C1H,试编写初始化程序, 要求:1)中断请求输入采用电平触发 2)IR0 的中断类型码是 16 3)采用缓冲器方式 4)采用普通的 EOI 命令 ICW1 EQU 02C0H ;端口地址 ICW2 EQU ICW1+1 ICW3 EQU ICW2 ICW4 EQU ICW2 MOV AL,00011011B ;电平触发,单片,需设置ICW4 OUT ICW1,AL ;设置ICW1 NOP ;I/O端口延时 MOV AL,10H ;设置ICW2,中断类型码为16 OUT ICW2,AL NOP MOV AL,00001101B ;设置ICW4,缓冲方式,非自动结束 OUT ICW4A,AL NOP