提交 da55accb 创建 作者: 赵鹏翀's avatar 赵鹏翀

make template

上级 f1d5ef01
添加文件
差异被折叠。
添加文件
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<project id="9f9ed1d6-0d0e-4f81-9f67-979cbbbdb80a" name="DM1000" version="1">
<files>
<filefolder id="a9f57fc8-c239-4574-a5da-f8fa2760024b" name="子模块">
<file relativepath="ALU.dlsche"/>
<file relativepath="PC.dlsche"/>
<file relativepath="REG.dlsche"/>
<file relativepath="MEM.dlsche"/>
<file relativepath="CU.dlsche"/>
<file relativepath="uPC_NEXT.dlsche"/>
</filefolder>
<filefolder id="80f1035e-e898-408b-bb0c-e69c72ad13b4" name="汇编源程序">
<file relativepath="ram.asm"/>
<file relativepath="ram.bat"/>
</filefolder>
<filefolder id="03f70f98-2bea-4829-91ee-a9e5f6ee0c87" name="微指令源程序">
<file relativepath="rom.masm"/>
<file relativepath="rom.bat"/>
</filefolder>
<filefolder id="be71b6f0-d920-4758-8b3a-3a343b490c2e" name="存储器映射文件">
<file relativepath="ram.rxm"/>
<file relativepath="rom.rxm"/>
</filefolder>
<file relativepath="DM1000.dlsche"/>
<file relativepath="README.md"/>
</files>
</project>
添加文件
差异被折叠。
添加文件
差异被折叠。
添加文件
差异被折叠。
# 说明
空白项目
# 使用方法
可根据需要自行添加原理图等文件。
DM1000 八位模型机
添加文件
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
差异被折叠。
添加文件
差异被折叠。
添加文件
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<project id="cc76dfb5-389b-4822-9a8a-ef2eed053645" name="project" version="1">
<files>
<file relativepath="README.md"/>
</files>
</project>
; ʾ
.text
mov r0, 16
mov a, num
add a, r0
Endless_Loop:
jmp Endless_Loop
.data
num: -1
@echo off
dmasm.exe ram.asm -o ram.rxm -l ram.lst -g ram.dbg
pause
添加文件
0001 ; ʾ
0002
0003 .text
0004
0005 00 8C 10 mov r0, 16
0006 02 78 07 mov a, num
0007 04 10 add a, r0
0008
0009 Endless_Loop:
0010 05 AC 05 jmp Endless_Loop ;ѭ
0011
0012 .data
0013
0014 07 FF num: -1
添加文件
@echo off
microasm.exe rom.masm -o rom.rxm -l rom.lst -g rom.dbg
pause
\ No newline at end of file
添加文件
差异被折叠。
; (C) 2008-2018 北京英真时代科技有限公司。保留所有权利。
; 所有指令的第一条微指令地址必须是8的倍数
; 取指微指令,所有指令的第一步均为取指操作,都要执行该条微指令
path [pc], ir
; 填充空白指令 01-1f
dup 31, null
; add a, rx
path rx, w
path alu_add, a
inc pc
reset upc
dup 4, null
; add a, [rx]
path rx, mar
path [mar], w
path alu_add, a
inc pc
reset upc
dup 3, null
; add a, symbol
inc pc
path [pc], mar
path [mar], w
path alu_add, a
inc pc
reset upc
dup 2, null
; add a, immediate
inc pc
path [pc], w
path alu_add, a
inc pc
reset upc
dup 3, null
; adc a, rx
path rx, w
path alu_adc, a
inc pc
reset upc
dup 4, null
; adc a, [rx]
path rx, mar
path [mar], w
path alu_adc, a
inc pc
reset upc
dup 3, null
; adc a, symbol
inc pc
path [pc], mar
path [mar], w
path alu_adc, a
inc pc
reset upc
dup 2, null
; adc a, immediate
inc pc
path [pc], w
path alu_adc, a
inc pc
reset upc
dup 3, null
; sub a, rx
path rx, w
path alu_sub, a
inc pc
reset upc
dup 4, null
; sub a, [rx]
path rx, mar
path [mar], w
path alu_sub, a
inc pc
reset upc
dup 3, null
; sub a, symbol
inc pc
path [pc], mar
path [mar], w
path alu_sub, a
inc pc
reset upc
dup 2, null
; sub a, immediate
inc pc
path [pc], w
path alu_sub, a
inc pc
reset upc
dup 3, null
; sbb a, rx
path rx, w
path alu_sbb, a
inc pc
reset upc
dup 4, null
; sbb a, [rx]
path rx, mar
path [mar], w
path alu_sbb, a
inc pc
reset upc
dup 3, null
; sbb a, symbol
inc pc
path [pc], mar
path [mar], w
path alu_sbb, a
inc pc
reset upc
dup 2, null
; sbb a, immediate
inc pc
path [pc], w
path alu_sbb, a
inc pc
reset upc
dup 3, null
; and a, rx
path rx, w
path alu_and a
inc pc
reset upc
dup 4, null
; and a, [rx]
path rx, mar
path [mar], w
path alu_and, a
inc pc
reset upc
dup 3, null
; and a, symbol
inc pc
path [pc], mar
path [mar], w
path alu_and, a
inc pc
reset upc
dup 2, null
; and a, immediate
inc pc
path [pc], w
path alu_and, a
inc pc
reset upc
dup 3, null
; or a, rx
path rx, w
path alu_or a
inc pc
reset upc
dup 4, null
; or a, [rx]
path rx, mar
path [mar], w
path alu_or, a
inc pc
reset upc
dup 3, null
; or a, symbol
inc pc
path [pc], mar
path [mar], w
path alu_or, a
inc pc
reset upc
dup 2, null
; or a, immediate
inc pc
path [pc], w
path alu_or, a
inc pc
reset upc
dup 3, null
; mov a, rx
path rx, a
inc pc
reset upc
dup 5, null
; mov a, [rx]
path rx, mar
path [mar], a
inc pc
reset upc
dup 4, null
; mov a, symbol
inc pc
path [pc], mar
path [mar], a
inc pc
reset upc
dup 3, null
; mov a, immediate
inc pc
path [pc], a
inc pc
reset upc
dup 4, null
; mov rx, a
path a, rx
inc pc
reset upc
dup 5, null
; mov [rx], a
path rx, mar
path a, [mar]
inc pc
reset upc
dup 4, null
; mov symbol, a
inc pc
path [pc], mar
path a, [mar]
inc pc
reset upc
dup 3, null
; mov rx, immediate
inc pc
path [pc], rx
inc pc
reset upc
dup 4, null
; read a, symbol
inc pc
path [pc], mar
path <mar>, a
inc pc
reset upc
dup 3, null
; write symbol, a
inc pc
path [pc], mar
path alu_aout, [mar]
inc pc
reset upc
dup 3, null
; lea a, symbol
inc pc
path [pc], a
inc pc
reset upc
dup 4, null
;mov st, immediate
inc pc
path [pc], st
inc pc
reset upc
dup 4, null
; jc symbol
inc pc
path [pc], pc
reset upc
dup 5, null
; jz symbol
inc pc
path [pc], pc
reset upc
dup 5, null
; 填充空白指令
dup 8, null
; jmp symbol
inc pc
path [pc], pc
reset upc
dup 5, null
; in
path rin, a
inc pc
reset upc
dup 5, null
; out
path a, rout
inc pc
reset upc
dup 5, null
; int immediate
inc pc
path [pc], ia
path st, cst
path st_minus, cst
path cst, st
path st, mar
inc pc
path pc, [mar]
path ia, mar
path [mar], pc
reset upc
dup 5, null
;
dup 16, null
; ret
path st, mar
path st, cst
path st_add, cst
path cst, st
path [mar], pc
reset upc
dup 2, null
; 填充空白指令
dup 8, null
; shr a
path alu_shr, a
inc pc
reset upc
dup 5, null
; shl a
path alu_shl, a
inc pc
reset upc
dup 5, null
; rcr a
path alu_rcr, a
inc pc
reset upc
dup 5, null
; rcl a
path alu_rcl, a
inc pc
reset upc
dup 5, null
; nop
inc pc
reset upc
dup 6, null
; not a
path alu_not, a
inc pc
reset upc
dup 5, null
; call symbol
inc pc
path [pc], asr
path st, cst
path st_minus, cst
path cst, st
path st, mar
inc pc
path pc, [mar]
path asr, pc
reset upc
dup 6, null
; 填充空白指令
dup 16, null
; iret
path st, mar
path st, cst
path st_add, cst
path cst, st
path [mar], pc
reset upc
dup 2, null
添加文件
添加文件
差异被折叠。
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论