{ IFFF LANGUAGE.TRE 0008

. NVIN "-416 \<\>
;       1 2  34567 89-12 3456789-
. NVIN "\xA616 \<\>
; :
. TEST "first test line\x20
. TST2 "second test line\x20
. TNUM x301002
. TNU2 x4088
$ xAA x55
& TST1 x301002 x4088  x302002 x4088
& TST2 .TNUM  x4088  x302002 x4088
& TST3 .TNUM .TNU2    x302002 x4088
. TST4 "primary string
; / continuation 1
; / continuation 2
; / final

[ .TEST ;   

;  - ..   ,   :
.TEST ;   error

;  -     JUMP':
@ JUMP 0 .TST2

;  -   :
@ ADDR .TEST .TST2

? .TST4
; #ABRT ddddddddd

& TEST .TEST .TST2 "third test line!

;  "  "
& RUST " abcdefghijklmnopqrstuvwxyz1234567890!@#$%^&*(),`'-=_+.?/<>|\g\\\\u
; { IFFF core_exe 0002
;   [ 4 "RUST
;   = x000002
;   _ " abcdefghijklmnopqrstuvwxyz1234567890!@#$%^&*(),`'-=_+.?/<>|\g\\\\u
;   ! 4
; } IFFF core_exe 0002

;    -:
;{ TABL KEYT
;  = x301002 x4088  x302002 x4088
;} TABL

;    :
& KEYT x301002 x4088  x302002 x4088
;  
; { IFFF core_exe 0002
;   [ 4 "KEYT
;   = x020003
;   = x301002 x4088  x302002 x4088
;   ! 4
; } IFFF core_exe 0002

; 
. STRI "test

;  (   xlat*.iff;   "v<NN>" ):
; cmp 61, jl
. TUPR xDD
; cmp 41, jl
. TLWR xDD

? .TUPR .TLWR

; 
; . STRI .TLWR .TLWR "test"
. NUMB .TUPR
; . NUM2 .NUMB .TUPR
; . MIX1 .TLWR .TUPR
; . MIX2 .TUPR .TLWR

~ STRI NUMB
; ~ TUPR TLWR

;  
; ? x12345678 .TUPR .TLWR
; ? .STRI
; ~ STRI
; ? .STRI

;  4  <arg1> (&, .)  <arg2> (&, .,   xlat_addr_tabl (xlat.c))
@ ADDR &KEYT &RUST  x301000 x521E5  x301000 x5ADFE  x302000 x521E5  x302000 x5ADFE
;  
; { IFFF core_exe 0003
;   = 0000 'KEYT' 'RUST'
;   [ 4 "KEYT
;   [ 4 "RUST
;   = x301000 x521E5  x301000 x5ADFE  x302000 x521E5  x302000 x5ADFE
;   ! 4
; } IFFF core_exe 0002


;  4  <arg1>    ,   <arg1>,  <arg2>
@ JUMP .TUPR &RUPR  x301000 xA18A6  x302000 xA1936
@ JUMP .TLWR &RLWR  x301000 xA1646  x302000 xA16D6

{ JUMP &RUST "test of direct replace to string
  = x301000 x521E5  x301000 x5ADFE  x302000 x521E5  x302000 x5ADFE
} JUMP

} IFFF LANGUAGE.TRE 0008
