ram_fill.asm

来自「8051试验程序 基础教材」· 汇编 代码 · 共 63 行

ASM
63
字号
;-----------------------------------------------------------------------------
;	Copyright (C) 2005 Silicon Laboratories, Inc.
;
;
; 	FILE NAME  	: RAM_FILL.ASM
; 	TARGET MCU	: C8051F020
; 	DESCRIPTION	: This program disables the watchdog timer and fills RAM with
;				  	  value equal to address.
;
;  	NOTES:
;	(1)	This note intentionally left blank.
;
;
;-----------------------------------------------------------------------------

#include "ioC8051F020.h"               ; Include register definition file

;-----------------------------------------------------------------------------
; EQUATES
;-----------------------------------------------------------------------------


;-----------------------------------------------------------------------------
; VARIABLES
;-----------------------------------------------------------------------------
	
																
;-----------------------------------------------------------------------------
; RESET and INTERRUPT VECTORS
;-----------------------------------------------------------------------------

               ; Reset Vector
               ASEGN CSEG01:CODE,00h
               ljmp  Main              ; Jump beyond interrupt vector space.

;-----------------------------------------------------------------------------
; CODE SEGMENT
;-----------------------------------------------------------------------------



               rseg     RAM_FILL:CODE       ; Switch to this code segment.

Main:          ; Disable the WDT. (IRQs not enabled at this point.)
               ; If interrupts were enabled, we would need to explicitly
               ; disable them so that the 2nd move to WDTCN occurs no more
               ; than four clock cycles after the first move to WDTCN.

               mov   WDTCN, #0DEh
               mov   WDTCN, #0ADh

               mov   R0, #00H          ; use R0 as pointer to memory location
loop:          mov   @R0, 0            ; write to indexed address with
                                       ; address value
               djnz  R0, loop          ; check if finished
	
               sjmp  $                 ; loop here forever


;-----------------------------------------------------------------------------
; End of file.

              END

⌨️ 快捷键说明

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