feat(t32): initial support

This commit is contained in:
xasc 2022-11-06 17:44:50 +01:00 committed by Stephan Seitz
parent 51df4212e7
commit 2d48cbc831
10 changed files with 371 additions and 0 deletions

View file

@ -0,0 +1,10 @@
// This is a comment
; <- comment
; Another comment
; <- comment
ECHO &a // This is a trailing comment
; ^ comment
// vim: set ft=t32:

View file

@ -0,0 +1,103 @@
PRIVATE &password
; <- keyword
; ^ variable.builtin
ENTRY &password
; <- keyword
; ^ parameter
IF "&password"==""
; <- conditional
; ^ string
; ^ variable.builtin
; ^ operator
(
ECHO "Failed to provide password."
ENDDO
; ^ keyword.return
)
ELSE
; <- conditional
(
PRIVATE &pass
&pass=FALSE()
; ^ function.builtin
WHILE !&pass
; ^ operator
(
GOSUB verify_password "&password"
; ^ function.call
RETURNVALUES &pass
; ^ parameter
WAIT 10.ms
; ^ number
)
IF !&pass
GOTO fail
; ^ label
ELSE
(
GOSUB start_debug
; ^ function.call
)
)
LOCAL &num
; ^ variable.builtin
&num = 2.
; ^ number
RePeaT &num PRINT "Password: &password"
; ^ variable.builtin
; ^ variable.builtin
WinCLEAR
FramePOS ,,,,Maximized
; ^ punctuation.delimiter
; ^ constant
WinPOS 0% 50% 100% 35%
; ^ number
COVerage.ListFunc
ENDDO
fail:
; <- label
PRINT %ERROR "Password verification failed."
END
; ^ keyword.return
verify_password:
; <- function
(
PARAMETERS &password
; ^ parameter
SYStem.Option.KEYCODE "&password"
SYStem.JtagClock 1kHz
; ^ number
SYStem.Mode.Attach
Data.Set EAXI:0x34000000 %Long 0x34000100 0x34000021 /verify
; ^ number
; ^ constant.builtin
; ^ constant
RETURN TRUE()
; ^ keyword.return
)
SUBROUTINE start_debug
; ^ function
(
Go main
RETURN
; ^ keyword.return
)
// vim: set ft=t32:

View file

@ -0,0 +1,37 @@
WinPOS ,,1000.,,,,myWatchWindow
; ^ number
PRinTer.OPEN "~~~/varwatch.txt" ASCIIE
; ^ string
sYmbol.NEW _InitialSP 0x34000100
; ^ number
DO ~~~~/test.cmm
; ^ string.special
WAIT 1.ns
; ^ number
SYStem.JtagClock 100.GHZ
; ^ number
DATA.SET P:&HEAD+0x4 %LONG DATA.LONG(EA:&HEAD+0x4)&0xFFFFFF
; ^ number
List `main`
; ^ symbol
&range = 'a'--'z'||'0'--'9'
; ^ character
; ^ operator
; ^ character
Data.Set 0xffff800000 0y0011xx01xx&&a
; ^ number
; ^ operator
WinPOS 0% 85% 100% 15%
; ^ number
// vim: set ft=t32:

View file

@ -0,0 +1,27 @@
Var.NEWGLOBAL char[4][32] \myarr
; <- keyword
; ^ type
; ^ variable.builtin
LOCAL &i &data
&data="zero|one|two|three"
&i=0.
WHILE &i<4
(
PRIVATE &val
&val=STRing.SPLIT("&data","|",&i)
Var.Assign \myarr[&i]="&val"
; ^ variable.builtin
&i=&i+1.
)
Var.NEWLOCAL \x
; <- keyword
; ^ variable.builtin
Var.set \x=func3(5,3)
; ^ variable.builtin
PRINT Var.VALUE(\x)
; ^ variable.builtin
// vim: set ft=t32: