sanity1.asm

来自「verilog code .descrip the risc cpu.downl」· 汇编 代码 · 共 251 行

ASM
251
字号
;/////////////////////////////////////////////////////////////////////;////                                                             ////;////  Mini-RISC-1                                                ////;////  Compliance Test 1                                          ////;////  Tests Ports                                                ////;////                                                             ////;////  Author: Rudolf Usselmann                                   ////;////          russelmann@hotmail.com                             ////;////                                                             ////;/////////////////////////////////////////////////////////////////////;////                                                             ////;//// Copyright (C) 2000 Rudolf Usselmann                         ////;////                    russelmann@hotmail.com                   ////;////                                                             ////;//// This source file may be used and distributed without        ////;//// restriction provided that this copyright statement is not   ////;//// removed from the file and that any derivative work contains ////;//// the original copyright notice and the associated disclaimer.////;////                                                             ////;//// THIS SOURCE FILE IS PROVIDED "AS IS" AND WITHOUT ANY        ////;//// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT           ////;//// LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND   ////;//// FITNESS FOR A PARTICULAR PURPOSE.                           ////;////                                                             ////;/////////////////////////////////////////////////////////////////////	list	p=16c57	#include p16c5x.incmain	; Main code entry	; Port IO Test	; All ports have a Pull up resistor		; Tristate all ports	clrw	movwf	PORTA	movwf	PORTB	movwf	PORTC	xorlw	0xff	tris	PORTA	tris	PORTB	tris	PORTC	; Now check that porta is 0xff	btfss	PORTA,0	goto	lerr	btfss	PORTA,1	goto	lerr	btfss	PORTA,2	goto	lerr	btfss	PORTA,3	goto	lerr	btfss	PORTA,4	goto	lerr	btfss	PORTA,5	goto	lerr		btfss	PORTA,6	goto	lerr	btfss	PORTA,7	goto	lerr		; Now check that portb is 0xff	btfss	PORTB,0	goto	lerr	btfss	PORTB,1	goto	lerr	btfss	PORTB,2	goto	lerr	btfss	PORTB,3	goto	lerr	btfss	PORTB,4	goto	lerr	btfss	PORTB,5	goto	lerr		btfss	PORTB,6	goto	lerr	btfss	PORTB,7	goto	lerr	; Now check that portc is 0xff	btfss	PORTC,0	goto	lerr	btfss	PORTC,1	goto	lerr	btfss	PORTC,2	goto	lerr	btfss	PORTC,3	goto	lerr	btfss	PORTC,4	goto	lerr	btfss	PORTC,5	goto	lerr		btfss	PORTA,6	goto	lerr	btfss	PORTC,7	goto	lerr		; Enable all ports	clrw	tris	PORTA	tris	PORTB	tris	PORTC	; Drive them all 0xaa	clrw	xorlw	0xaa	movwf	PORTA	movwf	PORTB	movwf	PORTC	; Now check that porta is 0xaa	btfsc	PORTA,0	goto	lerr	btfss	PORTA,1	goto	lerr	btfsc	PORTA,2	goto	lerr	btfss	PORTA,3	goto	lerr	btfsc	PORTA,4	goto	lerr	btfss	PORTA,5	goto	lerr		btfsc	PORTA,6	goto	lerr	btfss	PORTA,7	goto	lerr	; Now check that portb is 0xaa	btfsc	PORTB,0	goto	lerr	btfss	PORTB,1	goto	lerr	btfsc	PORTB,2	goto	lerr	btfss	PORTB,3	goto	lerr	btfsc	PORTB,4	goto	lerr	btfss	PORTB,5	goto	lerr		btfsc	PORTB,6	goto	lerr	btfss	PORTB,7	goto	lerr	; Now check that portc is 0xaa	btfsc	PORTC,0	goto	lerr	btfss	PORTC,1	goto	lerr	btfsc	PORTC,2	goto	lerr	btfss	PORTC,3	goto	lerr	btfsc	PORTC,4	goto	lerr	btfss	PORTC,5	goto	lerr		btfsc	PORTC,6	goto	lerr	btfss	PORTC,7	goto	lerr	; Drive them all 0x55	clrw	xorlw	0x55	movwf	PORTA	movwf	PORTB	movwf	PORTC	; Now check that porta is 0x55	btfss	PORTA,0	goto	lerr	btfsc	PORTA,1	goto	lerr	btfss	PORTA,2	goto	lerr	btfsc	PORTA,3	goto	lerr	btfss	PORTA,4	goto	lerr	btfsc	PORTA,5	goto	lerr		btfss	PORTA,6	goto	lerr	btfsc	PORTA,7	goto	lerr	; Now check that portb is 0x55	btfss	PORTB,0	goto	lerr	btfsc	PORTB,1	goto	lerr	btfss	PORTB,2	goto	lerr	btfsc	PORTB,3	goto	lerr	btfss	PORTB,4	goto	lerr	btfsc	PORTB,5	goto	lerr		btfss	PORTB,6	goto	lerr	btfsc	PORTB,7	goto	lerr	; Now check that portc is 0x55	btfss	PORTC,0	goto	lerr	btfsc	PORTC,1	goto	lerr	btfss	PORTC,2	goto	lerr	btfsc	PORTC,3	goto	lerr	btfss	PORTC,4	goto	lerr	btfsc	PORTC,5	goto	lerr		btfss	PORTC,6	goto	lerr	btfsc	PORTC,7	goto	lerr		nop	nop	nop	nopgood			; Loop in good on success	goto	good	nop	nop	nop	nop	lerr			; Loop in lerr on failure	goto	lerr	nop	nop	nop	nop   END

⌨️ 快捷键说明

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