URL
https://opencores.org/ocsvn/t400/t400/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 176 |
Rev 179 |
;; *******************************************************************
|
;; *******************************************************************
|
;; $Id: test.asm,v 1.1.1.1 2006-05-06 01:56:45 arniml Exp $
|
;; $Id: test.asm 179 2009-04-01 19:48:38Z arniml $
|
;;
|
;;
|
;; Checks the LBI instruction (single byte).
|
;; Checks the LBI instruction (single byte).
|
;;
|
;;
|
|
|
;; the cpu type is defined on asl's command line
|
;; the cpu type is defined on asl's command line
|
|
|
org 0x00
|
org 0x00
|
clra
|
clra
|
|
|
;;
|
;;
|
;; initialize 4 x 8 RAM digits
|
;; initialize 4 x 8 RAM digits
|
;;
|
;;
|
|
|
;; register 0
|
;; register 0
|
stii 0x0
|
stii 0x0
|
aisc 0x9
|
aisc 0x9
|
cab
|
cab
|
stii 0x1
|
stii 0x1
|
stii 0x2
|
stii 0x2
|
stii 0x3
|
stii 0x3
|
stii 0x4
|
stii 0x4
|
stii 0x5
|
stii 0x5
|
stii 0x6
|
stii 0x6
|
stii 0x7
|
stii 0x7
|
|
|
;; register 1
|
;; register 1
|
ld 0x1
|
ld 0x1
|
stii 0x4
|
stii 0x4
|
cba
|
cba
|
aisc 0x8
|
aisc 0x8
|
cab
|
cab
|
stii 0x5
|
stii 0x5
|
stii 0x6
|
stii 0x6
|
stii 0x7
|
stii 0x7
|
stii 0x8
|
stii 0x8
|
stii 0x9
|
stii 0x9
|
stii 0xa
|
stii 0xa
|
stii 0xb
|
stii 0xb
|
|
|
;; register 2
|
;; register 2
|
ld 0x3
|
ld 0x3
|
stii 0x8
|
stii 0x8
|
cba
|
cba
|
aisc 0x8
|
aisc 0x8
|
cab
|
cab
|
stii 0x9
|
stii 0x9
|
stii 0xa
|
stii 0xa
|
stii 0xb
|
stii 0xb
|
stii 0xc
|
stii 0xc
|
stii 0xd
|
stii 0xd
|
stii 0xe
|
stii 0xe
|
stii 0xf
|
stii 0xf
|
|
|
;; register 3
|
;; register 3
|
ld 0x1
|
ld 0x1
|
stii 0xc
|
stii 0xc
|
cba
|
cba
|
aisc 0x8
|
aisc 0x8
|
cab
|
cab
|
stii 0xd
|
stii 0xd
|
stii 0xe
|
stii 0xe
|
stii 0xf
|
stii 0xf
|
stii 0x0
|
stii 0x0
|
stii 0x1
|
stii 0x1
|
stii 0x2
|
stii 0x2
|
stii 0x3
|
stii 0x3
|
|
|
jmp test_code
|
jmp test_code
|
|
|
|
|
;; subroutine page 2
|
;; subroutine page 2
|
org 0x80
|
org 0x80
|
lbi_call_reg0:
|
lbi_call_reg0:
|
lbi 0, 0
|
lbi 0, 0
|
lbi 0, 9
|
lbi 0, 9
|
lbi 0, 10
|
lbi 0, 10
|
lbi 0, 11
|
lbi 0, 11
|
lbi 0, 12
|
lbi 0, 12
|
lbi 0, 13
|
lbi 0, 13
|
lbi 0, 14
|
lbi 0, 14
|
lbi 0, 15
|
lbi 0, 15
|
ret
|
ret
|
lbi_call_reg1:
|
lbi_call_reg1:
|
lbi 1, 0
|
lbi 1, 0
|
lbi 1, 9
|
lbi 1, 9
|
lbi 1, 10
|
lbi 1, 10
|
lbi 1, 11
|
lbi 1, 11
|
lbi 1, 12
|
lbi 1, 12
|
lbi 1, 13
|
lbi 1, 13
|
lbi 1, 14
|
lbi 1, 14
|
lbi 1, 15
|
lbi 1, 15
|
ret
|
ret
|
lbi_call_reg2:
|
lbi_call_reg2:
|
lbi 2, 0
|
lbi 2, 0
|
lbi 2, 9
|
lbi 2, 9
|
lbi 2, 10
|
lbi 2, 10
|
lbi 2, 11
|
lbi 2, 11
|
lbi 2, 12
|
lbi 2, 12
|
lbi 2, 13
|
lbi 2, 13
|
lbi 2, 14
|
lbi 2, 14
|
lbi 2, 15
|
lbi 2, 15
|
ret
|
ret
|
lbi_call_reg3:
|
lbi_call_reg3:
|
lbi 3, 0
|
lbi 3, 0
|
lbi 3, 9
|
lbi 3, 9
|
lbi 3, 10
|
lbi 3, 10
|
lbi 3, 11
|
lbi 3, 11
|
lbi 3, 12
|
lbi 3, 12
|
lbi 3, 13
|
lbi 3, 13
|
lbi 3, 14
|
lbi 3, 14
|
lbi 3, 15
|
lbi 3, 15
|
ret
|
ret
|
|
|
|
|
org 0x100
|
org 0x100
|
|
|
;;
|
;;
|
;; now test each register digit
|
;; now test each register digit
|
;;
|
;;
|
test_code:
|
test_code:
|
|
|
;; register 0
|
;; register 0
|
;; digit 0
|
;; digit 0
|
clra
|
clra
|
jsrp lbi_call_reg0 + 0
|
jsrp lbi_call_reg0 + 0
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 9
|
;; digit 9
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg0 + 1
|
jsrp lbi_call_reg0 + 1
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 10
|
;; digit 10
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg0 + 2
|
jsrp lbi_call_reg0 + 2
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 11
|
;; digit 11
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg0 + 3
|
jsrp lbi_call_reg0 + 3
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 12
|
;; digit 12
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg0 + 4
|
jsrp lbi_call_reg0 + 4
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 13
|
;; digit 13
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg0 + 5
|
jsrp lbi_call_reg0 + 5
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 14
|
;; digit 14
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg0 + 6
|
jsrp lbi_call_reg0 + 6
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 15
|
;; digit 15
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg0 + 7
|
jsrp lbi_call_reg0 + 7
|
ske
|
ske
|
jmp fail
|
jmp fail
|
|
|
;; register 1
|
;; register 1
|
;; digit 0
|
;; digit 0
|
clra
|
clra
|
aisc 0x4
|
aisc 0x4
|
jsrp lbi_call_reg1 + 0
|
jsrp lbi_call_reg1 + 0
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 9
|
;; digit 9
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg1 + 1
|
jsrp lbi_call_reg1 + 1
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 10
|
;; digit 10
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg1 + 2
|
jsrp lbi_call_reg1 + 2
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 11
|
;; digit 11
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg1 + 3
|
jsrp lbi_call_reg1 + 3
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 12
|
;; digit 12
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg1 + 4
|
jsrp lbi_call_reg1 + 4
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 13
|
;; digit 13
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg1 + 5
|
jsrp lbi_call_reg1 + 5
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 14
|
;; digit 14
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg1 + 6
|
jsrp lbi_call_reg1 + 6
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 15
|
;; digit 15
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg1 + 7
|
jsrp lbi_call_reg1 + 7
|
ske
|
ske
|
jmp fail
|
jmp fail
|
|
|
;; register 2
|
;; register 2
|
;; digit 0
|
;; digit 0
|
clra
|
clra
|
aisc 0x8
|
aisc 0x8
|
jsrp lbi_call_reg2 + 0
|
jsrp lbi_call_reg2 + 0
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 9
|
;; digit 9
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg2 + 1
|
jsrp lbi_call_reg2 + 1
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 10
|
;; digit 10
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg2 + 2
|
jsrp lbi_call_reg2 + 2
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 11
|
;; digit 11
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg2 + 3
|
jsrp lbi_call_reg2 + 3
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 12
|
;; digit 12
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg2 + 4
|
jsrp lbi_call_reg2 + 4
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 13
|
;; digit 13
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg2 + 5
|
jsrp lbi_call_reg2 + 5
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 14
|
;; digit 14
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg2 + 6
|
jsrp lbi_call_reg2 + 6
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 15
|
;; digit 15
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg2 + 7
|
jsrp lbi_call_reg2 + 7
|
ske
|
ske
|
jmp fail
|
jmp fail
|
|
|
;; register 3
|
;; register 3
|
;; digit 0
|
;; digit 0
|
clra
|
clra
|
aisc 0xc
|
aisc 0xc
|
jsrp lbi_call_reg3 + 0
|
jsrp lbi_call_reg3 + 0
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 9
|
;; digit 9
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg3 + 1
|
jsrp lbi_call_reg3 + 1
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 10
|
;; digit 10
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg3 + 2
|
jsrp lbi_call_reg3 + 2
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 11
|
;; digit 11
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg3 + 3
|
jsrp lbi_call_reg3 + 3
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 12
|
;; digit 12
|
aisc 0x1
|
aisc 0x1
|
nop
|
nop
|
jsrp lbi_call_reg3 + 4
|
jsrp lbi_call_reg3 + 4
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 13
|
;; digit 13
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg3 + 5
|
jsrp lbi_call_reg3 + 5
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 14
|
;; digit 14
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg3 + 6
|
jsrp lbi_call_reg3 + 6
|
ske
|
ske
|
jmp fail
|
jmp fail
|
;; digit 15
|
;; digit 15
|
aisc 0x1
|
aisc 0x1
|
jsrp lbi_call_reg3 + 7
|
jsrp lbi_call_reg3 + 7
|
ske
|
ske
|
jmp fail
|
jmp fail
|
|
|
|
|
jmp pass
|
jmp pass
|
|
|
include "pass_fail.asm"
|
include "pass_fail.asm"
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.