mirror of
https://github.com/irmen/prog8.git
synced 2024-11-01 15:07:10 +00:00
188 lines
4.5 KiB
Lua
188 lines
4.5 KiB
Lua
%import test_stack
|
|
%import textio
|
|
%import string
|
|
%zeropage basicsafe
|
|
%option no_sysinit
|
|
|
|
main {
|
|
|
|
; TODO: error when a parameter has the same name as an existing module/block/subroutine: sub print_right(ubyte width, uword string) {
|
|
|
|
sub start() {
|
|
test_stack.test()
|
|
}
|
|
|
|
sub start2 () {
|
|
str[] binstrings = [
|
|
"",
|
|
"%",
|
|
"%0",
|
|
"$0",
|
|
"%1",
|
|
"101",
|
|
"%11111111",
|
|
"%1111 ",
|
|
"% 1111 ",
|
|
"%1111%",
|
|
"%1111)",
|
|
"%1111,",
|
|
"%1111.",
|
|
"%1111foo",
|
|
"%1111000010101010",
|
|
"%1111000010101010111"
|
|
]
|
|
str[] hexstrings = [
|
|
"",
|
|
"$",
|
|
"$0",
|
|
"%0",
|
|
"$1",
|
|
"$9",
|
|
"9934",
|
|
"$91",
|
|
"$91 ",
|
|
"$ 91 ",
|
|
"$12ae$",
|
|
"$12ae)",
|
|
"$12ae,",
|
|
"$12ae.",
|
|
"$12aez00",
|
|
"$12345"
|
|
]
|
|
str[] posdecstrings = [
|
|
"",
|
|
"0",
|
|
"1",
|
|
"9",
|
|
"$9",
|
|
"10",
|
|
"11",
|
|
"123",
|
|
"255",
|
|
"62221",
|
|
"42 ",
|
|
" 42 ",
|
|
"42$",
|
|
"42)",
|
|
"42,",
|
|
"42.",
|
|
"42aaaa"
|
|
]
|
|
str[] worddecstrings = [
|
|
"",
|
|
"0",
|
|
"1",
|
|
"9",
|
|
"$9",
|
|
"10",
|
|
"11",
|
|
"123",
|
|
"255",
|
|
"62221",
|
|
"42 ",
|
|
" 42 ",
|
|
"42$",
|
|
"42)",
|
|
"42,",
|
|
"42.",
|
|
"42aaaa",
|
|
"-",
|
|
"-0",
|
|
"-1",
|
|
"-9",
|
|
"$9",
|
|
"-10",
|
|
"-11",
|
|
"-123",
|
|
"-255",
|
|
"-62221",
|
|
"-32221",
|
|
"-42 ",
|
|
"- 42 ",
|
|
"-42-",
|
|
"-42$",
|
|
"-42)",
|
|
"-42,",
|
|
"-42.",
|
|
"-42aaaa"
|
|
]
|
|
|
|
uword value
|
|
word wvalue
|
|
uword strptr
|
|
for strptr in binstrings {
|
|
value = conv.bin2uword(strptr)
|
|
txt.print(strptr)
|
|
txt.print(" = ")
|
|
txt.print_uw(value)
|
|
txt.print(" = ")
|
|
txt.print_uwbin(value, true)
|
|
txt.print(" #")
|
|
txt.print_uw(cx16.r15) ; number of chars processedc
|
|
txt.chrout('\n')
|
|
}
|
|
|
|
txt.chrout('\n')
|
|
for strptr in hexstrings {
|
|
value = conv.hex2uword(strptr)
|
|
txt.print(strptr)
|
|
txt.print(" = ")
|
|
txt.print_uw(value)
|
|
txt.print(" = ")
|
|
txt.print_uwhex(value, true)
|
|
txt.print(" #")
|
|
txt.print_uw(cx16.r15) ; number of chars processedc
|
|
txt.chrout('\n')
|
|
}
|
|
|
|
txt.chrout('\n')
|
|
for strptr in posdecstrings {
|
|
value = conv.str2uword(strptr)
|
|
txt.print(strptr)
|
|
txt.print(" = ")
|
|
txt.print_uw(value)
|
|
txt.print(" #")
|
|
txt.print_uw(cx16.r15) ; number of chars processedc
|
|
txt.chrout('\n')
|
|
}
|
|
|
|
txt.chrout('\n')
|
|
for strptr in worddecstrings {
|
|
wvalue = conv.str2word(strptr)
|
|
txt.print(strptr)
|
|
txt.print(" = ")
|
|
txt.print_w(wvalue)
|
|
txt.print(" #")
|
|
txt.print_uw(cx16.r15) ; number of chars processedc
|
|
txt.chrout('\n')
|
|
}
|
|
|
|
|
|
; found = string.find("irmen de jong", ' ')
|
|
; txt.print_uwhex(found, 1)
|
|
; txt.chrout('\n')
|
|
; found = string.find(" irmen-de-jong", ' ')
|
|
; txt.print_uwhex(found, 1)
|
|
; txt.chrout('\n')
|
|
; found = string.find("irmen-de-jong ", ' ')
|
|
; txt.print_uwhex(found, 1)
|
|
; txt.chrout('\n')
|
|
; found = string.find("irmen-de-jong", ' ')
|
|
; txt.print_uwhex(found, 1)
|
|
; txt.chrout('\n')
|
|
|
|
; found = strfinds("irmen de jong", "de")
|
|
; txt.print_uwhex(found, 1)
|
|
; txt.chrout('\n')
|
|
; found = strfinds("irmen de jong", "irmen")
|
|
; txt.print_uwhex(found, 1)
|
|
; txt.chrout('\n')
|
|
; found = strfinds("irmen de jong", "jong")
|
|
; txt.print_uwhex(found, 1)
|
|
; txt.chrout('\n')
|
|
; found = strfinds("irmen de jong", "de456")
|
|
; txt.print_uwhex(found, 1)
|
|
; txt.chrout('\n')
|
|
}
|
|
}
|