📄 gxmtest.asm
字号:
;**************************************************************************
;*
;* GXMTEST.ASM
;*
;* Copyright (c) 1999 National Semiconductor Corporation.
;* All Rights Reserved.
;*
;* Function:
;* Run tests on the memory to validate its operation.
;*
;* $Revision:: 1 $
;*
;**************************************************************************
;.MODEL TINY
.486P
INCLUDE DEF.INC
INCLUDE MACROS.INC
INCLUDE PORT80.INC
INCLUDE CPU.INC
INCLUDE OPTIONS.INC
_TEXT SEGMENT PUBLIC use16 'CODE'
EXTERN CpuMemRegRead:NEAR
EXTERN CpuMemRegWrite:NEAR
;**************************************************************************
;*
;* memTest
;*
;* Test address lines of the RAM.
;*
;* Entry:
;* Exit:
;*
;* Destroys:
;* EAX, EBX, ECX, DX, EDI
;*
;**************************************************************************
memTest PROC NEAR PUBLIC
mov fs, bx
PORT80 POST_MEM_TESTMEM ; post_b0h
mov edi, 0200000h ; 2mb boundary
mov eax, 'SEL$' ; initial pattern
mov es:[edi], eax
mov edi, 0h ; Beginning of mem
mov eax, es:[edi] ;
cmp eax, 'SEL$' ; Did we find an alias?
je simpleMemTestFail
mov eax, 'JEK$' ; different pattern
mov es:[edi], eax
mov edi, 0200000h ; 2mb boundary
mov eax, es:[edi]
cmp eax, 'SEL$' ; Still at 2mb?
jne simpleMemTestFail
mov edi, 0
mov eax, es:[edi]
cmp eax, 'JEK$' ; Still at 0?
jne simpleMemTestFail
jmp simpleMemTestPass
simpleMemTestFail:
PORT80 POST_MEM_TESTMEM_FAIL ; post_bfh - Display the memtest code FAIL
hlt
jmp $ ; go no further.
simpleMemTestPass:
PORT80 POST_MEM_TESTMEM_PASS ; post_beh - Display the memtest post code done
mov bx,fs
jmp bx
memTest ENDP
;**************************************************************************
;*
;* memTestPinCheck
;*
;* Set MTEST pins to expected values from OPTIONS.INC
;*
;* Entry:
;* Exit:
;* Destroys:
;*
;**************************************************************************
memTestPinCheck PROC NEAR PUBLIC
shl ebx, 16
mov ax, CPU_MC_GBASE_ADD ; Read MTEST
NOSTACK bx, CpuMemRegRead
and edx, MTESTAND
or edx, MTESTOR
mov ax, CPU_MC_GBASE_ADD ; Write MTEST
NOSTACK bx, CpuMemRegWrite
shr ebx, 16
jmp bx
memTestPinCheck ENDP
_TEXT ENDS
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -