Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
Hardware-IRQ
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
问题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
银宸大学计算机学院
教师群组
赵鹏翀-zpc
Hardware-IRQ
提交
41e78726
提交
41e78726
1月 18, 2019
创建
作者:
李川
提交者:
李川
1月 18, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改跳转微指令
上级
0bacfb98
全部展开
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
11 行增加
和
30 行删除
+11
-30
PC.dlsche
PC.dlsche
+0
-0
PC.dlsche.svg
PC.dlsche.svg
+0
-0
microasm.c
microasm.c
+7
-9
microasm.exe
microasm.exe
+0
-0
rom.dbg
rom.dbg
+0
-0
rom.lst
rom.lst
+0
-0
rom.masm
rom.masm
+2
-19
rom.rxm
rom.rxm
+2
-2
没有找到文件。
PC.dlsche
浏览文件 @
41e78726
没有这种文件类型的预览
PC.dlsche.svg
浏览文件 @
41e78726
差异被折叠。
点击展开。
microasm.c
浏览文件 @
41e78726
...
...
@@ -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
,
0xfff96f
e
f
}
// 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
,
0xfff96f
f
f
}
// 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
...
...
microasm.exe
浏览文件 @
41e78726
没有这种文件类型的预览
rom.dbg
浏览文件 @
41e78726
没有这种文件类型的预览
rom.lst
浏览文件 @
41e78726
差异被折叠。
点击展开。
rom.masm
浏览文件 @
41e78726
...
...
@@ -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
...
...
rom.rxm
浏览文件 @
41e78726
没有这种文件类型的预览
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论