解析結果 > 武将データ抽出ルーチン

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

武将データ抽出ルーチン 1F836h~

武将データの抽出を行う
おそらくこのゲームで一番利用されているルーチン
  • 準備:レジスタaに武将ID、レジスタyにオフセット値(0=状態、1=体力、2=知力、3=武力など)
  • 結果:レジスタaに武将データ

F826 : 85 01		sta $01		;武将IDM$01にストア
F828 : 98		tya		;yをaに
F829 : 48		pha		;スタックにaをPUSH
F82A : A5 01		lda	$01	;M$01からaにロード
F82C : A0 00		ldy	#$00	;yに00をロード
F82E : 84 01		sty	$01	;yをM$01にストア
F830 : 0A		asl	a	;aをシフト(2倍)※以下武将IDを8倍する操作
F831 : 26 01		rol	$01	;M$01を循環シフト(上記の溢れ(Cフラグ)を拾う)
F833 : 0A		asl	a	;aをシフト(2倍)
F834 : 26 01		rol	$01	;M$01を循環シフト(上記の溢れ(Cフラグ)を拾う)
F836 : 0A		asl	a	;aをシフト(2倍)
F837 : 26 01		rol	$01	;M$01を循環シフト(上記の溢れ(Cフラグ)を拾う)
F839 : 18		clc		;
F83A : 69 38		adc	#$38	;$6438(武将の能力値の開始アドレス)の下位桁$38にaを足す
F83C : 85 00		sta	$00	;M$00に格納
F83E : A5 01		lda	$01	;aにM$01をロード
F840 : 69 64		adc	#$64	;$6438(武将の能力値の開始アドレス)の上位桁$64にaを足す
F842 : 85 01		sta	$01	;M$01に格納
F844 : 68		pla		;スタックからaにPULL
F845 : A8		tay		;aをyに格納
F846 : B1 00		lda	($00),y	;M$00から16ビット(M$01+M$00のアドレス)+yからaにロード
F848 : 60		rts		;


最終更新:2012年06月09日 17:57