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

make template

上级 f1d5ef01
添加文件
差异被折叠。
添加文件
差异被折叠。
差异被折叠。
# 说明 # 说明
空白项目 16 位 MIPS 理想五级流水线微处理器
# 使用方法
可根据需要自行添加原理图等文件。
添加文件
差异被折叠。
添加文件
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
添加文件
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
添加文件
差异被折叠。
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<project id="ac9de382-e5f9-49cb-8327-308b2d60f811" name="mips-pipeline" version="1">
<files>
<filefolder id="c0a181af-d67c-4dd0-9275-aa277475c77c" name="子模块">
<file relativepath="2mux1.dlsche"/>
<file relativepath="alu.dlsche"/>
<file relativepath="control.dlsche"/>
<file relativepath="8signto16.dlsche"/>
<file relativepath="reg.dlsche"/>
<file relativepath="regdst_mux.dlsche"/>
<file relativepath="3mux1.dlsche"/>
<file relativepath="adder.dlsche"/>
<file relativepath="pc_next.dlsche"/>
<file relativepath="al.dlsche"/>
<file relativepath="pc_monitor.dlsche"/>
</filefolder>
<filefolder id="2156f6c8-84d5-409f-859c-fddce752753a" name="存储器映射文件">
<file relativepath="rom.rxm"/>
</filefolder>
<filefolder id="3463ada9-1cc7-4838-ab12-f98af0a12bf2" name="源程序文件">
<file relativepath="rom.asm"/>
<file relativepath="rom.bat"/>
</filefolder>
<file relativepath="mips.dlsche"/>
<file relativepath="README.md"/>
</files>
</project>
添加文件
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览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>
添加文件
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
差异被折叠。
.text
addi $r0, $r0, 1 ;r0 = r0 + 1
addi $r1, $r1, 2 ;r1 = r1 + 2
addi $r3, $r3, 3 ;r3 = r3 + 3
SHIFT:
sllv $r1, $r1, $r0 ;r1 = r1 << r0
add $r3, $r3, $r1 ;r3 = r3 + r1
slt $r2, $r1, $r0 ;r2 = r1 < r0 ? 1 : 0;
beq $r2, $r2, NEXT ;if r2 == r2, goto NEXT
sub $r1, $r1, $r0 ;r1 = r1 - r0
NEXT:
lw $r0, 0($r1) ;r0 = memory[r1+0]
sw $r3, 0($r1) ;memory[r1+0] = r3
add $r1, $r1, $r0 ;r1 = r1 + r0
bne $r1, $r2, END ;if r1 != r2, goto END
END:
jump F1 ;goto SHIFT
sllv $r3, $r0, $r1 ;r3 = r0 << r1
F1:
sub $r2, $r2, $r3 ;r2 = r2 - r3
bgt $r3, $r2, F2 ;if r3 > r2, goto F2
add $r2, $r2, $r3 ;r2 = r2 + r3
F2:
ori $r1, $r1, 3 ;r1 = r1 | 3
srav $r3, $r3, $r1 ;r3 = r3 >> r1,
andi $r1, $r2, 4 ;r1 = r2 & 4
jump SHIFT ;goto SHIFT
@echo off
mipsasm.exe rom.asm -o rom.rxm -l rom.lst -g rom.dbg
pause
添加文件
0001 .text
0002
0003 00 50 01 addi $r0, $r0, 1 ;r0 = r0 + 1
0004 02 55 02 addi $r1, $r1, 2 ;r1 = r1 + 2
0005 04 5F 03 addi $r3, $r3, 3 ;r3 = r3 + 3
0006
0007
0008 SHIFT:
0009 06 04 44 sllv $r1, $r1, $r0 ;r1 = r1 << r0
0010 08 0D C2 add $r3, $r3, $r1 ;r3 = r3 + r1
0011
0012 0A 04 87 slt $r2, $r1, $r0 ;r2 = r1 < r0 ? 1 : 0;
0013 0C 8A 01 beq $r2, $r2, NEXT ;if r2 == r2, goto NEXT
0014 0E 04 43 sub $r1, $r1, $r0 ;r1 = r1 - r0
0015
0016 NEXT:
0017 10 64 00 lw $r0, 0($r1) ;r0 = memory[r1+0]
0018 12 77 00 sw $r3, 0($r1) ;memory[r1+0] = r3
0019
0020 14 04 42 add $r1, $r1, $r0 ;r1 = r1 + r0
0021 16 96 00 bne $r1, $r2, END ;if r1 != r2, goto END
0022
0023 END:
0024 18 B0 0E jump F1 ;goto SHIFT
0025 1A 01 C4 sllv $r3, $r0, $r1 ;r3 = r0 << r1
0026
0027 F1:
0028 1C 0B 83 sub $r2, $r2, $r3 ;r2 = r2 - r3
0029 1E AE 01 bgt $r3, $r2, F2 ;if r3 > r2, goto F2
0030 20 0B 82 add $r2, $r2, $r3 ;r2 = r2 + r3
0031
0032 F2:
0033 22 35 03 ori $r1, $r1, 3 ;r1 = r1 | 3
0034 24 0D C6 srav $r3, $r3, $r1 ;r3 = r3 >> r1,
0035 26 49 04 andi $r1, $r2, 4 ;r1 = r2 & 4
0036
0037 28 B0 03 jump SHIFT ;goto SHIFT
0038
0039
0040
0041
0042
添加文件
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论