- 1 名前:デフォルトの名無しさん [2006/05/24(水) 01:43:34 ]
- アセンブラ全般に関するスレッドです。
【前スレ】 アセンブラ… ヽ(゚∀゚)ノフォーウ! pc8.2ch.net/test/read.cgi/tech/1132761638/ 過去ログは>>2辺り
- 481 名前:デフォルトの名無しさん mailto:sage [2006/09/22(金) 03:38:12 ]
- 環境や前提条件をまず示してくれ。話はそれから。
おそらくブート時のロード処理だと見当はつくが。 或いは逆アセしてみて意図したコード(0x8000への絶対ジャンプ)に きちんと変換されたかを確認するとか。
- 482 名前:デフォルトの名無しさん mailto:sage [2006/09/22(金) 07:27:25 ]
- *0x8000だと、0x8000番地にある16ビットの値をアドレスとして処理する。
0x8000番地に飛ばすならjmp $0x8000が正解だと思う‥‥
- 483 名前:482 mailto:sage [2006/09/22(金) 07:52:23 ]
- >>480のコードをちょっと修正。文法からGASを使っていると仮定。
バッファのアドレスを指定するときはBXレジスタも設定しないと駄目かと。 セグメント指定しているなら、セグメント間ジャンプで飛ばした方が確実。 MOVW $0x800, %AX MOVW %AX, %ES MOVW $0, %BX ; ES:BX = 0x800:0x0 MOVB $0x00, %CH MOVB $0x02, %CL MOVB $0x00, %DH MOVB $0x00, %DL MOVB $0x02, %AH MOVB $0x01, %AL INT $0x13 LJMP $0x800,$0
|

|