URL
https://opencores.org/ocsvn/t400/t400/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 117 |
Rev 176 |
;; *******************************************************************
|
;; *******************************************************************
|
;; $Id: test.asm,v 1.1 2006-06-05 21:03:44 arniml Exp $
|
;; $Id: test.asm,v 1.1 2006-06-05 21:03:44 arniml Exp $
|
;;
|
;;
|
;; Test the MICROBUS functionality.
|
;; Test the MICROBUS functionality.
|
;;
|
;;
|
|
|
;; 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
|
|
|
;; init counter with 0
|
;; init counter with 0
|
xad 3, 15
|
xad 3, 15
|
|
|
|
|
;;
|
;;
|
;; microbus data is written to RAM register 0&1, digits 0-11
|
;; microbus data is written to RAM register 0&1, digits 0-11
|
;;
|
;;
|
|
|
read_next_char:
|
read_next_char:
|
;; request data
|
;; request data
|
ogi 0x1
|
ogi 0x1
|
poll_write:
|
poll_write:
|
skgbz 0
|
skgbz 0
|
jp poll_write
|
jp poll_write
|
|
|
;; read posted data
|
;; read posted data
|
cqma
|
cqma
|
x 1 ; put A to R0, Q[3:0]
|
x 1 ; put A to R0, Q[3:0]
|
x 1 ; put M to R1, Q[7:4]
|
x 1 ; put M to R1, Q[7:4]
|
|
|
;; check increment
|
;; check increment
|
ldd 3, 15
|
ldd 3, 15
|
aisc 0x1
|
aisc 0x1
|
cab ; set new Bd
|
cab ; set new Bd
|
xad 3, 15
|
xad 3, 15
|
aisc 0x5 ; check for old Bd == 0xb
|
aisc 0x5 ; check for old Bd == 0xb
|
jmp read_next_char
|
jmp read_next_char
|
|
|
|
|
;;
|
;;
|
;; output received string
|
;; output received string
|
;;
|
;;
|
|
|
;; init counter with 0
|
;; init counter with 0
|
clra
|
clra
|
cab
|
cab
|
xad 3, 15
|
xad 3, 15
|
|
|
write_next_char:
|
write_next_char:
|
ld 1
|
ld 1
|
ld 1 ; load A from R1, Q[7:4]
|
ld 1 ; load A from R1, Q[7:4]
|
; present M from R0, Q[3:0]
|
; present M from R0, Q[3:0]
|
camq
|
camq
|
|
|
;; request read
|
;; request read
|
ogi 0x1
|
ogi 0x1
|
poll_read:
|
poll_read:
|
skgbz 0
|
skgbz 0
|
jp poll_read
|
jp poll_read
|
|
|
;; check increment
|
;; check increment
|
ldd 3, 15
|
ldd 3, 15
|
aisc 0x1
|
aisc 0x1
|
cab ; set new Bd
|
cab ; set new Bd
|
xad 3, 15
|
xad 3, 15
|
aisc 0x5 ; check for old Bd == 0xb
|
aisc 0x5 ; check for old Bd == 0xb
|
jmp write_next_char
|
jmp write_next_char
|
|
|
|
|
jmp .
|
jmp .
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.