⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 opcodes.asm

📁 Plasma IP Core 你可以利用这个组件在FPGA中设计MIPS结构的CPU
💻 ASM
📖 第 1 页 / 共 2 页
字号:
################################################################### TITLE: Opcode Tester# AUTHOR: Steve Rhoads (rhoadss@yahoo.com)# DATE CREATED: 1/10/02# FILENAME: opcodes.asm# PROJECT: Plasma CPU core# COPYRIGHT: Software placed into the public domain by the author.#    Software 'as is' without warranty.  Author liable for nothing.# DESCRIPTION:#    This assembly file tests all of the opcodes supported by the#    Plasma core.#    This test assumes that address 0x20000000 is the UART write register#    Successful tests will print out "A" or "AB" or "ABC" or ....#    Missing letters or letters out of order indicate a failure.##################################################################	.text	.align	2	.globl	entry	.ent	entryentry:   .set noreorder   la    $gp, _gp           #initialize stack pointer   la    $4, __bss_start    #$4 = .sbss_start   la    $5, _end           #$5 = .bss_end   nop                      #no stack needed   nop   b     StartTest   nop                      #nops required to place ISR at 0x3c   nopOS_AsmPatchValue:   #Code to place at address 0x3c   lui   $26, 0x1000   ori   $26, $26, 0x3c   jr    $26   nopInterruptVector:            #Address=0x3c   mfc0  $26,$14            #C0_EPC=14 (Exception PC)   jr    $26   add   $4,$4,5   StartTest:   mtc0  $0,$12             #disable interrupts   lui   $20,0x2000         #serial port write address   ori   $21,$0,'\n'        #<CR> letter   ori   $22,$0,'X'         #'X' letter   ori   $23,$0,'\r'   ori   $24,$0,0x0f80      #temp memory   sb    $23,0($20)   sb    $21,0($20)   sb    $23,0($20)   sb    $21,0($20)   sb    $23,0($20)   sb    $21,0($20)   sb    $23,0($20)   sb    $21,0($20)   #Patch interrupt vector to 0x1000003c   la    $5, OS_AsmPatchValue   sub   $6,$5,0x1000   blez  $6,NoPatch      lw    $6, 0($5)   sw    $6, 0x3c($0)   lw    $6, 4($5)   sw    $6, 0x40($0)   lw    $6, 8($5)   sw    $6, 0x44($0)   lw    $6, 12($5)   sw    $6, 0x48($0)NoPatch:   ######################################   #Arithmetic Instructions   ######################################ArthmeticTest:   ori   $2,$0,'A'   sb    $2,0($20)   ori   $2,$0,'r'   sb    $2,0($20)   ori   $2,$0,'i'   sb    $2,0($20)   ori   $2,$0,'t'   sb    $2,0($20)   ori   $2,$0,'h'   sb    $2,0($20)   sb    $23,0($20)   sb    $21,0($20)   #a: ADD   ori   $2,$0,'a'   sb    $2,0($20)   ori   $3,$0,5   ori   $4,$0,60   add   $2,$3,$4   sb    $2,0($20)    #A   sb    $23,0($20)   sb    $21,0($20)   #b: ADDI   ori   $2,$0,'b'   sb    $2,0($20)   ori   $4,$0,60   addi  $2,$4,5   sb    $2,0($20)    #A   sb    $23,0($20)   sb    $21,0($20)   #c: ADDIU   ori   $2,$0,'c'   sb    $2,0($20)   ori   $4,$0,50   addiu $5,$4,15   sb    $5,0($20)    #A   sb    $23,0($20)   sb    $21,0($20)   #d: ADDU   ori   $2,$0,'d'   sb    $2,0($20)   ori   $3,$0,5   ori   $4,$0,60   add   $2,$3,$4   sb    $2,0($20)    #A   sb    $23,0($20)   sb    $21,0($20)   #e: DIV   ori   $2,$0,'e'   sb    $2,0($20)   ori   $2,$0,65*117+41   ori   $3,$0,117   div   $2,$3   nop   mflo  $4   sb    $4,0($20)    #A   mfhi  $4   addi  $4,$4,66-41   sb    $4,0($20)    #B   li    $2,-67*19   ori   $3,$0,19   div   $2,$3   nop   mflo  $4   sub   $4,$0,$4   sb    $4,0($20)    #C   ori   $2,$0,68*23   li    $3,-23   div   $2,$3   nop   mflo  $4   sub   $4,$0,$4   sb    $4,0($20)    #D   li    $2,-69*13   li    $3,-13   div   $2,$3   mflo  $4   sb    $4,0($20)    #E   sb    $23,0($20)   sb    $21,0($20)   #f: DIVU   ori   $2,$0,'f'   sb    $2,0($20)   ori   $2,$0,65*13   ori   $3,$0,13   divu  $2,$3   nop   mflo  $4   sb    $4,0($20)    #A   sb    $23,0($20)   sb    $21,0($20)   #g: MULT   ori   $2,$0,'g'   sb    $2,0($20)   ori   $2,$0,5   ori   $3,$0,13   mult  $2,$3   nop   mflo  $4   sb    $4,0($20)    #A   li    $2,-5   ori   $3,$0,13   mult  $2,$3   mfhi  $5   mflo  $4   sub   $4,$0,$4   addu  $4,$4,$5   addi  $4,$4,2   sb    $4,0($20)    #B   ori   $2,$0,5   li    $3,-13   mult  $2,$3   mfhi  $5   mflo  $4   sub   $4,$0,$4   addu  $4,$4,$5   addi  $4,$4,3   sb    $4,0($20)    #C   li    $2,-5   li    $3,-13   mult  $2,$3   mfhi  $5   mflo  $4   addu  $4,$4,$5   addi  $4,$4,3   sb    $4,0($20)    #D   lui   $4,0xfe98   ori   $4,$4,0x62e5   lui   $5,0x6   ori   $5,0x8db8   mult  $4,$5   mfhi  $6   addiu $7,$6,2356+1+'E' #E   sb    $7,0($20)   sb    $23,0($20)   sb    $21,0($20)   #h: MULTU   ori   $2,$0,'h'   sb    $2,0($20)   ori   $2,$0,5   ori   $3,$0,13   multu $2,$3   nop   mflo  $4   sb    $4,0($20)    #A   sb    $23,0($20)   sb    $21,0($20)   #i: SLT   ori   $2,$0,'i'   sb    $2,0($20)   ori   $2,$0,10   ori   $3,$0,12   slt   $4,$2,$3   addi  $5,$4,64   sb    $5,0($20)    #A   slt   $4,$3,$2   addi  $5,$4,66   sb    $5,0($20)    #B   li    $2,0xfffffff0   slt   $4,$2,$3   addi  $5,$4,66   sb    $5,0($20)    #C   slt   $4,$3,$2   addi  $5,$4,68   sb    $5,0($20)    #D   li    $3,0xffffffff   slt   $4,$2,$3   addi  $5,$4,68   sb    $5,0($20)    #E   slt   $4,$3,$2   addi  $5,$4,70   sb    $5,0($20)    #F   sb    $23,0($20)   sb    $21,0($20)   #j: SLTI   ori   $2,$0,'j'   sb    $2,0($20)   ori   $2,$0,10   slti  $4,$2,12   addi  $5,$4,64   sb    $5,0($20)    #A   slti  $4,$2,8   addi  $5,$4,66   sb    $5,0($20)    #B   sb    $23,0($20)   sb    $21,0($20)   #k: SLTIU   ori   $2,$0,'k'   sb    $2,0($20)   ori   $2,$0,10   sltiu $4,$2,12   addi  $5,$4,64   sb    $5,0($20)    #A   sltiu $4,$2,8   addi  $5,$4,66   sb    $5,0($20)    #B   sb    $23,0($20)   sb    $21,0($20)   #l: SLTU   ori   $2,$0,'l'   sb    $2,0($20)   ori   $2,$0,10   ori   $3,$0,12   slt   $4,$2,$3   addi  $5,$4,64   sb    $5,0($20)    #A   slt   $4,$3,$2   addi  $5,$4,66   sb    $5,0($20)    #B   sb    $23,0($20)   sb    $21,0($20)   #m: SUB   ori   $2,$0,'m'   sb    $2,0($20)   ori   $3,$0,70   ori   $4,$0,5   sub   $2,$3,$4   sb    $2,0($20)    #A   sb    $23,0($20)   sb    $21,0($20)   #n: SUBU   ori   $2,$0,'n'   sb    $2,0($20)   ori   $3,$0,70   ori   $4,$0,5   sub   $2,$3,$4   sb    $2,0($20)    #A   sb    $23,0($20)   sb    $21,0($20)   ######################################   #Branch and Jump Instructions   ######################################BranchTest:   ori   $2,$0,'B'   sb    $2,0($20)   ori   $2,$0,'r'   sb    $2,0($20)   ori   $2,$0,'a'   sb    $2,0($20)   ori   $2,$0,'n'   sb    $2,0($20)   ori   $2,$0,'c'   sb    $2,0($20)   ori   $2,$0,'h'   sb    $2,0($20)   sb    $23,0($20)   sb    $21,0($20)   #a: B   ori   $2,$0,'a'   sb    $2,0($20)   ori   $10,$0,'A'   ori   $11,$0,'B'   b     $B1   sb    $10,0($20)   sb    $22,0($20)$B1:   sb    $11,0($20)   sb    $23,0($20)   sb    $21,0($20)   #b: BAL   ori   $2,$0,'b'   sb    $2,0($20)   ori   $10,$0,'A'   ori   $11,$0,'B'   ori   $12,$0,'C'   ori   $13,$0,'D'   ori   $14,$0,'E'   ori   $15,$0,'X'   bal   $BAL1   sb    $10,0($20)   sb    $13,0($20)   b     $BAL2   sb    $14,0($20)   sb    $15,0($20)$BAL1:   sb    $11,0($20)   jr    $31   sb    $12,0($20)   sb    $22,0($20)$BAL2:   sb    $23,0($20)   sb    $21,0($20)   #c: BEQ   ori   $2,$0,'c'   sb    $2,0($20)   ori   $10,$0,'A'   ori   $11,$0,'B'   ori   $12,$0,'C'   ori   $13,$0,'D'   ori   $2,$0,100   ori   $3,$0,123   ori   $4,$0,123   beq   $2,$3,$BEQ1   sb    $10,0($20)   sb    $11,0($20)   beq   $3,$4,$BEQ1   sb    $12,0($20)   sb    $22,0($20)$BEQ1:   sb    $13,0($20)   sb    $23,0($20)   sb    $21,0($20)   #d: BGEZ   ori   $2,$0,'d'   sb    $2,0($20)   ori   $10,$0,'A'   ori   $11,$0,'B'   ori   $12,$0,'C'   ori   $13,$0,'D'   or    $15,$0,'X'   ori   $2,$0,100   li    $3,0xffff1234   ori   $4,$0,123   bgez  $3,$BGEZ1   sb    $10,0($20)   sb    $11,0($20)   bgez  $2,$BGEZ1   sb    $12,0($20)   sb    $22,0($20)$BGEZ1:   bgez  $0,$BGEZ2   nop   sb    $15,0($20)$BGEZ2:   sb    $13,0($20)   sb    $23,0($20)   sb    $21,0($20)   #e: BGEZAL   ori   $2,$0,'e'   sb    $2,0($20)   ori   $10,$0,'A'   ori   $11,$0,'B'   ori   $12,$0,'C'   ori   $13,$0,'D'   ori   $14,$0,'E'   ori   $15,$0,'X'   li    $3,0xffff1234   bgezal $3,$BGEZAL1   nop   sb    $10,0($20)   bgezal $0,$BGEZAL1   nop   sb    $13,0($20)   b     $BGEZAL2   sb    $14,0($20)   sb    $15,0($20)$BGEZAL1:   sb    $11,0($20)   jr    $31   sb    $12,0($20)   sb    $22,0($20)$BGEZAL2:   sb    $23,0($20)   sb    $21,0($20)   #f: BGTZ   ori   $2,$0,'f'   sb    $2,0($20)   ori   $10,$0,'A'   ori   $11,$0,'B'   ori   $12,$0,'C'   ori   $13,$0,'D'   ori   $2,$0,100   li    $3,0xffff1234   bgtz  $3,$BGTZ1   sb    $10,0($20)   sb    $11,0($20)   bgtz  $2,$BGTZ1   sb    $12,0($20)   sb    $22,0($20)$BGTZ1:   sb    $13,0($20)   sb    $23,0($20)   sb    $21,0($20)   #g: BLEZ   ori   $2,$0,'g'   sb    $2,0($20)   ori   $10,$0,'A'   ori   $11,$0,'B'   ori   $12,$0,'C'   ori   $13,$0,'D'   ori   $2,$0,100   li    $3,0xffff1234   blez  $2,$BLEZ1   sb    $10,0($20)   sb    $11,0($20)   blez  $3,$BLEZ1   sb    $12,0($20)   sb    $22,0($20)$BLEZ1:   blez  $0,$BLEZ2   nop   sb    $22,0($20)$BLEZ2:   sb    $13,0($20)   sb    $23,0($20)   sb    $21,0($20)   #h: BLTZ   ori   $2,$0,'h'   sb    $2,0($20)   ori   $10,$0,'A'   ori   $11,$0,'B'   ori   $12,$0,'C'   ori   $13,$0,'D'   ori   $14,$0,'E'   ori   $2,$0,100   li    $3,0xffff1234   ori   $4,$0,0   bltz  $2,$BLTZ1   sb    $10,0($20)   sb    $11,0($20)   bltz  $3,$BLTZ1   sb    $12,0($20)   sb    $22,0($20)$BLTZ1:   bltz  $4,$BLTZ2   nop   sb    $13,0($20)$BLTZ2:   sb    $14,0($20)   sb    $23,0($20)   sb    $21,0($20)   #i: BLTZAL   ori   $2,$0,'i'   sb    $2,0($20)   ori   $10,$0,'A'   ori   $11,$0,'B'   ori   $12,$0,'C'   ori   $13,$0,'D'   ori   $14,$0,'E'   ori   $15,$0,'X'   li    $3,0xffff1234   bltzal $0,$BLTZAL1   nop   sb    $10,0($20)   bltzal $3,$BLTZAL1   nop   sb    $13,0($20)   b     $BLTZAL2   sb    $14,0($20)   sb    $15,0($20)$BLTZAL1:   sb    $11,0($20)   jr    $31   sb    $12,0($20)   sb    $22,0($20)$BLTZAL2:   sb    $23,0($20)   sb    $21,0($20)   #j: BNE   ori   $2,$0,'j'   sb    $2,0($20)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -