New Hardware Git

This commit is contained in:
e2hang
2025-12-31 19:35:06 +08:00
commit aca5a8aab8
621 changed files with 254727 additions and 0 deletions

View File

@@ -0,0 +1,341 @@
#############################################################
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD>j,jal,jrָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ɷֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>15<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> revise date 2015/12/17 tiger
#############################################################
.text
addi $s1,$zero, 1 #<EFBFBD><EFBFBD><EFBFBD><EFBFBD>j,jal,jrָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ɷֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>15<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
j jmp_next1
addi $s1,$zero, 1
addi $s2,$zero, 2
addi $s3,$zero, 3
jmp_next1:
j jmp_next2
addi $s1,$zero, 1
addi $s2,$zero, 2
addi $s3,$zero, 3
jmp_next2:
j jmp_next3
addi $s1,$zero, 1
addi $s2,$zero, 2
addi $s3,$zero, 3
jmp_next3:
j jmp_next4
addi $s1,$zero, 1
addi $s2,$zero, 2
addi $s3,$zero, 3
jmp_next4:jal jmp_count
######################################
#<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>Ҫ֧<EFBFBD>ֳ<EFBFBD>addi,sll,add,syscall,srl,sll,sra,beq,j,syscall revise date:2015/12/16 tiger
.text
addi $s0,$zero,1 #<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD>ʼֵ1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1λ<EFBFBD>ظ<EFBFBD>15<EFBFBD>ε<EFBFBD>ֵ<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD>ֵ
addi $s1,$zero,1
sll $s1, $s1, 31 #<EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>31λ $s1=0x80000000
###################################################################
# <EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD><EFBFBD>
# <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ0x80000000 0x20000000 0x08000000 0x02000000 0x00800000 0x00200000 0x00080000 0x00020000 0x00008000 0x00002000 0x00000800 0x00000200 0x00000080 0x00000020 0x00000008 0x00000002 0x00000000
###################################################################
LogicalRightShift: #<EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ1<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>
add $a0,$0,$s1 #display $s1 #<EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ1<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>
addi $v0,$0,34 # display hex
syscall # we are out of here.
srl $s1, $s1, 2
beq $s1, $zero, shift_next1
j LogicalRightShift
shift_next1:
add $a0,$0,$s1 #display $s1
addi $v0,$0,34 # display hex
syscall # we are out of here.
###################################################################
# <EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD><EFBFBD>
# <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ0x00000004 0x00000010 0x00000040 0x00000100 0x00000400 0x00001000 0x00004000 0x00010000 0x00040000 0x00100000 0x00400000 0x01000000 0x04000000 0x10000000 0x40000000 0x00000000
###################################################################
addi $s1,$zero, 1 # <EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD><EFBFBD>
LogicalLeftShift: #<EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ1<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>
sll $s1, $s1, 2
add $a0,$0,$s1 #display $s1
addi $v0,$0,34 # display hex
syscall # we are out of here.
beq $s1, $zero, ArithRightShift
j LogicalLeftShift
###################################################################
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD><EFBFBD>
# <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ0x80000000 0xf0000000 0xff000000 0xfff00000 0xffff0000 0xfffff000 0xffffff00 0xfffffff0 0xffffffff
###################################################################
ArithRightShift: #<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD>ԣ<EFBFBD>#<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>80000000<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾΪF0000000,FF000000,FFF00000,FFFF0000ֱ<EFBFBD><EFBFBD>FFFFFFFF
addi $s1,$zero,1 # <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD><EFBFBD>
sll $s1, $s1, 31 #<EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>31λ $s1=0x80000000
add $a0,$0,$s1 #display $s1
addi $v0,$0,34 # display hex
syscall # we are out of here.
sra $s1, $s1, 3 #$s1=0X80000000-->0XF0000000
add $a0,$0,$s1 #display $s1
addi $v0,$0,34 # display hex
syscall # we are out of here.
sra $s1, $s1, 4 #0XF0000000-->0XFF000000
add $a0,$0,$s1 #display $s1
addi $v0,$0,34 # display hex
syscall # we are out of here.
sra $s1, $s1, 4 #0XFF000000-->0XFFF00000
add $a0,$0,$s1 #display $s1
addi $v0,$0,34 # display hex
syscall # we are out of here.
sra $s1, $s1, 4
add $a0,$0,$s1 #display $s1
addi $v0,$0,34 # display hex
syscall # we are out of here.
sra $s1, $s1, 4
add $a0,$0,$s1 #display $s1
addi $v0,$0,34 # display hex
syscall # we are out of here.
sra $s1, $s1, 4
add $a0,$0,$s1 #display $s1
addi $v0,$0,34 # display hex
syscall # we are out of here.
sra $s1, $s1, 4
add $a0,$0,$s1 #display $s1
addi $v0,$0,34 # display hex
syscall # we are out of here.
sra $s1, $s1, 4
add $a0,$0,$s1 #display $s1
addi $v0,$0,34 # display hex
syscall # we are out of here.
#############################################################
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>addi,andi,sll,srl,sra,or,ori,nor,syscall LED<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#############################################################
.text
addi $s0,$zero,1
sll $s3, $s0, 31 # $s3=0x80000000
sra $s3, $s3, 31 # $s3=0xFFFFFFFF
addu $s0,$zero,$zero # $s0=0
addi $s2,$zero,12
addiu $s6,$0,3 #<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ<EFBFBD><EFBFBD><EFBFBD>
zmd_loop:
addiu $s0, $s0, 1 #<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
andi $s0, $s0, 15
#######################################
addi $t0,$0,8
addi $t1,$0,1
left:
sll $s3, $s3, 4 #<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
or $s3, $s3, $s0
add $a0,$0,$s3 # display $s3
addi $v0,$0,34 # system call for LED display
syscall # display
sub $t0,$t0,$t1
bne $t0,$0,left
#######################################
addi $s0, $s0, 1 #<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
addi $t8,$0,15
and $s0, $s0, $t8
sll $s0, $s0, 28
addi $t0,$0,8
addi $t1,$0,1
zmd_right:
srl $s3, $s3, 4 #<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
or $s3, $s3, $s0
addu $a0,$0,$s3 # display $s3
addi $v0,$0,34 # system call for LED display
syscall # display
sub $t0,$t0,$t1
bne $t0,$0,zmd_right
srl $s0, $s0, 28
#######################################
sub $s6,$s6,$t1
beq $s6,$0, exit
j zmd_loop
exit:
add $t0,$0,$0
nor $t0,$t0,$t0 #test nor ori
sll $t0,$t0,16
ori $t0,$t0,0xffff
addu $a0,$0,$t0 # display $t0
addi $v0,$0,34 # system call for LED display
syscall # display
#################################################################################
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD>0-15<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>Ԫ<EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>mars mips<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>Mars Setting<EFBFBD>е<EFBFBD>Memory Configuration<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪCompact<EFBFBD><EFBFBD>data at address 0
#
#################################################################################
.text
sort_init:
addi $s0,$0,-1
addi $s1,$0,0
sw $s0,0($s1)
addi $s0,$s0,1
addi $s1,$s1,4
sw $s0,0($s1)
addi $s0,$s0,1
addi $s1,$s1,4
sw $s0,0($s1)
addi $s0,$s0,1
addi $s1,$s1,4
sw $s0,0($s1)
addi $s0,$s0,1
addi $s1,$s1,4
sw $s0,0($s1)
addi $s0,$s0,1
addi $s1,$s1,4
sw $s0,0($s1)
addi $s0,$s0,1
addi $s1,$s1,4
sw $s0,0($s1)
addi $s0,$s0,1
addi $s1,$s1,4
sw $s0,0($s1)
addi $s0,$s0,1
addi $s1,$s1,4
sw $s0,0($s1)
addi $s0,$s0,1
addi $s1,$s1,4
sw $s0,0($s1)
addi $s0,$s0,1
addi $s1,$s1,4
sw $s0,0($s1)
addi $s0,$s0,1
addi $s1,$s1,4
sw $s0,0($s1)
addi $s0,$s0,1
addi $s1,$s1,4
sw $s0,0($s1)
addi $s0,$s0,1
addi $s1,$s1,4
sw $s0,0($s1)
addi $s0,$s0,1
addi $s1,$s1,4
sw $s0,0($s1)
addi $s0,$s0,1
addi $s1,$s1,4
sw $s0,0($s1)
addi $s0,$s0,1
addi $s1,$s1,4
addi $s0,$s0,1
add $s0,$zero,$zero
addi $s1,$zero,60 #<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sort_loop:
lw $s3,0($s0)
lw $s4,0($s1)
slt $t0,$s3,$s4
beq $t0,$0,sort_next #<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sw $s3, 0($s1)
sw $s4, 0($s0)
sort_next:
addi $s1, $s1, -4
bne $s0, $s1, sort_loop
add $a0,$0,$s0 #display $s0
addi $v0,$0,34 # display hex
syscall # we are out of here. DISP: disp $r0, 0
addi $s0,$s0,4
addi $s1,$zero,60
bne $s0, $s1, sort_loop
addi $v0,$zero,50 # system call for exit
syscall # we are out of here.
#MIPS<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD>syscall
jmp_count: addi $s0,$zero, 0
addi $s0,$s0, 1
add $a0,$0,$s0
addi $v0,$0,34 # display hex
syscall # we are out of here.
addi $s0,$s0, 2
add $a0,$0,$s0
addi $v0,$0,34 # display hex
syscall # we are out of here.
addi $s0,$s0, 3
add $a0,$0,$s0
addi $v0,$0,34 # display hex
syscall # we are out of here.
addi $s0,$s0, 4
add $a0,$0,$s0
addi $v0,$0,34 # display hex
syscall # we are out of here.
addi $s0,$s0, 5
add $a0,$0,$s0
addi $v0,$0,34 # display hex
syscall # we are out of here.
addi $s0,$s0, 6
add $a0,$0,$s0
addi $v0,$0,34 # display hex
syscall # we are out of here.
addi $s0,$s0, 7
add $a0,$0,$s0
addi $v0,$0,34 # display hex
syscall # we are out of here.
addi $s0,$s0, 8
add $a0,$0,$s0
addi $v0,$0,34 # display hex
addi $v0,$0,34 # display hex
syscall # we are out of here.
jr $31