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

Merge branch 'fix-many' into 'master'

fix alu and CF flag See merge request engintime/Dream-Logic/Project-Template/DM1000/DM1000!16
没有这种文件类型的预览
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
没有这种文件类型的预览
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
没有这种文件类型的预览
差异被折叠。
......@@ -143,9 +143,9 @@ struct PATH_INSTRUCTION_OPERAND_ENTRY path_operand_table[] =
{ NULL, NULL, 0x0 } // 未用
// 注意:在本文档中,所有微指令编码都是从低字节到高字节的顺序编码的。
// 以取指微指令path [pc], ir为例,它的32位编码,从低字节到高字节依次为:[7:0]=ff,[15:8]=f9,[23:16]=3f, [31:24]=ef;
// 以取指微指令 path [pc], ir 为例,它的32位编码,从低字节到高字节依次为:[7:0]=ef,[15:8]=3f,[23:16]=f9, [31:24]=ff;
// 而在DM1000中,按照阅读习惯,将高位字节放在前面,低位字节放在后面。
// 因此,在源代码窗口和存储器窗口中显示的是“ef 3f f9 ff”,即微指令编码[31:0]=ef3ff9ff。
// 因此,在源代码窗口和存储器窗口中显示的是“ef 3f f9 ff”,即微指令编码[31:0]=fff93fef。
,{ &pc_main_memory_keyword, &ir_register_keyword, 0xfff93fef } // path [pc], ir
,{ &alu_add_keyword, &a_register_keyword, 0x99e4ffef } // path alu_add, a
......
; 示例程序
.text
mov r0,16 ;将立即数16传送到寄存器r0
mov a, num ;将标号num指定的存储单元内容复制到累加器a
add a, r0 ;将累加器a与寄存器r0相加,结果写回a
mov r0, 16 ;将立即数 16 传送到寄存器 r0
mov a, num ;将标号 num 指定的存储单元内容复制到累加器 a
add a, r0 ;将累加器 a 与寄存器 r0 相加,结果写回 a
Endless_Loop:
jmp Endless_Loop ;死循环
......
0001 ; 示例程序
0002
0003 .text
0004 00 8C 10 mov r0,16 ;将立即数16传送到寄存器r0
0005 02 78 07 mov a, num ;将标号num指定的存储单元内容复制到累加器a
0006 04 10 add a, r0 ;将累加器a与寄存器r0相加,结果写回a
0004 00 8C 10 mov r0, 16 ;将立即数 16 传送到寄存器 r0
0005 02 78 07 mov a, num ;将标号 num 指定的存储单元内容复制到累加器 a
0006 04 10 add a, r0 ;将累加器 a 与寄存器 r0 相加,结果写回 a
0007
0008 Endless_Loop:
0009 05 AC 05 jmp Endless_Loop ;死循环
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论