mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 18:22:07 +00:00
56 lines
1.3 KiB
NASM
56 lines
1.3 KiB
NASM
; characters:
|
||
; 1: U+0061 a
|
||
; 2: U+00E4 a with diaresis (0xC3 0xA4)
|
||
; 3: U+0062 b
|
||
; 4: U+6F22 kanji (0xE6 0xBC 0xA2)
|
||
; 5: U+002C ,
|
||
; 6: U+0061 a
|
||
; 7: invalid byte 0xA3
|
||
; 8: invalid byte 0xA4
|
||
; 9: U+0062 b
|
||
; 10: invalid bytes 0xE6 0xF0
|
||
; 11: invalid byte 0xA2
|
||
; 12: U+0021 !
|
||
DEF invalid EQUS "aäbæ¼¢,a£¤bæð¢!"
|
||
|
||
DEF n = STRLEN("{invalid}")
|
||
DEF copy EQUS STRSUB("{invalid}", 1)
|
||
|
||
println "\"{#s:invalid}\" == \"{#s:copy}\" ({d:n})"
|
||
|
||
DEF mid1 EQUS STRSUB("{invalid}", 5, 2)
|
||
DEF mid2 EQUS STRSUB("{invalid}", 9, 1)
|
||
println "\"{#s:mid2}{#s:mid1}\""
|
||
|
||
; characters:
|
||
; 1: U+0041 A
|
||
; 2: U+0020 space
|
||
; 3: invalid byte 0xFE
|
||
; 4: invalid byte 0x81
|
||
; 5: invalid byte 0xFF
|
||
; 6: U+0020 space
|
||
; 7: U+6F22 kanji (0xE6 0xBC 0xA2)
|
||
REDEF invalid EQUS "A þ<>ÿ æ¼¢"
|
||
|
||
DEF n = STRLEN("{invalid}")
|
||
DEF r = CHARLEN("{invalid}")
|
||
println "\"{#s:invalid}\": {d:n} == {d:r}"
|
||
|
||
REDEF mid1 EQUS CHARSUB("{invalid}", 4)
|
||
REDEF mid2 EQUS CHARSUB("{invalid}", 7)
|
||
println "\"{#s:mid2}{#s:mid1}\""
|
||
|
||
; characters:
|
||
; 1: U+0061 a
|
||
; 2: U+0062 b
|
||
; 3: U+0063 c
|
||
; 4: incomplete U+6F22 kanji (0xE6 0xBC without 0xA2)
|
||
REDEF invalid EQUS "abcæ¼"
|
||
|
||
DEF n = STRLEN("{invalid}")
|
||
DEF r = CHARLEN("{invalid}")
|
||
println "\"{#s:invalid}\": {d:n} == {d:r}"
|
||
|
||
DEF final EQUS STRSUB("{invalid}", 4, 1)
|
||
println "\"{#s:invalid}\" ends \"{#s:final}\""
|