提交 d9fb7ba6 创建 作者: 李川's avatar 李川

Merge branch 'lab6' into 'master'

修改汇编源程序文件ram See merge request !2
......@@ -32,7 +32,7 @@
<file relativepath="8237\8237A.dlsche"/>
<file relativepath="8237\8237A.pdf"/>
<file relativepath="8237\channel.dlsche"/>
<file relativepath="8237\fmall.dlsche"/>
<file relativepath="8237\fsm.dlsche"/>
<file relativepath="8237\README.md"/>
<file relativepath="8237\regs.dlsche"/>
<file relativepath="8237\write_read.dlsche"/>
......
......@@ -4,36 +4,35 @@
;8237初始化,在执行cmp指令时,通过DMA传送,将block2程序块传送到block1处,传送完成后,
;将执行block2程序块,而不是block1
mov al,0xfc
out 0x8b, al ;写通道0模式寄存器,地址递减
mov al,0xcc
out 0x8b, al ;写通道0的工作方式控制寄存器,地址递增
mov al, 0x3f
out 0x80, al ;将传送源地址写入通道0的当前地址计数器中
mov al, 0x3D
out 0x80, al ;将传送起始源地址写入通道0的当前地址计数器中
mov al, 0xfd
out 0x8b, al ;写通道1模式寄存器,地址递减
mov al, 0xcd
out 0x8b, al ;写通道1的工作方式控制寄存器,地址递增
mov al, 0x39
out 0x82, al ;将传送目的地址写入通道1的当前地址计数器中
mov al, 0x37
out 0x82, al ;将传送起始目的地址写入通道1的当前地址计数器中
mov al, 5 ;传送6个字节,字节数从5到0
out 0x83, al ;将传送字节数写入通道1的当前字节计数器中
mov al, 1
out 0x88, al ;启动存储器到存储器之间的数据传送
out 0x88, al ;写操作方式命令字寄存器,允许存储器到存储器之间的传送并启动数据传送
UP:
inc al
cmp al, 0x84
BEGIN: ;主程序开始
mov al, 0x15
block1:
mov bl, 0
add bl, 20
block2:
mov cl, 1
adc cl, 2
jmp UP
sub al, 3
adc al, 2
jmp BEGIN
没有这种文件类型的预览
......@@ -4,36 +4,35 @@
0004 ;8237初始化,在执行cmp指令时,通过DMA传送,将block2程序块传送到block1处,传送完成后,
0005 ;将执行block2程序块,而不是block1
0006
0007 10 01 00 FC mov al,0xfc
0008 13 4E 00 8B out 0x8b, al ;写通道0模式寄存器,地址递减
0007 10 01 00 CC mov al,0xcc
0008 13 4E 00 8B out 0x8b, al ;写通道0的工作方式控制寄存器,地址递增
0009
0010 16 01 00 3F mov al, 0x3f
0011 19 4E 00 80 out 0x80, al ;将传送源地址写入通道0的当前地址计数器中
0010 16 01 00 3D mov al, 0x3D
0011 19 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模式寄存器,地址递减
0013 1C 01 00 CD mov al, 0xcd
0014 1F 4E 00 8B out 0x8b, al ;写通道1的工作方式控制寄存器,地址递增
0015
0016 22 01 00 39 mov al, 0x39
0017 25 4E 00 82 out 0x82, al ;将传送目的地址写入通道1的当前地址计数器中
0016 22 01 00 37 mov al, 0x37
0017 25 4E 00 82 out 0x82, al ;将传送起始目的地址写入通道1的当前地址计数器中
0018
0019 28 01 00 05 mov al, 5 ;传送6个字节,字节数从5到0
0020 2B 4E 00 83 out 0x83, al ;将传送字节数写入通道1的当前字节计数器中
0021
0022 2E 01 00 01 mov al, 1
0023 31 4E 00 88 out 0x88, al ;启动存储器到存储器之间的数据传送
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
0025 BEGIN: ;主程序开始
0026 34 01 00 15 mov al, 0x15
0027
0028 block1:
0029 37 01 01 00 mov bl, 0
0030 3A 0E 01 14 add bl, 20
0031
0032 block2:
0033 3D 1E 00 03 sub al, 3
0034 40 16 00 02 adc al, 2
0035 43 57 34 jmp BEGIN
0036
0037
0038
0039
没有这种文件类型的预览
没有这种文件类型的预览
......@@ -465,7 +465,7 @@
<rect fill="#80ff80" height="1800" stroke="#800000" stroke-width="1" width="700" x="10019" y="1856"/>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="10019" y="1756">8237A</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="250" font-weight="700" text-anchor="start" x="10019" y="1756">8237A</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="10019" y="1806">8237\8237A.dlsche</text>
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论