iapwr.asm
来自「philips单片机IAP写功能源代码,可以进行C语言链接」· 汇编 代码 · 共 33 行
ASM
33 行
sfr AUXR1 = 0xA2;
sfr FCF = 0xB1;
XTAL_MHZ EQU 11 ; Chip runs at 11MHz
?PR?_ProgramDataByte?ISA SEGMENT CODE
RSEG ?PR?_ProgramDataByte?ISA
PUBLIC _ProgramDataByte ; Entry Point for C Compiler
; unsigned char ProgramDataByte (unsigned int addr, unsigned char v);
; The C51 compiler passes addr in R6/R7 and v in R5
_ProgramDataByte: MOV AUXR1,#20H ; ENBOOT = 1 (required on some parts)
;CLR EA
ANL FCF,#0FCH
MOV DPH,R6
MOV DPL,R7
MOV ACC,R5
MOV R0,#XTAL_MHZ
MOV R1,#02H ; function code
LCALL 0x1FF0 ; Call Philips firmware
MOV R7,ACC ; C51 expects return in R7
ORL FCF,#01H
MOV AUXR1,0x00 ; ENBOOT = 0(required on some parts)
; SETB EA
RET
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?