[過去ログ] C言語なら俺に聞け 161 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
703: (ラクッペペ MMc6-se1G) 2023/09/25(月)19:02 ID:ULcnNiWhM(1) AAS
スタートアップルーチンは内蔵フラッシュメモリ(かマスクROM)に記録されておりベクターテーブル(スタートアップの一部)にリセット割込みのエントリーアドレスを格納しておく
マイコンの電源ONでリセット割込みが発生するとスタートアップルーチン先頭からプログラムカウンタに沿って実行されメモリ変数やスタック領域、SFRの初期設定を行い最後にCのメイン関数が呼び出される
704(1): (スッップ Sdaa-cHxT) 2023/09/25(月)21:31 ID:SHu1A0tUd(1) AAS
>>697
const って何の略でしょう
705: はちみつ餃子◆8X2XSCHEME (ワッチョイ 273e-MH8p) 2023/09/25(月)22:04 ID:ubRrbZbh0(2/2) AAS
>>704
C の変数は const を付けても (C の用語で言うところの) 定数にはならない。
C++ では異なるし、言語仕様の定義でなく単に事前に与える値くらいのニュアンスで定数という用語を使っている解説とかもあって混乱しやすい用語ではある。
706(1): (ワッチョイ 8aad-/va4) 2023/09/26(火)00:22 ID:+uZUPLZA0(1) AAS
const の変数は値の変更が不可能なので、それを利用してコンパイラが最適化することも出来るというだけで、必ず最適化しなければならないとかROMに割り付けなければならないみたいな決まりはない筈。
707(1): (ワッチョイ 6b01-PB4I) 2023/09/26(火)00:49 ID:h6rxe/Hl0(1) AAS
RAM2KBの環境ではROMに割り付けてもらわないと非常に困る
708: (ワッチョイ 07e5-+HDL) 2023/09/26(火)01:39 ID:kR568CEo0(1) AAS
>>707
ならそうしなさいよ、リンカスクリプトで
という話では?
709: (ラクッペペ MMc6-se1G) 2023/09/26(火)06:43 ID:9+lSh1ncM(1) AAS
組込みで定数を扱うならdefine定義でソースに埋め込むのが普通
constはregisterと同じ扱いなので>>706の言うとおり
710: (ワッチョイ 0703-oBwi) 2023/09/26(火)09:03 ID:HGB+okJ70(1) AAS
いまどきのROM化環境のC言語にゃsectionで領域グループを指定する命令は無いのけ?
711: (ラクッペペ MMc6-se1G) 2023/09/26(火)10:31 ID:HDnmN3YRM(1) AAS
>>699のマイコンの場合だと
スタートアップ
外部リンク[html]:tool-support.renesas.com
コーディング例
外部リンク[html]:tool-support.renesas.com
712: (ワッチョイ 1ecf-44ew) 2023/09/27(水)00:11 ID:mIITHIHe0(1) AAS
セクションの初期化を割り当てというから混乱するんだろう
割り当てはリンク時にもう全部終わってる
713: (ラクッペペ MMc6-se1G) 2023/09/27(水)01:37 ID:tguPsVh8M(1) AAS
静的な変数はリンク時はextern宣言で外部定義しておきスタートアップルーチンでセクション割当てすることでメモリ配置を確定させるのが一般的
リンクリストで自動変数以外のすべての使用変数を漏れなく割当てできているか確認する必要がある
714(1): (ワッチョイ 0a1f-oBwi) 2023/09/27(水)09:48 ID:I/ozjFX50(1/2) AAS
人間様はリンカーにセクション配置アドレスを教えるのが仕事だった時代もありました
715(1): (ワッチョイ 1e63-CSnM) 2023/09/27(水)10:10 ID:lrg7uRD+0(1/5) AAS
ハードウェア上のメモリー配置を教えるのは、いまでも人間なんじゃないの?
716: (ワッチョイ 0a1f-oBwi) 2023/09/27(水)10:12 ID:I/ozjFX50(2/2) AAS
>>715
ワンチップマイコンなら型番から自動で割り当ててくれるよ
まあ、外付けメモリ分は手動だけどな
717: (ラクッペペ MMc6-se1G) 2023/09/27(水)11:19 ID:0hujVwVvM(1) AAS
静的変数と自動変数(スタック領域)の容量の割り当ての最終的な決定は人間の仕事
あまり変数に領域を取りすぎるとスタックの分が無くなる
718: (ワッチョイ 3b15-cHxT) 2023/09/27(水)11:22 ID:rbbJx+dJ0(1) AAS
>>714
組み込みでそんな優雅なこと言ってたらバグも直せん
719: (ワッチョイ a310-WMZf) 2023/09/27(水)11:23 ID:Rw0J2Yjq0(1) AAS
昔のトラブルの癖で1Mバイト以上の領域、配列が必要ならmallocで確保するようにしてる・・・。
720: (ラクッペペ MMc6-7af3) 2023/09/27(水)11:53 ID:8vHXVA1WM(1) AAS
mallocは64KBまでだろ……
721: (ワッチョイ 6a95-+EvS) 2023/09/27(水)12:26 ID:9Ywamwi50(1) AAS
・・・16bit?オフセットアドレス範囲?
722: (アウアウウー Sacf-PB4I) 2023/09/27(水)13:10 ID:OOPn+kCla(1/3) AAS
8086の時代だろ
EMSのページング
723: (ワッチョイ 1e63-CSnM) 2023/09/27(水)15:08 ID:lrg7uRD+0(2/5) AAS
いやそれ以前のCPUの仕様
724: (アウアウウー Sacf-j351) 2023/09/27(水)16:10 ID:OOPn+kCla(2/3) AAS
それ以前だと本体メモリでも64kBフル積んでるの少なくないか
725: (ワッチョイ 1e63-CSnM) 2023/09/27(水)16:12 ID:lrg7uRD+0(3/5) AAS
8086積んでた当時のPCは128程度は積んでたと思うが
64でフルになるのはZ80のような8ビットPCでの話
726: (アウアウウー Sacf-j351) 2023/09/27(水)16:25 ID:OOPn+kCla(3/3) AAS
それ以前のそれに8086を含んでるなら矛盾はしない
727: (ワッチョイ 1e63-CSnM) 2023/09/27(水)16:26 ID:lrg7uRD+0(4/5) AAS
8086でフルに積むメモリの意味が分からん
728: はちみつ餃子◆8X2XSCHEME (ワッチョイ 273e-ClgD) 2023/09/27(水)16:44 ID:Q9yfznPE0(1/2) AAS
この場合の「フル」はメモリ空間いっぱいのことなんじゃないの。
バンク切り換えまで含めたらいくらでも拡張の余地はあるけど
malloc でバンクを跨ぐわけにはいかんし。
729: (ワッチョイ 1e63-CSnM) 2023/09/27(水)17:00 ID:lrg7uRD+0(5/5) AAS
8086のアドレスバスは20ビットだから、1MB実装できる
730: (ワッチョイ 07e5-+HDL) 2023/09/27(水)18:45 ID:3YDDpoD+0(1/2) AAS
勉強になります
731(1): (ワッチョイ 1a94-oRtz) 2023/09/27(水)19:57 ID:3fbQ67ov0(1) AAS
勉強と言ってももう40年近く昔の知識だぞ
今どき役に立つことなんかあるか?
732: (ワッチョイ 07e5-+HDL) 2023/09/27(水)21:07 ID:3YDDpoD+0(2/2) AAS
>>731
すいません、ないです。ただ知的好奇心が非常に満たされます。
733: はちみつ餃子◆8X2XSCHEME (ワッチョイ 273e-MH8p) 2023/09/27(水)22:18 ID:Q9yfznPE0(2/2) AAS
レトロコンピュータの資料は探せばいくらでもあるが
面白いところだけ選んで読むというわけにはいかんからな。
読む前にどれが面白いのか判断できるわけもないし、
相互に関連があるので一部の資料だけ見ても意味がわからん。
話題に関連する形で昔の話が出てくるのは
それなりに興味深いということもあるんだろう。
734: (ワッチョイ 0a64-gIzx) 2023/09/27(水)23:14 ID:zQBl5fyt0(1) AAS
ITの歴史を知ることは為になる
温故知新
735(4): (ワッチョイ 6a14-xAvD) 2023/09/28(木)00:01 ID:bZti02EO0(1) AAS
スレ違いだったら申し訳ない
c言語でコンパイルした実行ファイルってosのAPIを使用してなければ別々のosで動かせますか?
cpuアーキは同じ前提です。
736: (ワッチョイ 0716-oBwi) 2023/09/28(木)00:29 ID:gnUHVRPF0(1) AAS
>>735
そもそも実行環境自体がos依存だろ
737: (アウアウウー Sacf-j351) 2023/09/28(木)00:42 ID:wsjwbbNAa(1/3) AAS
CPU同じならセットアップの問題とIO関係のクリア出来てたらそこそこは動くんじゃないか
738: (アウアウウー Sacf-j351) 2023/09/28(木)00:47 ID:wsjwbbNAa(2/3) AAS
割とマジで試したいなら
Bochs とか QEMU とかで
OS 無しで動かしてみたら良い
739: (ワッチョイ 1e63-s5vX) 2023/09/28(木)00:55 ID:9pgsrChg0(1/7) AAS
スタートアップ辺りにOS依存が有りそう
740: はちみつ餃子◆8X2XSCHEME (ワッチョイ 273e-MH8p) 2023/09/28(木)01:27 ID:6irLEr1Q0(1/4) AAS
>>735
原則としては無理。
実行ファイルをメモリに展開して準備するローダがOSの一部だからOS の上で実行するならOSの機能は呼ばれることになる。
実行ファイルの形式が linuxとかだとelf が標準だけどwindowsではpeで、全く互換性はない。
ただ、複数のOSで動く実行ファイルを作るトリックは存在する。
外部リンク[html]:justine.lol
741: (アウアウウー Sacf-j351) 2023/09/28(木)06:25 ID:wsjwbbNAa(3/3) AAS
>>735
大前提が違ってたな
コンパイルしただけでは実行ファイルは造られない
リンカとローダーを通して初めて実行可能なファイルになる
742: (ワッチョイ 07e5-+HDL) 2023/09/28(木)07:43 ID:7Zdppbze0(1) AAS
>>735
質問者さんは下記の概要を知ると、参考になるかもです
「組み込み開発でベンダーロックを避けるためにマルチハードにしたい開発チームが、対象ハードごとのgccをビルドして用意する手順」
ややこしいし大変なので、ザッとで十分です
参考までに私が買った本(全部読んだとは言ってない)
「LINUX組み込みシステム」
クレイグ・ホーラボウ
ピアソンエデュケーション
743(1): (ワッチョイ a310-WMZf) 2023/09/28(木)08:41 ID:VP1D2tYa0(1/2) AAS
PC-98用のDOSアプリをTOWNSやAT互換機のDOSで動かしてはいたなぁ。
BIOSコールや各ハード特有機能を使わないアプリに限定されるけど。
744: (ワッチョイ 3b15-cHxT) 2023/09/28(木)09:51 ID:wMng62Lu0(1/3) AAS
>>743
OSが同じなら動くのが当然
MS-DOSがアレだから普通は動かないけどw
745: (ワッチョイ 1e63-CSnM) 2023/09/28(木)10:01 ID:9pgsrChg0(2/7) AAS
MS-DOSのシステムコールって機種によらず共通でしょ
746: (ワッチョイ 0a1f-oBwi) 2023/09/28(木)10:02 ID:uRtj8fwF0(1/4) AAS
TOWNSはTownsOSだろ
747: (アウアウウー Sacf-j351) 2023/09/28(木)10:04 ID:7+/lnWbqa(1/3) AAS
NHKでタマにやってる「我が社の黒歴史」で
FM-TOWNSを取り上げて欲しいな
748: (ワッチョイ 0a1f-oBwi) 2023/09/28(木)10:15 ID:uRtj8fwF0(2/4) AAS
TownsOSはMacOSみたいなGUIを提供してたんだよな
今やWindows到来って時代にだ
749(1): (ワッチョイ 1e63-CSnM) 2023/09/28(木)10:16 ID:9pgsrChg0(3/7) AAS
TownsOSはMS-DOSを拡張したものだし、
チャレンジ精神を評価する事はあっても
黒歴史とするのはあんまりだ
750: (ワッチョイ 0a1f-oBwi) 2023/09/28(木)10:20 ID:uRtj8fwF0(3/4) AAS
>>749
番組見たら考え方変わるよw
751(1): (ワッチョイ 1e63-CSnM) 2023/09/28(木)10:24 ID:9pgsrChg0(4/7) AAS
「我が社の黒歴史」ってやるなら、
是非NHK自身をネタにしてください
ライブドア事件の時、
ニュースに飛びついたNHK社員が
一斉にインサイダー取引で株売買してました
家族にも教えてたそうです
弁護士による内部調査を実施しましたが
社員の多くが調査拒否してましたよ
どんだけ暇なんだろうって思いました
752: (ワッチョイ 5301-oBwi) 2023/09/28(木)10:32 ID:Ev8os2Ag0(1) AAS
あの番組は、黒歴史があるから今の発展がある
みたいなノリの番組だから、後がない企業は扱わないよw
753: (ワッチョイ 7f8e-se1G) 2023/09/28(木)10:41 ID:XO3PoFmz0(1) AAS
TownsOSのこと言うならWin3.1も大して変わらないと思う
どちらもMS-DOSの上で動くGUIシェルの中のひとつ
754: (ワッチョイ 1e63-CSnM) 2023/09/28(木)10:42 ID:9pgsrChg0(5/7) AAS
当時のTownsは386採用し、MS-DOSを拡張して32ビットアクセスを実装してました
DOSが64Kの壁を越えられない時代にギガ単位のメモリをリニアに使える環境を実現
これを使ったゲームが人気でしたね
今から見れば当たり前のことで、何それって時代になってしまいましたが
DOS上のゲームでもこの方式を独自に採用したのがありました
DESCENTが有名だったかな
外部リンク:ja.wikipedia.orgエクステンダ
755(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 273e-ClgD) 2023/09/28(木)10:51 ID:6irLEr1Q0(2/4) AAS
富士通の公式サイトに富士通の歴史の一部として Towns の記述はあるよ。
結果的に廃れたけど黒歴史ということはない。 当時はそれなりにユーザもいた。
756: (アウアウウー Sacf-j351) 2023/09/28(木)10:56 ID:7+/lnWbqa(2/3) AAS
>>751
NHKはまだ産まれ変わってないから「わが社の黒歴史」に出る資格が無い
757: (ワンミングク MMfa-/HEw) 2023/09/28(木)10:59 ID:A0Yya1hOM(1) AAS
スレチですね
758: (アウアウウー Sacf-j351) 2023/09/28(木)11:02 ID:7+/lnWbqa(3/3) AAS
>>755
この前はYAMAHAのFM音源が「わが社の黒歴史」に出てたよ
759(1): (ワッチョイ 1e63-CSnM) 2023/09/28(木)11:04 ID:9pgsrChg0(6/7) AAS
16ビットの制約で64キロバイトメモリしか確保できない時代から
一気に4GBメモリがリニアにアクセスできるようになった時は感動しましたよ
64ビットでは、あんまり感動はなかったな、なんでだろう
760: はちみつ餃子◆8X2XSCHEME (ワッチョイ 273e-ClgD) 2023/09/28(木)12:06 ID:6irLEr1Q0(3/4) AAS
勉強してなかったからテストの点数が心配だなー チラッ チラッ
みたいな番組なわけだな。
761: (ワッチョイ 0afd-e2p4) 2023/09/28(木)12:09 ID:MA2VSxCx0(1) AAS
>>759
64KBを超える事より4GBを超えることの方が圧倒的に少ないからだな
762: (ワッチョイ 3b15-cHxT) 2023/09/28(木)12:44 ID:wMng62Lu0(2/3) AAS
ちょっと本気でプログラム組みだせばコードサイズ64KBなんてすぐ超える
一方1MBなんて集団でごちゃごちゃやってないかぎり超えない
763: (ワッチョイ 0a1f-oBwi) 2023/09/28(木)12:53 ID:uRtj8fwF0(4/4) AAS
アセンブラで組めばそんな大量のデータサイズにならんよ
764: (ワッチョイ 3b15-cHxT) 2023/09/28(木)13:56 ID:wMng62Lu0(3/3) AAS
データじゃなくてコードサイズの話なんだけど
ちょっと凝った仕様を入れようとすると64Kbくらいは簡単に超える
泣く泣く削るか無理して分割ロードにするか
8ビット時代はそんな感じだったな
765: (ワッチョイ 1eab-xvpL) 2023/09/28(木)14:22 ID:+fR7sAVf0(1) AAS
コード領域の自己書き換えでやりくりやりくり
766: (ワッチョイ a310-WMZf) 2023/09/28(木)14:40 ID:VP1D2tYa0(2/2) AAS
昔のPRGとかメニュー開くとCDアクセス始めるゲームとかあったなぁ。
メモリー足りず、フィールド、戦闘、メニュー毎にプログラム読み直してるのかと思った。
767: はちみつ餃子◆8X2XSCHEME (ワッチョイ 273e-ClgD) 2023/09/28(木)15:31 ID:6irLEr1Q0(4/4) AAS
Turbo C++ の MS-DOS 版にダイナミックロードを補助するライブラリが付いてなかったっけ?
うろおぼえだけど。
768: (スフッ Sdaa-TrDt) 2023/09/28(木)18:41 ID:KRBURPw6d(1) AAS
あったよ
うろ覚えだけど
769: (ワッチョイ 8a79-aeRl) 2023/09/28(木)19:15 ID:0dpaiugf0(1) AAS
>Turbo C++
TurboがC++だった頃なんてあったかな
770: (ワッチョイ 1e63-CSnM) 2023/09/28(木)19:19 ID:9pgsrChg0(7/7) AAS
あった
>1990年5月、ボーランドは Turbo C から Turbo C++ へと移行し、アマチュア向け・ローエンド製品を
>Turbo C++、プロ向け・ハイエンド製品を Borland C++ として2系統に展開した。
外部リンク:ja.wikipedia.org
771: (ワッチョイ 6a36-WMZf) 2023/09/28(木)20:46 ID:O4GqiEoW0(1) AAS
DOSでも増設メモリに32bitレジスタでアクセス出来たのなら・・・
772: (ワッチョイ 0a64-gIzx) 2023/09/28(木)22:44 ID:qNYo9AZZ0(1) AAS
それがDOSエクステンダだろ
GO32には世話になった
773: (ワッチョイ 23ad-2pcI) 2023/10/02(月)02:12 ID:hWT/DRlk0(1) AAS
X68000 もよろしく
774: (アウアウウー Sa89-5C2y) 2023/10/05(木)17:17 ID:WXXGTjkDa(1) AAS
黒歴史度はFM-TOWNSとX68000とどっちがどっち?
775(1): (ワッチョイ 2379-Fe8P) 2023/10/05(木)19:38 ID:k4EJU+WL0(1) AAS
何が黒歴史だ
どっちも国産パソコンに革命起こしたんだよ
776: (ワッチョイ cb63-tvb5) 2023/10/05(木)19:43 ID:4Dr5MGJz0(1) AAS
TOWNSやX68000の話というのは、
PCやOSの話題にはなってもC言語の話題ではない
777: (ワッチョイ 2db0-SLAb) 2023/10/06(金)19:26 ID:0FrwfOPH0(1) AAS
>>775
パソコンでありながらゲームしか宣伝してなくて当時発達著しかったゲーム機に負けただけで革命もクソもねえw
778(1): (ワッチョイ cb63-tvb5) 2023/10/06(金)19:35 ID:UFkJ0Gsc0(1/2) AAS
ゲーム機とPCで切磋琢磨してたんだろ
ゲーム機にだって栄枯盛衰はあぅたよ
そういえばプレステにLinux入れてアプリ作って動かしてた人いたなあ
プレステは高性能すぎて、特定国への輸出が規制を受けてた
779: (ワッチョイ cb63-tvb5) 2023/10/06(金)19:43 ID:UFkJ0Gsc0(2/2) AAS
PlayStation3に採用されたCPUはCell、ソニーとIBM、東芝の共同開発だった。
この辺もWikiを読むと面白い
780: (ワッチョイ daad-iLfk) 2023/10/07(土)05:34 ID:mvcCmF0H0(1/5) AAS
あー。沢山繋げてスパコンみたいな。知らんけど。
781: (ワッチョイ 31b0-fCO4) 2023/10/07(土)12:37 ID:2aizzJpQ0(1/3) AAS
>>778
PCがグラフィックボードに力を入れだすのはウィンドウズ普及以降になる
ゲーム機にはニンテンドー64のRDRAMとかセガサターンのシンクロナスDRAMとかアーケードやシリコングラフィックCGマシンから取り入れられた新技術が投入されX68000やタウンズのかなう相手ではなかった
782: (ワッチョイ 7d10-GYY9) 2023/10/07(土)12:51 ID:TufJ0SRx0(1) AAS
X68やTOWNSはMD/SFCとの争い・・・
・・・PS1 ジャンピングフラッシュの元になったゲームはX68で作られたんだっけ?あとワイヤーフレームのスターウォーズも。
783: (ワッチョイ da79-4iaA) 2023/10/07(土)13:51 ID:c4CFtcBt0(1) AAS
(それって昔のPC板やレトロゲー板の範疇だからそろそろやめてくんないかなここはC言語スレ・・・)
784: (ワッチョイ 8d14-h3vX) 2023/10/07(土)14:41 ID:/93XcW4W0(1) AAS
年寄りは人の話を聞かないからな
785: (ワッチョイ daad-iLfk) 2023/10/07(土)15:09 ID:mvcCmF0H0(2/5) AAS
68000は素晴らしい。8086のようなセグメントのあるCPUはクソだ。
と当時は思ったものです。
786: (ワッチョイ 7663-Hwqz) 2023/10/07(土)15:34 ID:BCZCKqNS0(1/5) AAS
むしろ、そう言う話に持って行きたかった
787: (ワッチョイ 3ded-Jvcl) 2023/10/07(土)15:55 ID:9cx0ijSo0(1) AAS
X68000は素でgccが動いてうらやましかった。
一方86はgo32で無理矢理動かしてた。
Cに戻してみた。
788: (ワッチョイ 7663-Hwqz) 2023/10/07(土)15:58 ID:BCZCKqNS0(2/5) AAS
レジスター数は羨ましかったな
あんだけあればレジスターだけでプログラム動かせそう、とか
789: (ワッチョイ daad-iLfk) 2023/10/07(土)16:46 ID:mvcCmF0H0(3/5) AAS
アセンブラやるとね、バイトの並びが上位桁が先に来るので人間に分かり易くて良い、みたいな話もあった。
68000 だけじゃなく 6809 とか 6800 とかの 8 bit CPU の頃からいわゆる68系はそうだったな。
Sun の Sparc もそうか。
790: (ワッチョイ ae5f-iLfk) 2023/10/07(土)16:55 ID:tqmAUUbt0(1) AAS
なんでリトルエンディアンになるの?
791: (ワッチョイ daad-iLfk) 2023/10/07(土)17:19 ID:mvcCmF0H0(4/5) AAS
80系は昔からリトルエンディアンだったな。アドレスの小さい方が桁の小さい方にした方がコンピュータ的には自然だと考えたのかも知れない。
792: (ワッチョイ 31b0-fCO4) 2023/10/07(土)17:30 ID:2aizzJpQ0(2/3) AAS
リトルエンディアンは同じアドレスから読み取ると
16ビットデータを8ビットレジスタで読んでもちゃんと下位8ビットが読める
ビッグエンディアンは上位8ビットが読み込まれてしまう
さらに68000は16ビット以上は奇数アドレスから読み込めないという制限があるのでハマることもある
793: (ワッチョイ 0993-LlOc) 2023/10/07(土)17:36 ID:qAlp08tM0(1) AAS
リトルエンディアンの場合は、図を描くときに右から左、下から上に番地が増えるようにすると合理的なのよね
ダニーコーエンの、エンディアンの語源になった文書にもそんな図があったと思う。アスキーアートだけど
外部リンク:ja.m.wikipedia.orgダニー・コーエン_(計算機科学者)
794: (ワッチョイ 6e2b-6t2b) 2023/10/07(土)17:36 ID:OGJgvxVr0(1) AAS
8bitCPUの頃のCPUの加算器は16bit+16bitしかできなかった、32bitの加算は分割してやるしかない
加算を分割してやる時は下の桁からやる
上の桁からやると、下の桁で繰り上がりが発生したら上の桁に戻って繰り上がり処理することになるから
下の桁が前にあるのがリトルエンディアン、こっちの方が自然だと思う
ビッグエンディアンはデータを後ろから前にアクセスしていくことになる、それだけだって言えばそうだけど
795: はちみつ餃子◆8X2XSCHEME (ワッチョイ 693e-B5Nq) 2023/10/07(土)17:43 ID:pov02R//0(1/2) AAS
キャストしやすさもあるな。
メモリ上にある int 型のデータを char にキャストするみたいなとき
リトルエンディアンなら単にその場所から 1 バイトを読みだせばいいだけだが、
ビッグエンディアンだとアドレスをずらして読みだすか
読みだしてからマスクするかになる。
まあそのへんは効率的に処理できる命令があったりするんだろうけど
そんなこと最初から考えずに済むならそのほうがいい。
796: (ワッチョイ daad-iLfk) 2023/10/07(土)18:12 ID:mvcCmF0H0(5/5) AAS
まあでもネットワークバイトオーダーはビッグエンディアンになっちゃってるんだよね。
これはこれで理由があるのかも知れないが、とにかく80系CPUだとひっくり返さねばならなくなった。
結局C言語だとそういったCPUの違いを吸収するために htonl(), ntohl() のようなマクロまたは関数を使うことになると。
797: (ワッチョイ 7663-Hwqz) 2023/10/07(土)18:15 ID:BCZCKqNS0(3/5) AAS
それは、そういう風に決めないと、処理出来ないからだろう
798: はちみつ餃子◆8X2XSCHEME (ワッチョイ 693e-B5Nq) 2023/10/07(土)18:24 ID:pov02R//0(2/2) AAS
通信系はなぁ……。 結局は通信相手と同じ規約を使うしか仕方がないから
個々のコンピュータ (アーキテクチャ) にとっては不自然になることもある。
モダンなプロトコルはリトルエンディアンを採用している事例もそれなりにあるよ。
799(1): (ワッチョイ 31b0-fCO4) 2023/10/07(土)18:45 ID:2aizzJpQ0(3/3) AAS
そのエンディアン変換が68000は面倒で
例えばZ80なら16ビットを上位バイト下位バイトレジスタ間で3命令で交換できるのに
68000はメモリに16ビット書き込み、8ビットシフト、メモリから8ビット読み出しという手順をしなければならない(確か)
万能のCPUなんてないものだと思ったよ
800: (スッップ Sdfa-sLGg) 2023/10/07(土)19:39 ID:TKUMh5Zod(1) AAS
「インディアン」は何かの差別用語に該当しないのな
戦争に負けるとはこういう事だぞお前ら
801: (ワッチョイ 7663-Hwqz) 2023/10/07(土)19:41 ID:BCZCKqNS0(4/5) AAS
由来はガリバー旅行記
802: (ワッチョイ 7663-Hwqz) 2023/10/07(土)19:50 ID:BCZCKqNS0(5/5) AAS
アメリカ発見したとき(これも本当はおかしいことなんですが)、
そこがインドだって思いこんた白人がつけた呼び方だから
本当は間違いなんですけどね
そのインディアンと、エンディアンは別の言葉です
上下前次1-新書関写板覧索設栞歴
あと 200 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.395s*