ram_test.asm

来自「这是一个测试64K RAM 的小程序」· 汇编 代码 · 共 45 行

ASM
45
字号
;------------------------------------------------------------------------------------------------------------
;			64K 外部RAM检查程序     (RAM地址为:  0000H--0FFFFH)                 
;   检查如果出错,看DPTR的值,<8000H是第一片62256(U8)出错;>=8000H是第二片62256(U9)出错。
;------------------------------------------------------------------------------------------------------------



	ORG	0000H
	LJMP	RAM_TEST
	
	
	ORG	0100H
RAM_TEST:
	MOV	DPTR,#0000H
	MOV	A,#55H
NEXTUNIT:	
	MOVX	@DPTR,A		;向当前单元中存入 55H。
	MOVX	A,@DPTR		;把存入的数(55H)读出来。
	MOV	R1,A		;把读出的数据存到R1中,以次可以知道读出的什么值。
	CJNE	A,#55H,ERROR	
	NOP
	MOV	A,#0AAH
	MOVX	@DPTR,A		;向当前单元中存入 0AAH。
	MOVX	A,@DPTR		;把存入的数(0AAH)读出来。
	MOV	R1,A		;把读出的数据存到R1中,以次可以知道读出的什么值。
	CJNE	A,#0AAH,ERROR	;
	MOV	A,DPL		;判断DPTR的值是否等于 0FFFFH。
	CJNE	A,#0FFH,NOEND
	MOV	A,DPH
	CJNE	A,#0FFH,NOEND	
	
	SJMP	$		;检查完了,都正确了,死到这里。
	
NOEND:
	INC	DPTR
	MOV	A,#55H
	LJMP	NEXTUNIT		
	
ERROR:
	NOP
	SJMP	$	;出错了,死到这里。	
	
	
	END

⌨️ 快捷键说明

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