📄 drv_asm.s
字号:
; drv_asm.s 1998.04.27
; 2002.05.23 modified register assignment
; asm entry program for ICD33/MON33 flash command
#define SP_INI 0x03fff; sp is in end of 1KB internal RAM
#define GP_INI 0x0000 ; global pointer %r8 is 0x0
.text
.global FLASH_ERASE
FLASH_ERASE:
ld.w %r5,%sp ; save SP
xld.w %r4,SP_INI
ld.w %sp,%r4 ; set SP
ld.w %r4,%r15 ; save return address
pushn %r8 ; save registers
ld.w %r6,%r12
ld.w %r7,%r13
ld.w %r8,%r14
xld.w %r15,GP_INI ; set global pointer for safty
xcall fnFlshErase ; enter C program
ld.w %r10,%r4
popn %r8 ; restore registers
ld.w %sp,%r5 ; restore SP
ld.w %r15,%r4 ; restore return address
jp %r15 ; back to mini monitor
.global FLASH_LOAD
FLASH_LOAD:
ld.w %r5,%sp ; save SP
xld.w %r4,SP_INI
ld.w %sp,%r4 ; set SP
ld.w %r4,%r15 ; save return address
pushn %r8 ; save registers
xld.w %r0,0x0
ld.w %r6,%r12
ld.w %r7,%r13
ld.w %r8,%r14
xld.w %r15,GP_INI ; set global pointer for safty
xcall fnFlshLoad ; enter C program
ld.w %r10,%r4
popn %r8 ; restore registers
ld.w %sp,%r5 ; restore SP
ld.w %r15,%r4 ; restore return address
jp %r15 ; back to mini monitor
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -