2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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