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命令と対になると思ってそうしたけど、長いような気がする。