sst39vf160_s.s

来自「44B0+8019系统」· S 代码 · 共 85 行

S
85
字号


	AREA |C$$code|, CODE, READONLY

	EXPORT	___SST_EraseSector
___SST_EraseSector
	stmfd	sp!,{r1 - r3}
    
    ;Addr = (SectorNo << 12) & 0x1FFFFE
    mov     r2,#0x200000
    sub     r2,r2,#0x2
    and     r1,r2,r0,lsl #12

    ;*0x5555 = 0xAAAA
    mov     r2,#0xAA
    add     r2,r2,#0xAA00
    mov     r3,r2
    strh    r3,[r2]

    ;*0x2AAA = 0x5555
    mov     r2,#0x54
    add     r2,r2,#0x5500
    add     r3,r2,#0x1
    strh    r3,[r2]

    ;*0x5555 = 0x8080
    mov     r2,#0xAA
    add     r2,r2,#0xAA00
    mov     r3,#0x80
    add     r3,r3,#0x8000
    strh    r3,[r2]

    ;*0x5555 = 0xAAAA
    mov     r2,#0xAA
    add     r2,r2,#0xAA00
    mov     r3,r2
    strh    r3,[r2]

    ;*0x2AAA = 0x5555
    mov     r2,#0x54
    add     r2,r2,#0x5500
    add     r3,r2,#0x1
    strh    r3,[r2]

    ;*Sector = 0x3030
    mov     r3,#0x30
    add     r3,r3,#0x3000
    strh    r3,[r1]

	ldmfd	sp!,{r1 - r3}

	mov	pc,lr

; ***********************************************
	EXPORT	___SST_Prog
___SST_Prog
	stmfd	sp!,{r2 - r3}
    
    ;*0x5555 = 0xAAAA
    mov     r2,#0xAA
    add     r2,r2,#0xAA00
    mov     r3,r2
    strh    r3,[r2]

    ;*0x2AAA = 0x5555
    mov     r2,#0x54
    add     r2,r2,#0x5500
    add     r3,r2,#0x1
    strh    r3,[r2]

    ;*0x5555 = 0xA0A0
    mov     r2,#0xAA
    add     r2,r2,#0xAA00
    mov     r3,#0xA0
    add     r3,r3,#0xA000
    strh    r3,[r2]

    strh    r1,[r0]

	ldmfd	sp!,{r2-r3}

	mov	pc,lr

	END

⌨️ 快捷键说明

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