File: test_port.asm

package info (click to toggle)
simulavr 0.1.2.2-6.1
  • links: PTS
  • area: main
  • in suites: lenny, squeeze
  • size: 2,756 kB
  • ctags: 3,179
  • sloc: ansic: 19,987; sh: 3,623; python: 3,528; makefile: 406; asm: 308; yacc: 145; lex: 48
file content (44 lines) | stat: -rw-r--r-- 1,155 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
;
; $Id: test_port.asm,v 1.2 2001/10/21 21:24:05 troth Exp $
;
;;; Test basic functionality of reading and writing to
;;; the io ports.
;
;.device         AT90S8515

.include        "8515def.inc"

.equ	zero,	17				; r17 preset with 0x00
.equ	ones,	18				; r18 preset with 0xff

;;; Interrupt Jump Table
        rjmp    MAIN            ; reset
        nop                     ; int0
        nop                     ; int1
        nop                     ; timer1 capt
        nop                     ; timer1 compa
        nop                     ; timer1 compb
        nop                     ; timer1 ovf
        nop                     ; timer0 ovf
        nop                     ; spi, stc
        nop                     ; uart, rx
        nop                     ; uart, udre
        nop                     ; uart, tx
        nop                     ; ana_comp

MAIN:
	;; preload zero and ones
		ldi		zero,  0x00
		ldi		ones,  0xff
	
	;; init portb for output
		out		DDRB,  ones
		out		PORTB, zero

	;; init portd for input
		out		DDRD,  zero

LOOP1:
		in		r16, PIND		; read from PORTD to R17
		out		PORTB, R16		; write R16 to PORTB
  		rjmp	LOOP1