漏れは今までにC、C++、Pascal、HSP、JS、VBなど
数々の言語を極めてきたがやはり一番手にしっくりくる言語は機械語だ。
だから、機械語のことなら何でも質問しろ!
ただプログラムのコードなんかは長くなるがな。 あ、ASMの話でもいいよ。
探検
機械語なら俺に質問しろ!その2
■ このスレッドは過去ログ倉庫に格納されています
2012/12/29(土) 08:00:24.36
13095
2013/02/15(金) 17:10:10.76 >>128 実行空間と格納空間を別に指定できるLINKの仕方がHewにあるかどうか
なのですよ。ビルド−ツールチェイン−リンカのタブにそれっぽいのが無いみたい。
それがあれば、例えばFFFF0000番地にロードするイメージを00100000番地に格納
みたいなことができるのですけどね。ただ、コンパイラのマニュアルにpic,pidオプション
ってのがある所から見ると、copyしても動くようなオプションつけてビルドしなさいと読める
なのですよ。ビルド−ツールチェイン−リンカのタブにそれっぽいのが無いみたい。
それがあれば、例えばFFFF0000番地にロードするイメージを00100000番地に格納
みたいなことができるのですけどね。ただ、コンパイラのマニュアルにpic,pidオプション
ってのがある所から見ると、copyしても動くようなオプションつけてビルドしなさいと読める
131デフォルトの名無しさん
2013/02/15(金) 18:26:44.31 FFFF0000番地にロードするイメージのhexファイルを一度作って
00100000番地に格納出来るhexファイルに加工するほうが
悩まなくて済むような
00100000番地に格納出来るhexファイルに加工するほうが
悩まなくて済むような
13295
2013/02/16(土) 03:47:45.45 いや、だからそれは再配置情報が失われているって(w
13395
2013/02/16(土) 04:34:12.70 コンパイラマニュアルのリンケージエディタの使い方:セクションオプションの章を見ると
>>130 みたいな割り付け方法は無さそう。なので一般的な手法としては pic,pid 指定を
付けてビルドし、130の例で言えば00100000番地でリンク、実行時にFFFF0000番地へ
copyして実行、という流れになると思います。固定ベクタのResetVect(再末尾)は
ROMの実行開始部を指し、そこは最低限RAMへcopyしてジャンプするコードを置く。
Hardwaresetup( ) の部分なんかはRAMで実行する必然性は無いので、reset時ROMで
実行してもかまわないでしょう。ただ、「RAMで実行することが必然」 な機能が何かという
ことを考えてゆくと、以前の仕事みたいにROMとRAMを行き来する手法もありかな、と。
後者の利点は、CODEを置くためのRAMが少量で済むこと・再配置情報が無いルーチン
だけを置くことで再配置問題を回避できること。
>>130 みたいな割り付け方法は無さそう。なので一般的な手法としては pic,pid 指定を
付けてビルドし、130の例で言えば00100000番地でリンク、実行時にFFFF0000番地へ
copyして実行、という流れになると思います。固定ベクタのResetVect(再末尾)は
ROMの実行開始部を指し、そこは最低限RAMへcopyしてジャンプするコードを置く。
Hardwaresetup( ) の部分なんかはRAMで実行する必然性は無いので、reset時ROMで
実行してもかまわないでしょう。ただ、「RAMで実行することが必然」 な機能が何かという
ことを考えてゆくと、以前の仕事みたいにROMとRAMを行き来する手法もありかな、と。
後者の利点は、CODEを置くためのRAMが少量で済むこと・再配置情報が無いルーチン
だけを置くことで再配置問題を回避できること。
134デフォルトの名無しさん
2013/02/16(土) 09:03:49.43 開始アドレスだけかえて複数のhexファイルつくって、
比較して、reloc情報を起こせばいいんじゃないかと
そんなので済むかって?
そんなので済むように書けるのが、機械語じゃないかw
比較して、reloc情報を起こせばいいんじゃないかと
そんなので済むかって?
そんなので済むように書けるのが、機械語じゃないかw
13595
2013/02/19(火) 05:00:31.82 以前書いたブートコードは、割り込みを使わずuartはポーリングで書いたのですが、
今回の石ではその手法は使えないことが判りました。なんと、uartのステータスregに
RXRDY,TXRDYのフラグが無いの(*o*) だから受信・送信のトリガーは必ず割り込みで
取らないといけない。 これで解らないのがベクタとpic,pid機能との関連。
ベクタ(=割り込み処理コードのアドレス)、処理(=ROMの10000番地に実行コード)
このベクタと処理をRAMの100000番地に書き写したとしても、ベクタの指す先はやはり
10000番地のままだから、割り込みが発生したら10000番地が実行されてしまうよね。
今回の石ではその手法は使えないことが判りました。なんと、uartのステータスregに
RXRDY,TXRDYのフラグが無いの(*o*) だから受信・送信のトリガーは必ず割り込みで
取らないといけない。 これで解らないのがベクタとpic,pid機能との関連。
ベクタ(=割り込み処理コードのアドレス)、処理(=ROMの10000番地に実行コード)
このベクタと処理をRAMの100000番地に書き写したとしても、ベクタの指す先はやはり
10000番地のままだから、割り込みが発生したら10000番地が実行されてしまうよね。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か [ぐれ★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★2 [ぐれ★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★8 [蚤の市★]
- 京都のホテル大幅値下げ 訪日中国人客、年1000万人目前で急ブレーキ [蚤の市★]
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 ★3 [蚤の市★]
- 現場からは悲鳴、母親からは「高い」「性犯罪が怖い」の声も…高市総理がどうしても実現したい政策「ベビーシッターの利用促進」 [ぐれ★]
- 議員定数削減法案、廃案へwmwmwmmwmwmwmw [834922174]
- 【高市悲報】NHKニュース「発狂している中国に対して、日本は至って冷静」😳 [762037879]
- トライアルって行ったことないんだけど
- 【悲報】男「セックスしなくなったら彼女のことだんだん許せなくなったわ」→炎上wwwwwwwwwwwwwwwwwwww [802034645]
- CoCo壱で1256円分食べるとこうなる
- おかゆ、紙面を飾るなとあれほど言ったのに飾ってしまう🏡
