Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
L
Lab006
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
问题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
银宸时代
Dream Logic Group
实验项目模板
微机原理与接口技术
Lab006
提交
e3793bf1
提交
e3793bf1
12月 04, 2018
创建
作者:
李川
提交者:
李川
12月 04, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改实验模板
上级
6c5ecf07
全部展开
显示空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
79 行增加
和
32 行删除
+79
-32
.gitmodules
.gitmodules
+3
-0
8237
8237
+1
-0
Lab006.dlproj
Lab006.dlproj
+10
-1
MEM.dlsche
MEM/MEM.dlsche
+0
-0
MEM.dlsche.svg
MEM/MEM.dlsche.svg
+0
-0
ram.asm
MEM/ram.asm
+30
-13
ram.dbg
MEM/ram.dbg
+0
-0
ram.lst
MEM/ram.lst
+35
-18
ram.rxm
MEM/ram.rxm
+0
-0
top.dlsche
top.dlsche
+0
-0
top.dlsche.svg
top.dlsche.svg
+0
-0
没有找到文件。
.gitmodules
浏览文件 @
e3793bf1
...
...
@@ -2,3 +2,6 @@
path = 8086
url = https://www.codecode.net/engintime/Dream-Logic/Intel-classic-chips/8086.git
branch = master
[submodule "8237"]
path = 8237
url = https://lichuan@www.codecode.net/engintime/Dream-Logic/Intel-classic-chips/8237.git
8237
@
2cb9d712
Subproject commit 2cb9d7127efb4cb4d91a7b7f91f0954054585c6d
Lab006.dlproj
浏览文件 @
e3793bf1
...
...
@@ -28,8 +28,17 @@
<file
relativepath=
"IO\IO.dlsche"
/>
<file
relativepath=
"IO\README.md"
/>
</filefolder>
<file
relativepath=
"top.dlsche"
/>
<filefolder
id=
"f94a044a-c2cb-4ab9-a5d7-fa4fa72823ca"
name=
"8237"
>
<file
relativepath=
"8237\8237A.dlsche"
/>
<file
relativepath=
"8237\8237A.pdf"
/>
<file
relativepath=
"8237\channel.dlsche"
/>
<file
relativepath=
"8237\fmall.dlsche"
/>
<file
relativepath=
"8237\README.md"
/>
<file
relativepath=
"8237\regs.dlsche"
/>
<file
relativepath=
"8237\write_read.dlsche"
/>
</filefolder>
<file
relativepath=
"README.md"
/>
<file
relativepath=
"top.dlsche"
/>
</files>
</project>
MEM/MEM.dlsche
浏览文件 @
e3793bf1
没有这种文件类型的预览
MEM/MEM.dlsche.svg
浏览文件 @
e3793bf1
差异被折叠。
点击展开。
MEM/ram.asm
浏览文件 @
e3793bf1
;
test
;
DMA存储器到存储器的传送测试程序
.
text
BEGIN
:
mov
al
,
0x1a
;8237初始化,在执行cmp指令时,通过DMA传送,将block2程序块传送到block1处,传送完成后,
;将执行block2程序块,而不是block1
mov
al
,
0xfc
out
0x8b
,
al
;写通道0模式寄存器,地址递减
mov
al
,
0x3f
out
0x80
,
al
;将传送源地址写入通道0的当前地址计数器中
mov
al
,
0xfd
out
0x8b
,
al
;写通道1模式寄存器,地址递减
mov
al
,
0x39
out
0x82
,
al
;将传送目的地址写入通道1的当前地址计数器中
mov
al
,
5
;传送6个字节,字节数从5到0
out
0x83
,
al
;将传送字节数写入通道1的当前字节计数器中
mov
al
,
1
out
0x88
,
al
;启动存储器到存储器之间的数据传送
UP
:
out
2
,
al
inc
al
cmp
al
,
0x84
jnz
UP
dec
al
DOWN
:
out
2
,
al
dec
al
cmp
al
,
0x19
jnz
DOWN
jmp
BEGIN
block1
:
mov
bl
,
0
add
bl
,
20
block2
:
mov
cl
,
1
adc
cl
,
2
jmp
UP
MEM/ram.dbg
浏览文件 @
e3793bf1
没有这种文件类型的预览
MEM/ram.lst
浏览文件 @
e3793bf1
0001 ;
test
0001 ;
DMA存储器到存储器的传送测试程序
0002 .text
0003
0004
BEGIN:
0005
10 01 00 1A mov al, 0x1a
0004
;8237初始化,在执行cmp指令时,通过DMA传送,将block2程序块传送到block1处,传送完成后,
0005
;将执行block2程序块,而不是block1
0006
0007
UP:
0008 13 4E 00
02 out 2, al
0009
16 78 00 inc al
0010 1
8 47 00 84 cmp al, 0x84
0011 1
B 55 13 jnz UP
0012
1D 79 00 dec al
0013
0014
DOWN:
0015
1F 4E 00 02 out 2, al
0016 22
79 00 dec al
0017 2
4 47 00 19 cmp al, 0x19
0018
27 55 1F jnz DOWN
0019 2
9 57 10 jmp BEGIN
0020
0007
10 01 00 FC mov al,0xfc
0008 13 4E 00
8B out 0x8b, al ;写通道0模式寄存器,地址递减
0009
0010 1
6 01 00 3F mov al, 0x3f
0011 1
9 4E 00 80 out 0x80, al ;将传送源地址写入通道0的当前地址计数器中
0012
0013
1C 01 00 FD mov al, 0xfd
0014
1F 4E 00 8B out 0x8b, al ;写通道1模式寄存器,地址递减
0015
0016 22
01 00 39 mov al, 0x39
0017 2
5 4E 00 82 out 0x82, al ;将传送目的地址写入通道1的当前地址计数器中
0018
0019 2
8 01 00 05 mov al, 5 ;传送6个字节,字节数从5到0
0020
2B 4E 00 83 out 0x83, al ;将传送字节数写入通道1的当前字节计数器中
0021
0022
0022 2E 01 00 01 mov al, 1
0023 31 4E 00 88 out 0x88, al ;启动存储器到存储器之间的数据传送
0024
0025 UP:
0026 34 78 00 inc al
0027 36 47 00 84 cmp al, 0x84
0028
0029 block1:
0030 39 01 01 00 mov bl, 0
0031 3C 0E 01 14 add bl, 20
0032
0033 block2:
0034 3F 01 02 01 mov cl, 1
0035 42 16 02 02 adc cl, 2
0036 45 57 34 jmp UP
0037
0038
0039
MEM/ram.rxm
浏览文件 @
e3793bf1
没有这种文件类型的预览
top.dlsche
浏览文件 @
e3793bf1
没有这种文件类型的预览
top.dlsche.svg
浏览文件 @
e3793bf1
差异被折叠。
点击展开。
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论