instr

instrと言う命名は間違えてるような気もするし、前述のlr_splitにその実装を頼っていることから、後で変更するかも知れないけど、あると便利な関数。

numalias instr_target
numalias instr_str
numalias instr_pos
numalias instr_left
numalias instr_right
numalias instr_len
------
------
;==============================
; instr
;==============================
;機能:文字列の中に、別の文字列を挿入する。
;引数:挿入対象の文字列変数、挿入したい文字列そのもの、挿入する位置(0から数える)
 *instr
getparam s%instr_target,$instr_str,%instr_pos
lr_split $instr_left,$instr_right,$%instr_target,%instr_pos
; つなげる
mov $%instr_target,$instr_left
add $%instr_target,$instr_str
add $%instr_target,$instr_right
return
;==============================
; addleft
;==============================
;機能:文字列の先頭に、別の文字列を挿入する。
;引数:挿入対象の文字列変数、挿入したい文字列
 *addleft
getparam s%instr_target,$instr_str
mov $instr_left,$%instr_target
mov $%instr_target,$instr_str
add $%instr_target,$instr_left
return

addleftの命令は、文字列に対するadd命令と対になると思ってそうしたけど、長いような気がする。