git-svn-id: http://moon:8086/svn/vhdl/trunk@1414 cc03376c-175c-47c8-b038-4cd826a8556b
189 lines
2.2 KiB
JavaScript
189 lines
2.2 KiB
JavaScript
; PROJECT "test"
|
|
|
|
data 10
|
|
constant: DROM 55, 33,3a,5b,01,4f
|
|
rxbuf: DRAM 16
|
|
txbuf: DRAM 16
|
|
message: DROM 12, 99, 45, 2a, 5c, 0, 0d, 0a
|
|
|
|
reset: jmp start
|
|
inc R14
|
|
mov R8, R15
|
|
mov R15, #00
|
|
add R15, R14
|
|
mov R15, R8
|
|
reti
|
|
nop
|
|
nop
|
|
nop
|
|
|
|
const1: equ 01
|
|
const2: equ 02
|
|
const3: equ 03
|
|
const4: equ EF
|
|
const5: equ BE
|
|
|
|
org 10
|
|
|
|
f1:
|
|
f2: inc R13
|
|
ret
|
|
|
|
start: mov R11, message
|
|
nop
|
|
; This is a comment:
|
|
mov R0, #00
|
|
mov R1, const1
|
|
mov R2, const2
|
|
mov R3, const3
|
|
mov R4, const4
|
|
mov R5, const5
|
|
mov R6, #06
|
|
mov R7, #07
|
|
mov R8, #08
|
|
mov R9, #09
|
|
mov R10, #10
|
|
mov R11, #65
|
|
mov R12, #12
|
|
mov R13, #40
|
|
mov R14, #00
|
|
mov R15, #15
|
|
movx (#21), R5
|
|
movx (R14), #65
|
|
tst R0
|
|
tst R5
|
|
shr R13
|
|
shr R13
|
|
shl R13
|
|
shl R13
|
|
ror R13
|
|
ror R13
|
|
ror R13
|
|
ror R13
|
|
ror R13
|
|
ror R13
|
|
ror R13
|
|
ror R13
|
|
ror R13
|
|
ror R13
|
|
ror R13
|
|
ror R13
|
|
rol R13
|
|
rol R13
|
|
rol R13
|
|
rol R13
|
|
rol R13
|
|
rol R13
|
|
rol R13
|
|
rol R13
|
|
rol R13
|
|
rol R13
|
|
rol R13
|
|
rol R13
|
|
rol R13
|
|
ror R15
|
|
ror R15
|
|
ror R15
|
|
ror R15
|
|
halt
|
|
nop
|
|
mov R8, #80
|
|
mov R15, #00
|
|
shl R8
|
|
rolc R15
|
|
rol R15
|
|
rol R15
|
|
rol R15
|
|
rol R15
|
|
rol R15
|
|
rol R15
|
|
rol R15
|
|
|
|
xor R9, #08
|
|
or R6, #50
|
|
and R15, #51
|
|
|
|
cmp R0, #00
|
|
jne error
|
|
jlt error
|
|
jgt error
|
|
jne error
|
|
jeq ok10
|
|
jmp error
|
|
ok10:
|
|
jle ok11
|
|
jmp error
|
|
ok11:
|
|
jge ok12
|
|
jmp error
|
|
ok12:
|
|
|
|
cmp R1, #00
|
|
jeq error
|
|
jlt error
|
|
jgt ok20
|
|
ok20:
|
|
jne ok21
|
|
ok21:
|
|
jge ok22
|
|
jmp error
|
|
ok22:
|
|
|
|
cmp R11 #64
|
|
jeq error
|
|
cmp R11 #65
|
|
jle ok30
|
|
jmp error
|
|
ok30:
|
|
jge ok31
|
|
jmp error
|
|
ok31:
|
|
jgt error
|
|
jlt error
|
|
|
|
cmp R11 #66
|
|
jle ok40
|
|
jmp error
|
|
ok40:
|
|
jgt error
|
|
jge error
|
|
jlt label2
|
|
jmp error
|
|
|
|
label2: movx (const4), R10
|
|
linit: mov R2, #10
|
|
mov R1, #01
|
|
loop: sub R2, R1
|
|
jnz loop
|
|
jmp sub
|
|
|
|
sub: mov R15, #20
|
|
push R15
|
|
mov R8, #01
|
|
call f1
|
|
call f2
|
|
call stub
|
|
mov R7, const4
|
|
pop R15
|
|
mov R15, R7
|
|
jmp linit
|
|
|
|
nop
|
|
nop
|
|
nop
|
|
|
|
stub: mov R0, #00
|
|
L2: movx (R0), R7;
|
|
add R0, #02
|
|
sub R15, #01; Subtract
|
|
jnz L2 ; exit, if zero
|
|
|
|
movx R5, (#09)
|
|
movx R7, (R0)
|
|
ret
|
|
|
|
error:
|
|
nop
|
|
jmp error
|
|
|