提交 985799cf 创建 作者: 李川's avatar 李川

Merge branch 'hrq' into 'master'

修改硬中断处理微程序 See merge request !6
没有这种文件类型的预览
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
......@@ -85,9 +85,7 @@ const char* alu_not_keyword = "alu_not";
const char* sp_inc_keyword = "sp_inc";
const char* sp_dec_keyword = "sp_dec";
const char* int_number_keyword = "int_number"; // 中断号
const char* int_ia_keyword = "int_ia";
const char* int_pc_keyword = "[int_pc]";
const char* int_ia_keyword = "int_ia";
// 访问主存或外设的操作数
const char* pc_main_memory_keyword = "[pc]";
......@@ -201,9 +199,7 @@ struct PATH_INSTRUCTION_OPERAND_ENTRY path_operand_table[] =
,{ &asr_register_keyword, &pc_register_keyword, 0xfff7efef } // path asr, pc
,{ &sp_register_keyword, &asr_register_keyword, 0xfff2fdef } // path sp, asr
,{ &int_ia_keyword, &pc_register_keyword, 0xfff1dfef } // path int_ia, pc
,{ &int_pc_keyword, &pc_register_keyword, 0xfff95fef } // path int_pc, pc
,{ &int_number_keyword, &ia_register_keyword, 0xfffbffeb } // path int_number, ia 将中断号给ia寄存器
,{ &int_ia_keyword, &mar_register_keyword, 0xfff1f7ef } // path int_ia, mar
};
......
没有这种文件类型的预览
......@@ -513,8 +513,8 @@
0513 794 EF FF FB FF inta1 ;发出第一个中断应答信号,中断控制器保存最高优先级中断请求对应的编号(0~7)
0514 798 EB FF FC FF inta2 ;发出第二个中断应答信号,将响应中断的终端号读入IA寄存器中,并清除响应的中断请求,避免重复响应
0515
0516 79C EF DF F1 FF path int_ia, pc ;将中断向量(ia寄存器的内容)传入PC
0517 7A0 EF 5F F9 FF path [int_pc], pc ;读出中断向量中的内容(中断服务程序首地址),将其加载到PC,执行中断服务程序
0516 79C EF F7 F1 FF path int_ia, mar ;将中断向量(ia寄存器的内容)传入mar
0517 7A0 EF EB F9 FF path [mar], pc ;读出中断向量中的内容(中断服务程序首地址),将其加载到PC,执行中断服务程序
0518 7A4 CF FF FF FF reset upc
0519
0520 7A8 FF FF FF FF dup 6, null
......@@ -533,8 +533,3 @@
0533 7D4 EF FF FD FF eoi ;清除已经服务完的硬中断标志
0534 7D8 AF FF FF FF ask_for_int
0535 7DC CF FF FF FF reset upc
0536
0537 ;dup 1, null
0538
0539
0540
......@@ -513,8 +513,8 @@ path pc, [mar] ;将返回地址PC入栈
inta1 ;发出第一个中断应答信号,中断控制器保存最高优先级中断请求对应的编号(0~7)
inta2 ;发出第二个中断应答信号,将响应中断的终端号读入IA寄存器中,并清除响应的中断请求,避免重复响应
path int_ia, pc ;将中断向量(ia寄存器的内容)传入PC
path [int_pc], pc ;读出中断向量中的内容(中断服务程序首地址),将其加载到PC,执行中断服务程序
path int_ia, mar ;将中断向量(ia寄存器的内容)传入mar
path [mar], pc ;读出中断向量中的内容(中断服务程序首地址),将其加载到PC,执行中断服务程序
reset upc
dup 6, null
......
没有这种文件类型的预览
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论