■ このスレッドは過去ログ倉庫に格納されています
FMシリーズを語るスレ Part 12
- 119 :ナイコンさん:2014/03/04(火) 21:49:34.85 .net
- >>106
例えばSUBにプログラムを転送する際のMOVEサブコマンドを使うときなど、
こんな風にしたりとか
;work上に取ったMOVEサブコマンドのデータ列
;サブルーチンXFERによって共有メモリ上にこのままコピーされる
MVCMD:
DB 91H ; MOVEサブコマンド
DW 0D393H ; SUB側共有メモリ上の転送元アドレス
MVDST:
DW 0C000H ; SUB側転送先アドレス
MVLEN:
DW 64 ; 今回転送するバイト数
DB 90H ; ENDサブコマンド
・・・・・・・・・・
LOOP:
CALL XFER ; YAMAUCHIコマンド等もろもろ共有メモリに設定し、転送を実行
LD HL,(MVDST)
LD BC,(MVLEN)
ADD HL,BC
LD (MVDST),HL ; 今回転送仕切れない場合、次回転送する際の転送先
以下、総転送長を減じたり、メイン側に置いているデータのポインタを更新したり、
次回の転送長が64バイトに満たないなら調整したり等して残りがあるならLOOPへ
・・・みたいな。
こんな風にすると1回はRESETするハメになるかなぁってことで。
ああ・・・Z80の組み込みソフト開発に巻き込まれた日々を思い出してきた・・・
辛かったなぁ、あれは orz
総レス数 1000
302 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200