Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
Hardware-IRQ
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
问题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
银宸时代
Dream Logic Group
实验项目模板
计算机组成原理
Hardware-IRQ
提交
d98e0c12
提交
d98e0c12
12月 10, 2018
创建
作者:
赵鹏翀
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
layout net
上级
6f4cccaf
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
134 行增加
和
134 行删除
+134
-134
Hardware-IRQ.dlsche
Hardware-IRQ.dlsche
+0
-0
Hardware-IRQ.dlsche.svg
Hardware-IRQ.dlsche.svg
+0
-0
REG.dlsche
REG.dlsche
+0
-0
REG.dlsche.svg
REG.dlsche.svg
+0
-0
microasm.c
microasm.c
+2
-2
ram.asm
ram.asm
+65
-65
ram.lst
ram.lst
+65
-65
rom.dbg
rom.dbg
+0
-0
rom.lst
rom.lst
+0
-0
rom.masm
rom.masm
+0
-0
rom.rxm
rom.rxm
+2
-2
没有找到文件。
Hardware-IRQ.dlsche
浏览文件 @
d98e0c12
没有这种文件类型的预览
Hardware-IRQ.dlsche.svg
浏览文件 @
d98e0c12
这个 源代码变更 因为 太大 而不能显示。 你可以
浏览blob
。
REG.dlsche
浏览文件 @
d98e0c12
没有这种文件类型的预览
REG.dlsche.svg
浏览文件 @
d98e0c12
这个 源代码变更 因为 太大 而不能显示。 你可以
浏览blob
。
microasm.c
浏览文件 @
d98e0c12
...
@@ -194,8 +194,8 @@ struct PATH_INSTRUCTION_OPERAND_ENTRY path_operand_table[] =
...
@@ -194,8 +194,8 @@ struct PATH_INSTRUCTION_OPERAND_ENTRY path_operand_table[] =
,{
&
csp_counter_keyword
,
&
mar_register_keyword
,
0xfff8f7ef
}
// path csp, mar
,{
&
csp_counter_keyword
,
&
mar_register_keyword
,
0xfff8f7ef
}
// path csp, mar
,{
&
csp_counter_keyword
,
&
sp_register_keyword
,
0xfff8feef
}
// path csp, sp
,{
&
csp_counter_keyword
,
&
sp_register_keyword
,
0xfff8feef
}
// path csp, sp
,{
&
sp_inc_keyword
,
&
csp_counter_keyword
,
0xffffffe7
}
// path sp_
add
, csp
,{
&
sp_inc_keyword
,
&
csp_counter_keyword
,
0xffffffe7
}
// path sp_
inc
, csp
,{
&
sp_dec_keyword
,
&
csp_counter_keyword
,
0xffffffef
}
// path sp_
minus
, 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
,{
&
asr_register_keyword
,
&
pc_register_keyword
,
0xfff7efef
}
// path asr, pc
...
...
ram.asm
浏览文件 @
d98e0c12
; 示例程序
; 示例程序
.
text
.
text
mov
sp
,
0xf8
;初始化
堆栈指针寄存器
mov
sp
,
0xf8
;初始化
栈指针寄存器
;=======================================================
;=======================================================
;安装中断向量,安装中断的过程是将各个中断服务程序的入口地址(首地址)保存到对应中断向量指向的存储单元中。
;安装中断向量,安装中断的过程是将各个中断服务程序的入口地址(首地址)保存到对应中断向量指向的存储单元中。
;中断向量本身是一个地址,它指向一个存储单元,该存储单元保存的就是某个中断服务程序的入口地址(起始地址)
;中断向量本身是一个地址,它指向一个存储单元,该存储单元保存的就是某个中断服务程序的入口地址(起始地址)
;设中断向量列表的首地址为0xf8,即第一个中断向量是存储单元0xf8
;设中断向量列表的首地址为0xf8,即第一个中断向量是存储单元0xf8
;安装0号中断向量0xf8,0xf8中保存0号中断服务程序的入口地址
;安装0号中断向量0xf8,0xf8中保存0号中断服务程序的入口地址
lea
a
,
int_0
lea
a
,
int_0
mov
r0
,
0xf8
mov
r0
,
0xf8
mov
[r0],
a
mov
[r0],
a
;安装3号中断向量0xfb,0xfb中保存3号中断服务程序的入口地址
;安装3号中断向量0xfb,0xfb中保存3号中断服务程序的入口地址
lea
a
,
int_3
lea
a
,
int_3
mov
r0
,
0xfb
mov
r0
,
0xfb
mov
[r0],
a
mov
[r0],
a
;安装5号中断向量0xfd,0xfd中保存5号中断服务程序的入口地址
;安装5号中断向量0xfd,0xfd中保存5号中断服务程序的入口地址
lea
a
,
int_5
lea
a
,
int_5
mov
r0
,
0xfd
mov
r0
,
0xfd
mov
[r0],
a
mov
[r0],
a
;=======================================================
;=======================================================
;主程序代码
;主程序代码
mov
a
,
-
1
mov
a
,
-
1
LOOPC
:
LOOPC
:
mov
r0
,
1
mov
r0
,
1
add
a
,
r0
add
a
,
r0
jmp
LOOPC
jmp
LOOPC
;=======================================================
;=======================================================
;中断服务程序
;中断服务程序
;0号中断的服务程序
;0号中断的服务程序
int_0
:
int_0
:
mov
a
,
0x10
mov
a
,
0x10
adc
a
,
-
1
adc
a
,
-
1
iret
iret
;3号中断的服务程序
;3号中断的服务程序
int_3
:
int_3
:
mov
a
,
0x13
mov
a
,
0x13
or
a
,
[r0]
or
a
,
[r0]
sbb
a
,
-
1
sbb
a
,
-
1
iret
iret
;5号中断的服务程序
;5号中断的服务程序
int_5
:
int_5
:
mov
r2
,
3
mov
r2
,
3
mov
a
,
1
mov
a
,
1
and
a
,
r2
and
a
,
r2
iret
iret
ram.lst
浏览文件 @
d98e0c12
0001 ; 示例程序
0001 ; 示例程序
0002
0002
0003 .text
0003 .text
0004
0004
0005 00 9C F8 mov sp, 0xf8 ;初始化
堆栈指针寄存器
0005 00 9C F8 mov sp, 0xf8 ;初始化
栈指针寄存器
0006
0006
0007 ;=======================================================
0007 ;=======================================================
0008 ;安装中断向量,安装中断的过程是将各个中断服务程序的入口地址(首地址)保存到对应中断向量指向的存储单元中。
0008 ;安装中断向量,安装中断的过程是将各个中断服务程序的入口地址(首地址)保存到对应中断向量指向的存储单元中。
0009 ;中断向量本身是一个地址,它指向一个存储单元,该存储单元保存的就是某个中断服务程序的入口地址(起始地址)
0009 ;中断向量本身是一个地址,它指向一个存储单元,该存储单元保存的就是某个中断服务程序的入口地址(起始地址)
0010 ;设中断向量列表的首地址为0xf8,即第一个中断向量是存储单元0xf8
0010 ;设中断向量列表的首地址为0xf8,即第一个中断向量是存储单元0xf8
0011
0011
0012 ;安装0号中断向量0xf8,0xf8中保存0号中断服务程序的入口地址
0012 ;安装0号中断向量0xf8,0xf8中保存0号中断服务程序的入口地址
0013 02 98 18 lea a, int_0
0013 02 98 18 lea a, int_0
0014 04 8C F8 mov r0, 0xf8
0014 04 8C F8 mov r0, 0xf8
0015 06 84 mov [r0], a
0015 06 84 mov [r0], a
0016
0016
0017
0017
0018 ;安装3号中断向量0xfb,0xfb中保存3号中断服务程序的入口地址
0018 ;安装3号中断向量0xfb,0xfb中保存3号中断服务程序的入口地址
0019 07 98 1D lea a, int_3
0019 07 98 1D lea a, int_3
0020 09 8C FB mov r0, 0xfb
0020 09 8C FB mov r0, 0xfb
0021 0B 84 mov [r0], a
0021 0B 84 mov [r0], a
0022
0022
0023
0023
0024 ;安装5号中断向量0xfd,0xfd中保存5号中断服务程序的入口地址
0024 ;安装5号中断向量0xfd,0xfd中保存5号中断服务程序的入口地址
0025 0C 98 23 lea a, int_5
0025 0C 98 23 lea a, int_5
0026 0E 8C FD mov r0, 0xfd
0026 0E 8C FD mov r0, 0xfd
0027 10 84 mov [r0], a
0027 10 84 mov [r0], a
0028
0028
0029
0029
0030 ;=======================================================
0030 ;=======================================================
0031 ;主程序代码
0031 ;主程序代码
0032
0032
0033 11 7C FF mov a, -1
0033 11 7C FF mov a, -1
0034
0034
0035 LOOPC:
0035 LOOPC:
0036 13 8C 01 mov r0, 1
0036 13 8C 01 mov r0, 1
0037 15 10 add a, r0
0037 15 10 add a, r0
0038
0038
0039 16 AC 13 jmp LOOPC
0039 16 AC 13 jmp LOOPC
0040
0040
0041
0041
0042 ;=======================================================
0042 ;=======================================================
0043 ;中断服务程序
0043 ;中断服务程序
0044 ;0号中断的服务程序
0044 ;0号中断的服务程序
0045 int_0:
0045 int_0:
0046 18 7C 10 mov a, 0x10
0046 18 7C 10 mov a, 0x10
0047 1A 2C FF adc a, -1
0047 1A 2C FF adc a, -1
0048 1C F8 iret
0048 1C F8 iret
0049
0049
0050
0050
0051 ;3号中断的服务程序
0051 ;3号中断的服务程序
0052 int_3:
0052 int_3:
0053 1D 7C 13 mov a, 0x13
0053 1D 7C 13 mov a, 0x13
0054 1F 64 or a, [r0]
0054 1F 64 or a, [r0]
0055 20 4C FF sbb a, -1
0055 20 4C FF sbb a, -1
0056 22 F8 iret
0056 22 F8 iret
0057
0057
0058
0058
0059 ;5号中断的服务程序
0059 ;5号中断的服务程序
0060 int_5:
0060 int_5:
0061 23 8E 03 mov r2, 3
0061 23 8E 03 mov r2, 3
0062 25 7C 01 mov a, 1
0062 25 7C 01 mov a, 1
0063 27 52 and a, r2
0063 27 52 and a, r2
0064 28 F8 iret
0064 28 F8 iret
0065
0065
rom.dbg
浏览文件 @
d98e0c12
没有这种文件类型的预览
rom.lst
浏览文件 @
d98e0c12
差异被折叠。
点击展开。
rom.masm
浏览文件 @
d98e0c12
差异被折叠。
点击展开。
rom.rxm
浏览文件 @
d98e0c12
没有这种文件类型的预览
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论