48 lines
747 B
NASM
48 lines
747 B
NASM
|
|
.define SYSROM $0000
|
|
.define GPIO $0400
|
|
.define KEYBOARD $0500
|
|
.define PERIPH $0600
|
|
.define ROBOT $0700
|
|
.define SCREEN $0800
|
|
.define SCRCLR $0C00
|
|
.define SYSRAM $1000
|
|
.define USERROM $2000
|
|
.define USERRAM $3000
|
|
|
|
;.define FUNC .space 1 \ .align $10 \
|
|
.define FUNC .space 1 \
|
|
|
|
; I/O devices
|
|
|
|
.org GPIO
|
|
io:
|
|
.mulLeft: .mulHigh: .mulResultHigh: byte
|
|
.mulRight: .mulLow: .mulResultLow: .mulResult: byte
|
|
.dividend: .quotient: byte
|
|
.divisor: .remainder: byte
|
|
.popcount: byte
|
|
.timer: byte
|
|
byte[(256-6)]
|
|
|
|
.org KEYBOARD
|
|
keyboard:
|
|
.queue: .int: byte
|
|
byte[(256-1)]
|
|
|
|
.org PERIPH
|
|
byte[256]
|
|
|
|
.org ROBOT
|
|
robot:
|
|
.color: byte
|
|
.control: byte
|
|
byte[(256-2)]
|
|
|
|
.org SCREEN
|
|
screen:
|
|
.char: byte[1024]
|
|
.color: byte[1024]
|
|
|
|
.org $0000
|