首页 > 试题广场 >

假设一家公司计划制造一台真正的LC-3计算机。为了让该汁算机

[问答题]
假设一家公司计划制造一台真正的LC-3计算机。为了让该汁算机能作在网络环境中,
们为它安装4个中断驱动类型的I/O设备链接。如果接收到服务请求,其中一个设备会向系统发出独立的中断请求信号(IRQ),结果是LC-3的中断控制寄在器INTCTL中的某个bit将被置位(INTCTL的内存映射地址为xFF00)。INTCTL寄存器的字段组成如下所示。当设备请求服务时,LC-3数据通路产生INT信号,中断服务程序将判断是哪个设备发出的服务请求,然后调用相应的设备服务子程序处理该请求。如果是多个设备同时发出IRQ信号,则只有优先级最高的设备先被处理。在子程序执行过程中,相应的INTCTL位将清掉。

如下所示是4个设备处理子程序起始地址的标识符:
HARDDISK  ETHERNET  PRINTER  CDROM
例如,优先级最高的设备“打印机”请求服务,则中断服务程序将通过如下指令调用打印机处理子程序:
JSRPRINTER
按照优先级规则,请填写标号为(a)~(k)处的指令,完成整个LC-3中断服务程序。优先级顺序如下所示(其中,数值越低,代表的设备优先级越高)。
(1)Hard disk;
(2)Ethernet card;
(3)Printer
(4)CD-ROM.
                     LDI         R1 , INTCLT
DEV0            LD          R2 , ---------(a)
                     AND       R2 , R2 , R1
                     BRnz      DEV1
                     JSR         -----------------(b)
                     ------------------------------(c)
;
DEV1            LD          R2 , -----------(d)
                     AND       R2 , R2 , R1
                     BRnz      DEV2
                     JSR         -----------------(e)
                     ------------------------------(f)
;
DEV2            LD          R2 , -----------(g)
                     AND       R2 , R2 , R1
                     BRnz      DEV1
                     JSR         -----------------(h)
                     ------------------------------(i)
;
DEV3           JSR          -----------------(j)
;
END             -------------------------------(k)
INNTCLT            .FILL         xFF00
MASK8               .FILL         x0008
MASK4               .FILL         x0004
MASK2               .FILL         x0002
MASK1               .FILL         x0001


这道题你会答吗?花几分钟告诉大家答案吧!