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[] =
,{
&
csp_counter_keyword
,
&
mar_register_keyword
,
0xfff8f7ef
}
// path csp, mar
,{
&
csp_counter_keyword
,
&
sp_register_keyword
,
0xfff8feef
}
// path csp, sp
,{
&
sp_inc_keyword
,
&
csp_counter_keyword
,
0xffffffe7
}
// path sp_
add
, csp
,{
&
sp_dec_keyword
,
&
csp_counter_keyword
,
0xffffffef
}
// path sp_
minus
, csp
,{
&
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指向的内存
,{
&
asr_register_keyword
,
&
pc_register_keyword
,
0xfff7efef
}
// path asr, pc
...
...
ram.asm
浏览文件 @
d98e0c12
; 示例程序
.
text
mov
sp
,
0xf8
;初始化
堆栈指针寄存器
;=======================================================
;安装中断向量,安装中断的过程是将各个中断服务程序的入口地址(首地址)保存到对应中断向量指向的存储单元中。
;中断向量本身是一个地址,它指向一个存储单元,该存储单元保存的就是某个中断服务程序的入口地址(起始地址)
;设中断向量列表的首地址为0xf8,即第一个中断向量是存储单元0xf8
;安装0号中断向量0xf8,0xf8中保存0号中断服务程序的入口地址
lea
a
,
int_0
mov
r0
,
0xf8
mov
[r0],
a
;安装3号中断向量0xfb,0xfb中保存3号中断服务程序的入口地址
lea
a
,
int_3
mov
r0
,
0xfb
mov
[r0],
a
;安装5号中断向量0xfd,0xfd中保存5号中断服务程序的入口地址
lea
a
,
int_5
mov
r0
,
0xfd
mov
[r0],
a
;=======================================================
;主程序代码
mov
a
,
-
1
LOOPC
:
mov
r0
,
1
add
a
,
r0
jmp
LOOPC
;=======================================================
;中断服务程序
;0号中断的服务程序
int_0
:
mov
a
,
0x10
adc
a
,
-
1
iret
;3号中断的服务程序
int_3
:
mov
a
,
0x13
or
a
,
[r0]
sbb
a
,
-
1
iret
;5号中断的服务程序
int_5
:
mov
r2
,
3
mov
a
,
1
and
a
,
r2
iret
; 示例程序
.
text
mov
sp
,
0xf8
;初始化
栈指针寄存器
;=======================================================
;安装中断向量,安装中断的过程是将各个中断服务程序的入口地址(首地址)保存到对应中断向量指向的存储单元中。
;中断向量本身是一个地址,它指向一个存储单元,该存储单元保存的就是某个中断服务程序的入口地址(起始地址)
;设中断向量列表的首地址为0xf8,即第一个中断向量是存储单元0xf8
;安装0号中断向量0xf8,0xf8中保存0号中断服务程序的入口地址
lea
a
,
int_0
mov
r0
,
0xf8
mov
[r0],
a
;安装3号中断向量0xfb,0xfb中保存3号中断服务程序的入口地址
lea
a
,
int_3
mov
r0
,
0xfb
mov
[r0],
a
;安装5号中断向量0xfd,0xfd中保存5号中断服务程序的入口地址
lea
a
,
int_5
mov
r0
,
0xfd
mov
[r0],
a
;=======================================================
;主程序代码
mov
a
,
-
1
LOOPC
:
mov
r0
,
1
add
a
,
r0
jmp
LOOPC
;=======================================================
;中断服务程序
;0号中断的服务程序
int_0
:
mov
a
,
0x10
adc
a
,
-
1
iret
;3号中断的服务程序
int_3
:
mov
a
,
0x13
or
a
,
[r0]
sbb
a
,
-
1
iret
;5号中断的服务程序
int_5
:
mov
r2
,
3
mov
a
,
1
and
a
,
r2
iret
ram.lst
浏览文件 @
d98e0c12
0001 ; 示例程序
0002
0003 .text
0004
0005 00 9C F8 mov sp, 0xf8 ;初始化
堆栈指针寄存器
0006
0007 ;=======================================================
0008 ;安装中断向量,安装中断的过程是将各个中断服务程序的入口地址(首地址)保存到对应中断向量指向的存储单元中。
0009 ;中断向量本身是一个地址,它指向一个存储单元,该存储单元保存的就是某个中断服务程序的入口地址(起始地址)
0010 ;设中断向量列表的首地址为0xf8,即第一个中断向量是存储单元0xf8
0011
0012 ;安装0号中断向量0xf8,0xf8中保存0号中断服务程序的入口地址
0013 02 98 18 lea a, int_0
0014 04 8C F8 mov r0, 0xf8
0015 06 84 mov [r0], a
0016
0017
0018 ;安装3号中断向量0xfb,0xfb中保存3号中断服务程序的入口地址
0019 07 98 1D lea a, int_3
0020 09 8C FB mov r0, 0xfb
0021 0B 84 mov [r0], a
0022
0023
0024 ;安装5号中断向量0xfd,0xfd中保存5号中断服务程序的入口地址
0025 0C 98 23 lea a, int_5
0026 0E 8C FD mov r0, 0xfd
0027 10 84 mov [r0], a
0028
0029
0030 ;=======================================================
0031 ;主程序代码
0032
0033 11 7C FF mov a, -1
0034
0035 LOOPC:
0036 13 8C 01 mov r0, 1
0037 15 10 add a, r0
0038
0039 16 AC 13 jmp LOOPC
0040
0041
0042 ;=======================================================
0043 ;中断服务程序
0044 ;0号中断的服务程序
0045 int_0:
0046 18 7C 10 mov a, 0x10
0047 1A 2C FF adc a, -1
0048 1C F8 iret
0049
0050
0051 ;3号中断的服务程序
0052 int_3:
0053 1D 7C 13 mov a, 0x13
0054 1F 64 or a, [r0]
0055 20 4C FF sbb a, -1
0056 22 F8 iret
0057
0058
0059 ;5号中断的服务程序
0060 int_5:
0061 23 8E 03 mov r2, 3
0062 25 7C 01 mov a, 1
0063 27 52 and a, r2
0064 28 F8 iret
0065
0001 ; 示例程序
0002
0003 .text
0004
0005 00 9C F8 mov sp, 0xf8 ;初始化
栈指针寄存器
0006
0007 ;=======================================================
0008 ;安装中断向量,安装中断的过程是将各个中断服务程序的入口地址(首地址)保存到对应中断向量指向的存储单元中。
0009 ;中断向量本身是一个地址,它指向一个存储单元,该存储单元保存的就是某个中断服务程序的入口地址(起始地址)
0010 ;设中断向量列表的首地址为0xf8,即第一个中断向量是存储单元0xf8
0011
0012 ;安装0号中断向量0xf8,0xf8中保存0号中断服务程序的入口地址
0013 02 98 18 lea a, int_0
0014 04 8C F8 mov r0, 0xf8
0015 06 84 mov [r0], a
0016
0017
0018 ;安装3号中断向量0xfb,0xfb中保存3号中断服务程序的入口地址
0019 07 98 1D lea a, int_3
0020 09 8C FB mov r0, 0xfb
0021 0B 84 mov [r0], a
0022
0023
0024 ;安装5号中断向量0xfd,0xfd中保存5号中断服务程序的入口地址
0025 0C 98 23 lea a, int_5
0026 0E 8C FD mov r0, 0xfd
0027 10 84 mov [r0], a
0028
0029
0030 ;=======================================================
0031 ;主程序代码
0032
0033 11 7C FF mov a, -1
0034
0035 LOOPC:
0036 13 8C 01 mov r0, 1
0037 15 10 add a, r0
0038
0039 16 AC 13 jmp LOOPC
0040
0041
0042 ;=======================================================
0043 ;中断服务程序
0044 ;0号中断的服务程序
0045 int_0:
0046 18 7C 10 mov a, 0x10
0047 1A 2C FF adc a, -1
0048 1C F8 iret
0049
0050
0051 ;3号中断的服务程序
0052 int_3:
0053 1D 7C 13 mov a, 0x13
0054 1F 64 or a, [r0]
0055 20 4C FF sbb a, -1
0056 22 F8 iret
0057
0058
0059 ;5号中断的服务程序
0060 int_5:
0061 23 8E 03 mov r2, 3
0062 25 7C 01 mov a, 1
0063 27 52 and a, r2
0064 28 F8 iret
0065
rom.dbg
浏览文件 @
d98e0c12
没有这种文件类型的预览
rom.lst
浏览文件 @
d98e0c12
差异被折叠。
点击展开。
rom.masm
浏览文件 @
d98e0c12
差异被折叠。
点击展开。
rom.rxm
浏览文件 @
d98e0c12
没有这种文件类型的预览
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论