📄 lib1funcs.asm
字号:
.align 2 .globl __return_r23_r29 .type __return_r23_r29,@function__return_r23_r29:#ifdef __EP__ mov ep,r1 mov sp,ep sld.w 0[ep],r29 sld.w 4[ep],r28 sld.w 8[ep],r27 sld.w 12[ep],r26 sld.w 16[ep],r25 sld.w 20[ep],r24 sld.w 24[ep],r23 addi 28,sp,sp mov r1,ep#else ld.w 0[sp],r29 ld.w 4[sp],r28 ld.w 8[sp],r27 ld.w 12[sp],r26 ld.w 16[sp],r25 ld.w 20[sp],r24 ld.w 24[sp],r23 addi 28,sp,sp#endif jmp [r31] .size __return_r23_r29,.-__return_r23_r29#endif /* L_save_23 */#ifdef L_save_24 .text .align 2 .globl __save_r24_r29 .type __save_r24_r29,@function /* Allocate space and save registers 24 .. 29 on the stack */ /* Called via: jalr __save_r24_r29,r10 */__save_r24_r29:#ifdef __EP__ mov ep,r1 addi -24,sp,sp mov sp,ep sst.w r29,0[ep] sst.w r28,4[ep] sst.w r27,8[ep] sst.w r26,12[ep] sst.w r25,16[ep] sst.w r24,20[ep] mov r1,ep#else addi -24,sp,sp st.w r29,0[sp] st.w r28,4[sp] st.w r27,8[sp] st.w r26,12[sp] st.w r25,16[sp] st.w r24,20[sp]#endif jmp [r10] .size __save_r24_r29,.-__save_r24_r29 /* Restore saved registers, deallocate stack and return to the user */ /* Called via: jr __return_r24_r29 */ .align 2 .globl __return_r24_r29 .type __return_r24_r29,@function__return_r24_r29:#ifdef __EP__ mov ep,r1 mov sp,ep sld.w 0[ep],r29 sld.w 4[ep],r28 sld.w 8[ep],r27 sld.w 12[ep],r26 sld.w 16[ep],r25 sld.w 20[ep],r24 addi 24,sp,sp mov r1,ep#else ld.w 0[sp],r29 ld.w 4[sp],r28 ld.w 8[sp],r27 ld.w 12[sp],r26 ld.w 16[sp],r25 ld.w 20[sp],r24 addi 24,sp,sp#endif jmp [r31] .size __return_r24_r29,.-__return_r24_r29#endif /* L_save_24 */#ifdef L_save_25 .text .align 2 .globl __save_r25_r29 .type __save_r25_r29,@function /* Allocate space and save registers 25 .. 29 on the stack */ /* Called via: jalr __save_r25_r29,r10 */__save_r25_r29:#ifdef __EP__ mov ep,r1 addi -20,sp,sp mov sp,ep sst.w r29,0[ep] sst.w r28,4[ep] sst.w r27,8[ep] sst.w r26,12[ep] sst.w r25,16[ep] mov r1,ep#else addi -20,sp,sp st.w r29,0[sp] st.w r28,4[sp] st.w r27,8[sp] st.w r26,12[sp] st.w r25,16[sp]#endif jmp [r10] .size __save_r25_r29,.-__save_r25_r29 /* Restore saved registers, deallocate stack and return to the user */ /* Called via: jr __return_r25_r29 */ .align 2 .globl __return_r25_r29 .type __return_r25_r29,@function__return_r25_r29:#ifdef __EP__ mov ep,r1 mov sp,ep sld.w 0[ep],r29 sld.w 4[ep],r28 sld.w 8[ep],r27 sld.w 12[ep],r26 sld.w 16[ep],r25 addi 20,sp,sp mov r1,ep#else ld.w 0[ep],r29 ld.w 4[ep],r28 ld.w 8[ep],r27 ld.w 12[ep],r26 ld.w 16[ep],r25 addi 20,sp,sp#endif jmp [r31] .size __return_r25_r29,.-__return_r25_r29#endif /* L_save_25 */#ifdef L_save_26 .text .align 2 .globl __save_r26_r29 .type __save_r26_r29,@function /* Allocate space and save registers 26 .. 29 on the stack */ /* Called via: jalr __save_r26_r29,r10 */__save_r26_r29:#ifdef __EP__ mov ep,r1 add -16,sp mov sp,ep sst.w r29,0[ep] sst.w r28,4[ep] sst.w r27,8[ep] sst.w r26,12[ep] mov r1,ep#else add -16,sp st.w r29,0[sp] st.w r28,4[sp] st.w r27,8[sp] st.w r26,12[sp]#endif jmp [r10] .size __save_r26_r29,.-__save_r26_r29 /* Restore saved registers, deallocate stack and return to the user */ /* Called via: jr __return_r26_r29 */ .align 2 .globl __return_r26_r29 .type __return_r26_r29,@function__return_r26_r29:#ifdef __EP__ mov ep,r1 mov sp,ep sld.w 0[ep],r29 sld.w 4[ep],r28 sld.w 8[ep],r27 sld.w 12[ep],r26 addi 16,sp,sp mov r1,ep#else ld.w 0[sp],r29 ld.w 4[sp],r28 ld.w 8[sp],r27 ld.w 12[sp],r26 addi 16,sp,sp#endif jmp [r31] .size __return_r26_r29,.-__return_r26_r29#endif /* L_save_26 */#ifdef L_save_27 .text .align 2 .globl __save_r27_r29 .type __save_r27_r29,@function /* Allocate space and save registers 27 .. 29 on the stack */ /* Called via: jalr __save_r27_r29,r10 */__save_r27_r29: add -12,sp st.w r29,0[sp] st.w r28,4[sp] st.w r27,8[sp] jmp [r10] .size __save_r27_r29,.-__save_r27_r29 /* Restore saved registers, deallocate stack and return to the user */ /* Called via: jr __return_r27_r29 */ .align 2 .globl __return_r27_r29 .type __return_r27_r29,@function__return_r27_r29: ld.w 0[sp],r29 ld.w 4[sp],r28 ld.w 8[sp],r27 add 12,sp jmp [r31] .size __return_r27_r29,.-__return_r27_r29#endif /* L_save_27 */#ifdef L_save_28 .text .align 2 .globl __save_r28_r29 .type __save_r28_r29,@function /* Allocate space and save registers 28,29 on the stack */ /* Called via: jalr __save_r28_r29,r10 */__save_r28_r29: add -8,sp st.w r29,0[sp] st.w r28,4[sp] jmp [r10] .size __save_r28_r29,.-__save_r28_r29 /* Restore saved registers, deallocate stack and return to the user */ /* Called via: jr __return_r28_r29 */ .align 2 .globl __return_r28_r29 .type __return_r28_r29,@function__return_r28_r29: ld.w 0[sp],r29 ld.w 4[sp],r28 add 8,sp jmp [r31] .size __return_r28_r29,.-__return_r28_r29#endif /* L_save_28 */#ifdef L_save_29 .text .align 2 .globl __save_r29 .type __save_r29,@function /* Allocate space and save register 29 on the stack */ /* Called via: jalr __save_r29,r10 */__save_r29: add -4,sp st.w r29,0[sp] jmp [r10] .size __save_r29,.-__save_r29 /* Restore saved register 29, deallocate stack and return to the user */ /* Called via: jr __return_r29 */ .align 2 .globl __return_r29 .type __return_r29,@function__return_r29: ld.w 0[sp],r29 add 4,sp jmp [r31] .size __return_r29,.-__return_r29#endif /* L_save_28 */#ifdef L_save_2c .text .align 2 .globl __save_r2_r31 .type __save_r2_r31,@function /* Allocate space and save registers 20 .. 29, 31 on the stack. */ /* Also allocate space for the argument save area. */ /* Called via: jalr __save_r2_r31,r10. */__save_r2_r31:#ifdef __EP__ mov ep,r1 addi -64,sp,sp mov sp,ep sst.w r29,16[ep] sst.w r28,20[ep] sst.w r27,24[ep] sst.w r26,28[ep] sst.w r25,32[ep] sst.w r24,36[ep] sst.w r23,40[ep] sst.w r22,44[ep] sst.w r21,48[ep] sst.w r20,52[ep] sst.w r2,56[ep] sst.w r31,60[ep] mov r1,ep#else addi -64,sp,sp st.w r29,16[sp] st.w r28,20[sp] st.w r27,24[sp] st.w r26,28[sp] st.w r25,32[sp] st.w r24,36[sp] st.w r23,40[sp] st.w r22,44[sp] st.w r21,48[sp] st.w r20,52[sp] st.w r2,56[sp] st.w r31,60[sp]#endif jmp [r10] .size __save_r2_r31,.-__save_r2_r31 /* Restore saved registers, deallocate stack and return to the user */ /* Called via: jr __return_r20_r31 */ .align 2 .globl __return_r2_r31 .type __return_r2_r31,@function__return_r2_r31:#ifdef __EP__ mov ep,r1 mov sp,ep sld.w 16[ep],r29 sld.w 20[ep],r28 sld.w 24[ep],r27 sld.w 28[ep],r26 sld.w 32[ep],r25 sld.w 36[ep],r24 sld.w 40[ep],r23 sld.w 44[ep],r22 sld.w 48[ep],r21 sld.w 52[ep],r20 sld.w 56[ep],r2 sld.w 60[ep],r31 addi 64,sp,sp mov r1,ep#else ld.w 16[sp],r29 ld.w 20[sp],r28 ld.w 24[sp],r27 ld.w 28[sp],r26 ld.w 32[sp],r25 ld.w 36[sp],r24 ld.w 40[sp],r23 ld.w 44[sp],r22 ld.w 48[sp],r21 ld.w 52[sp],r20 ld.w 56[sp],r2 ld.w 60[sp],r31 addi 64,sp,sp#endif jmp [r31] .size __return_r2_r31,.-__return_r2_r31#endif /* L_save_2c */#ifdef L_save_20c .text .align 2 .globl __save_r20_r31 .type __save_r20_r31,@function /* Allocate space and save registers 20 .. 29, 31 on the stack */ /* Also allocate space for the argument save area */ /* Called via: jalr __save_r20_r31,r10 */__save_r20_r31:#ifdef __EP__ mov ep,r1 addi -60,sp,sp mov sp,ep sst.w r29,16[ep] sst.w r28,20[ep] sst.w r27,24[ep] sst.w r26,28[ep] sst.w r25,32[ep] sst.w r24,36[ep] sst.w r23,40[ep] sst.w r22,44[ep] sst.w r21,48[ep] sst.w r20,52[ep] sst.w r31,56[ep] mov r1,ep#else addi -60,sp,sp st.w r29,16[sp] st.w r28,20[sp] st.w r27,24[sp] st.w r26,28[sp] st.w r25,32[sp] st.w r24,36[sp] st.w r23,40[sp] st.w r22,44[sp] st.w r21,48[sp] st.w r20,52[sp] st.w r31,56[sp]#endif jmp [r10] .size __save_r20_r31,.-__save_r20_r31 /* Restore saved registers, deallocate stack and return to the user */ /* Called via: jr __return_r20_r31 */ .align 2 .globl __return_r20_r31 .type __return_r20_r31,@function__return_r20_r31:#ifdef __EP__ mov ep,r1 mov sp,ep sld.w 16[ep],r29 sld.w 20[ep],r28 sld.w 24[ep],r27 sld.w 28[ep],r26 sld.w 32[ep],r25 sld.w 36[ep],r24 sld.w 40[ep],r23 sld.w 44[ep],r22 sld.w 48[ep],r21 sld.w 52[ep],r20 sld.w 56[ep],r31 addi 60,sp,sp mov r1,ep#else ld.w 16[sp],r29 ld.w 20[sp],r28 ld.w 24[sp],r27 ld.w 28[sp],r26 ld.w 32[sp],r25 ld.w 36[sp],r24 ld.w 40[sp],r23 ld.w 44[sp],r22 ld.w 48[sp],r21 ld.w 52[sp],r20 ld.w 56[sp],r31 addi 60,sp,sp#endif jmp [r31] .size __return_r20_r31,.-__return_r20_r31#endif /* L_save_20c */#ifdef L_save_21c .text .align 2 .globl __save_r21_r31 .type __save_r21_r31,@function /* Allocate space and save registers 21 .. 29, 31 on the stack */ /* Also allocate space for the argument save area */ /* Called via: jalr __save_r21_r31,r10 */__save_r21_r31:#ifdef __EP__ mov ep,r1 addi -56,sp,sp mov sp,ep sst.w r29,16[ep] sst.w r28,20[ep] sst.w r27,24[ep] sst.w r26,28[ep] sst.w r25,32[ep] sst.w r24,36[ep] sst.w r23,40[ep] sst.w r22,44[ep] sst.w r21,48[ep] sst.w r31,52[ep] mov r1,ep#else addi -56,sp,sp st.w r29,16[sp] st.w r28,20[sp] st.w r27,24[sp] st.w r26,28[sp] st.w r25,32[sp] st.w r24,36[sp] st.w r23,40[sp] st.w r22,44[sp] st.w r21,48[sp] st.w r31,52[sp]#endif jmp [r10] .size __save_r21_r31,.-__save_r21_r31 /* Restore saved registers, deallocate stack and return to the user */ /* Called via: jr __return_r21_r31 */ .align 2 .globl __return_r21_r31 .type __return_r21_r31,@function__return_r21_r31:#ifdef __EP__ mov ep,r1 mov sp,ep sld.w 16[ep],r29 sld.w 20[ep],r28 sld.w 24[ep],r27 sld.w 28[ep],r26 sld.w 32[ep],r25 sld.w 36[ep],r24 sld.w 40[ep],r23 sld.w 44[ep],r22 sld.w 48[ep],r21 sld.w 52[ep],r31 addi 56,sp,sp mov r1,ep#else ld.w 16[sp],r29 ld.w 20[sp],r28 ld.w 24[sp],r27 ld.w 28[sp],r26 ld.w 32[sp],r25 ld.w 36[sp],r24 ld.w 40[sp],r23 ld.w 44[sp],r22 ld.w 48[sp],r21 ld.w 52[sp],r31 addi 56,sp,sp#endif jmp [r31] .size __return_r21_r31,.-__return_r21_r31#endif /* L_save_21c */#ifdef L_save_22c .text .align 2 .globl __save_r22_r31 .type __save_r22_r31,@function /* Allocate space and save registers 22 .. 29, 31 on the stack */ /* Also allocate space for the argument save area */ /* Called via: jalr __save_r22_r31,r10 */__save_r22_r31:#ifdef __EP__ mov ep,r1 addi -52,sp,sp mov sp,ep sst.w r29,16[ep] sst.w r28,20[ep] sst.w r27,24[ep] sst.w r26,28[ep] sst.w r25,32[ep] sst.w r24,36[ep] sst.w r23,40[ep] sst.w r22,44[ep] sst.w r31,48[ep] mov r1,ep#else addi -52,sp,sp st.w r29,16[sp] st.w r28,20[sp] st.w r27,24[sp] st.w r26,28[sp] st.w r25,32[sp] st.w r24,36[sp] st.w r23,40[sp] st.w r22,44[sp] st.w r31,48[sp]#endif jmp [r10] .size __save_r22_r31,.-__save_r22_r31 /* Restore saved registers, deallocate stack and return to the user */ /* Called via: jr __return_r22_r31 */ .align 2 .globl __return_r22_r31 .type __return_r22_r31,@function__return_r22_r31:#ifdef __EP__ mov ep,r1 mov sp,ep sld.w 16[ep],r29 sld.w 20[ep],r28 sld.w 24[ep],r27 sld.w 28[ep],r26 sld.w 32[ep],r25 sld.w 36[ep],r24 sld.w 40[ep],r23 sld.w 44[ep],r22 sld.w 48[ep],r31 addi 52,sp,sp mov r1,ep#else ld.w 16[sp],r29 ld.w 20[sp],r28 ld.w 24[sp],r27 ld.w 28[sp],r26 ld.w 32[sp],r25 ld.w 36[sp],r24 ld.w 40[sp],r23 ld.w 44[sp],r22 ld.w 48[sp],r31 addi 52,sp,sp
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -