qasm/testdata/2005-string-types.S

148 lines
6.3 KiB
ArmAsm

; Copyright 2018 faddenSoft. All Rights Reserved.
; See the LICENSE.txt file for distribution terms (Apache 2.0).
;
; Assembler: Merlin 32
rts
* simple strings
* High-ASCII quoted text uses embedded high-ascii double-quotes, mostly to
* test Merlin's behavior. Note that a mix of high- and low-ASCII won't be
* handled as a single string.
asc 'low ASCII str'
dfb $80
asc "high ASCII str"
dfb $80
asc 27,'low',27,'quoted',222727,'text'
dfb $80
asc A2,"high",A2,"quoted",A7A2A2,"text"
dfb $80
asc '01234567890123456789012345678901234567890123456789012345678901234567890123456789' ; 80 chars
dfb $80
* edge cases for 64-char operand, single-quote delimiter (primarily for Merlin 32)
asc '0123456789012345678901234567890123456789012345678901234567',272727
dfb $80
asc '01234567890123456789012345678901234567890123456789012345678',272727
dfb $80
asc '012345678901234567890123456789012345678901234567890123456789',272727
dfb $80
asc '0123456789012345678901234567890123456789012345678901234567890',272727
dfb $80
asc '01234567890123456789012345678901234567890123456789012345678901',272727
dfb $80
* edge cases for 64-char operand, double-quote delimiter (primarily for cc65)
asc '012345678901234567890123456789012345678901234567890167',222222
dfb $80
asc '0123456789012345678901234567890123456789012345678901678',222222
dfb $80
asc '01234567890123456789012345678901234567890123456789016789',222222
dfb $80
asc '012345678901234567890123456789012345678901234567890167890',222222
dfb $80
asc '0123456789012345678901234567890123456789012345678901678901',222222
dfb $81
* 62 high-ASCII underscores. Should be one line.
asc "********************************"
asc "******************************"
dfb $80
* 96 high-ASCII underscores. Might be converted to "fill".
asc "********************************"
asc "********************************"
asc "********************************"
dfb $81
* reverse strings; cannot intersperse hex
rev 'low ASCII rev'
dfb $80
rev "high ASCII rev"
dfb $80
rev 'No man is an island, entire of itself; every man is a piece of the continent, a part of the main. If a clod be washed away by the sea, Europe is the less. As well as if a promontory were. As well as if a manor of thy friends or of thine own were. Any mans death diminishes me, because I am involved in mankind, and therefore never send to know for whom the bell tolls; it tolls for thee.' ; 389 chars
dfb $81
* null-terminated strings
dfb $00 ;empty string, requires project edit
dfb $80
asc 'low ASCII strz',00
dfb $80
asc "high ASCII strz",00
dfb $80
asc 27,'low',27,'quoted',222727,'text',00
dfb $80
asc A2,"high",A2,"quoted",A7A2A2,"text",00
dfb $80
asc '012345678901234567890123456789012345678901234567890123456789',27272700
dfb $80
asc '01234567890123456789012345678901234567890123456789012345678901234567890123456789',00
dfb $81
* string with leading length byte
str '' ;requires project edit
dfb $80
str 'low ASCII str1'
dfb $80
str "high ASCII str1"
dfb $80
str 27,'low',27,'quoted',222727,'text'
dfb $80
str A2,"high",A2,"quoted",A7A2A2,"text"
dfb $80
str '012345678901234567890123456789012345678901234567890123456789',272727
dfb $80
str '01234567890123456789012345678901234567890123456789012345678901234567890123456789'
dfb $81
* string with leading length word
strl '' ;requires project edit
dfb $80
strl 'low ASCII str2'
dfb $80
strl "high ASCII str2"
dfb $80
strl 27,'low',27,'quoted',222727,'text'
dfb $80
strl A2,"high",A2,"quoted",A7A2A2,"text"
dfb $80
strl '012345678901234567890123456789012345678901234567890123456789',272727
dfb $80
strl '01234567890123456789012345678901234567890123456789012345678901234567890123456789'
dfb $80
strl 'No man is an island, entire of itself; every man is a piece of the continent, a part of the main. If a clod be washed away by the sea, Europe is the less. As well as if a promontory were. As well as if a manor of thy friends or of thine own were. Any mans death diminishes me, because I am involved in mankind, and therefore never send to know for whom the bell tolls; it tolls for thee.' ; 389 chars
dfb $81
* DCI (dextral character inverted)
dci 'low ASCII dci'
dfb $80
dci "high ASCII dci"
dfb $80
dci 27,'low',27,'quoted',222727,'text'
dfb $80
dci A2,"high",A2,"quoted",A7A2A2,"text"
dfb $80
dci '012345678901234567890123456789012345678901234567890123456789',272727
dfb $80
dci '01234567890123456789012345678901234567890123456789012345678901234567890123456789'
dfb $81
* reverse DCI (deprecated, requires project edit)
asc F2,'icd IICSA wol'
dfb $80
asc 72,"icd IICSA hgih"
dfb $80
asc B9,'8765432109876543210987654321098765432109876543210987654321098765432109876543210' ; 80 chars
dfb $80
asc AE,'eeht rof sllot ti ;sllot lleb eht mohw rof wonk ot dnes reven erofereht dna ,dniknam ni devlovni ma I esuaceb ,em sehsinimid htaed snam ynA .erew nwo eniht fo ro sdneirf yht fo ronam a fi sa llew sA .erew yrotnomorp a fi sa llew sA .ssel eht si eporuE ,aes eht yb yawa dehsaw eb dolc a fI .niam eht fo trap a ,tnenitnoc eht fo eceip a si nam yreve ;flesti fo eritne ,dnalsi na si nam oN'
dfb $81