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 + -
显示快捷键?