提交 40869280 创建 作者: 赵鹏翀's avatar 赵鹏翀

Merge branch 'j' into 'master'

修改跳转微指令和alu原理图 See merge request !8
没有这种文件类型的预览
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
没有这种文件类型的预览
......@@ -1235,7 +1235,7 @@
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1708" x2="1808" y1="4458" y2="4458"/>
<text alignment-baseline="after-edge" fill="#000080" font-family="微软雅黑" font-size="30" font-weight="700" text-anchor="start" x="1649" y="4478">1</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="微软雅黑" font-size="30" font-weight="700" text-anchor="start" x="1648" y="4479">0</text>
<rect fill="#ffffff" fill-opacity="0.5" height="60" stroke="#800000" stroke-width="5" width="100" x="1608" y="4428"/>
......
没有这种文件类型的预览
差异被折叠。
......@@ -89,9 +89,7 @@ const char* int_ia_keyword = "int_ia";
// 访问主存或外设的操作数
const char* pc_main_memory_keyword = "[pc]";
const char* pc_inc_main_memory_keyword = "[pc+]"; // 读出PC指向内存单元的值,同时允许PC加1
const char* mar_main_memory_keyword = "[mar]";
const char* mar_extern_memory_keyword = "<mar>";
const char* delimit_char = "\n\t\r "; // 需要忽略的空白字符
......@@ -171,22 +169,22 @@ struct PATH_INSTRUCTION_OPERAND_ENTRY path_operand_table[] =
,{ &a_register_keyword, &rx_register_keyword, 0xd0b4ffef } // path a, rx
,{ &a_register_keyword, &mar_main_memory_keyword, 0xd0f4fbed } // path a, [mar] 将a寄存器数据写入地址寄存器指向的内存
,{ &pc_main_memory_keyword, &rx_register_keyword, 0xffb97fef } // path [pc], rx
,{ &mar_extern_memory_keyword, &a_register_keyword, 0xbff97fef } // path <mar>, a 从地址寄存器指定的外部设备读数据到a寄存器
,{ &alu_aout_keyword, &mar_main_memory_keyword, 0xd0f4fbec } // path alu_aout, [mar]
,{ &pc_main_memory_keyword, &pc_register_keyword, 0xfff96fef } // path [pc], pc
,{ &pc_inc_main_memory_keyword, &pc_register_keyword, 0xfff96fff } // path [+pc], pc 读出PC指向主存单元的内容,同时允许PC加1,主要用在jz和jc指令中
,{ &pc_main_memory_keyword, &pc_register_keyword, 0xfff96fff } // path [pc], pc
,{ &pc_register_keyword, &sp_register_keyword, 0xfff3feef } // path pc, sp
,{ &ia_register_keyword, &mar_register_keyword, 0xfff1f7ef } // path ia, mar
,{ &pc_register_keyword, &mar_register_keyword, 0xfff3f7ef } // path pc, mar
,{ &rin_register_keyword, &a_register_keyword, 0xbff0ffef } // path rin, a
,{ &a_register_keyword, &rout_register_keyword, 0xd0f4ffee } // path a, rout
,{ &mar_main_memory_keyword, &pc_register_keyword, 0xfff9ebef } // 从地址寄存器指定的内存单元读数据到程序计数器pc
,{ &pc_main_memory_keyword, &sp_register_keyword, 0xfff97eef } // path [pc], sp 执行后pc应加1指向下一条指令
,{ &mar_main_memory_keyword, &pc_register_keyword, 0xfff9ebef } // path [mar], pc 从地址寄存器指定的内存单元读数据到程序计数器pc
,{ &pc_main_memory_keyword, &sp_register_keyword, 0xfff97eef } // path [pc], sp
,{ &sp_register_keyword, &mar_register_keyword, 0xfff2f7ef } // path sp, mar
,{ &sp_register_keyword, &csp_counter_keyword, 0xff72ffef } // path sp, csp
,{ &pc_main_memory_keyword, &ia_register_keyword, 0xfff97feb } // path [pc], ia 执行后pc应加1指向下一条指令
,{ &pc_main_memory_keyword, &ia_register_keyword, 0xfff97feb } // path [pc], ia
,{ &pc_main_memory_keyword, &asr_register_keyword, 0xfff97def } // path [pc], asr
,{ &csp_counter_keyword, &mar_register_keyword, 0xfff8f7ef } // path csp, mar
......@@ -195,7 +193,7 @@ struct PATH_INSTRUCTION_OPERAND_ENTRY path_operand_table[] =
,{ &sp_inc_keyword, &csp_counter_keyword, 0xffffffe7 } // path sp_inc, csp
,{ &sp_dec_keyword, &csp_counter_keyword, 0xffffffef } // path sp_dec, csp
,{ &pc_register_keyword, &mar_main_memory_keyword, 0xfff3fbed } // path pc, [mar] 将pc值写入mar指向的内存
,{ &pc_register_keyword, &mar_main_memory_keyword, 0xfff3fbed } // path pc, [mar] 将pc值写入mar指向的存储单元
,{ &asr_register_keyword, &pc_register_keyword, 0xfff7efef } // path asr, pc
,{ &sp_register_keyword, &asr_register_keyword, 0xfff2fdef } // path sp, asr
......
没有这种文件类型的预览
没有这种文件类型的预览
差异被折叠。
......@@ -323,25 +323,8 @@ reset upc
dup 3, null
; read a, symbol
inc pc
path [pc], mar
path <mar>, a
inc pc
ask_for_int
reset upc
dup 2, null
; write symbol, a
inc pc
path [pc], mar
path alu_aout, [mar]
inc pc
ask_for_int
reset upc
dup 2, null
; 空白存储块
dup 16, null
; lea a, symbol
inc pc
......
没有这种文件类型的预览
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论