erase1.asm

来自「A MP3 Player Source Code, Enjoy it!」· 汇编 代码 · 共 84 行

ASM
84
字号
; MP3 Player, Main Program Erase, http://www.pjrc.com/tech/mp3; Copyright (c) 2000, PJRC.COM, LLC; This program is free software; you can redistribute it and/or; modify it under the terms of the GNU General Public License; as published by the Free Software Foundation; either version 2; of the License, or (at your option) any later version.; This program is distributed in the hope that it will be useful,; but WITHOUT ANY WARRANTY; without even the implied warranty of; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the; GNU General Public License for more details.; You should have received a copy of the GNU General Public License; along with this program; if not, write to the Free Software; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.; this little utility adds a quick and easy command to the; board (press 'X') to erase just the program (player.hex),; so when working on the firmware, you can press 'X' and the; download just the main program instead of all the data.; This speeds things up quite a bit..equ    location, 0xFF00        ;where this program will exist.equ    erblock, 0x0067   ;PAULMON2 v2.1 req'd.equ    return_addr, 0x0FF0     ;jump here to return to caller in bank0.org    location.db     0xA5,0xE5,0xE0,0xA5     ;signiture bytes.db     35,255,0,0              ;id.db     0,0,0,0                 ;reserved.db     0,0,0,0                 ;reserved.db     0,0,0,0                 ;reserved.db     0,0,0,0                 ;reserved.db     0,0,0,0                 ;user defined.db     255,255,255,255         ;length and checksum (255=unused).db     "Erase Driver Code",0.org    location+64             ;executable code begins here	mov	dptr, #0x2000	mov	a, #0x24	lcall	erblock	mov	dptr, #0x3000	mov	a, #0x24	lcall	erblock	mov	dptr, #0x4000	mov	a, #0x24	lcall	erblock	mov	dptr, #0x5000	mov	a, #0x24	lcall	erblock	mov	dptr, #0x6000	mov	a, #0x24	lcall	erblock	mov	dptr, #0x7000	mov	a, #0x24	lcall	erblock	mov	dptr, #0x3000chk:	clr	a	movc	a, @a+dptr	cpl	a	jnz	bad	inc	dptr	mov	a, dpl	jnz	chk	mov	a, dph	cjne	a, #0x80, chk	clr	c	ljmp	return_addrbad:	setb	c	ljmp	return_addr

⌨️ 快捷键说明

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