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

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

68k v.s. x86 Round 3

1 :ナイコンさん:2016/03/20(日) 14:15:55.28 .net
16Bitパソコン時代のMPU/CPU 68kとx86を語るスレです。
68020,386以降の32BitやZ8kや658xxの話題もOKです。

過去スレッド
68k v.s. x86 Round 2
http://hanabi.2ch.net/test/read.cgi/i4004/1455196631/

68K v.s. x86
http://hanabi.2ch.net/test/read.cgi/i4004/1220728356/

774 :ナイコンさん:2016/05/22(日) 08:16:46.22 .net
>>773
> 処理によってはとんでもない処理コストを産む。
具体的には?

775 :ナイコンさん:2016/05/22(日) 08:18:36.60 .net
>>774
773の頭中nopの無限ループ。

776 :ナイコンさん:2016/05/22(日) 08:23:20.17 .net
>>774
詳細はWEBで。

777 :ナイコンさん:2016/05/22(日) 08:25:56.64 .net
>>774
参照渡しが必要なときすべて。

778 :ナイコンさん:2016/05/22(日) 08:36:02.11 .net
>>774
詳細は第三者プログラマに検証を依頼しております。
後日、検証結果をお知らせしますので、それまでお待ち下さい。

779 :ナイコンさん:2016/05/22(日) 08:39:51.27 .net
>>774
お見積もりするにはお金がかかりますがよろしいでしょうか。

780 :ナイコンさん:2016/05/22(日) 08:43:37.01 .net
>>779
見積もりだけでカネ取るんかい。アコギやなぁ〜w

781 :ナイコンさん:2016/05/22(日) 08:44:34.54 .net
馬鹿の相手はキリがないからな。IT業界の常識。

782 :ナイコンさん:2016/05/22(日) 09:24:28.58 .net
>>780
じゃあおまえが調べてくれ。午前中までな。遅れたら遅延金な。

783 :ナイコンさん:2016/05/22(日) 09:31:46.91 .net
別の型として参照渡しというのは、
void func(char * p)
{ *p++; }

void main(void)
{ long l = 1;
func((char*)&l);
}
ということだろう。
リトルならlの値1が正しく渡せ、lの値も2になるけど
ビッグの場合はlの値1が0として渡ってしまい、lの値も0x01000001になってしまう。

まぁ、言いたいことはわかるが、
実際こんなコードが必要なケースなんてないよなw

784 :ナイコンさん:2016/05/22(日) 09:33:45.73 .net
無駄な議論だね。68Kはもうないのだから。

785 :ナイコンさん:2016/05/22(日) 10:51:56.51 .net
>>762
直接V-RAM上のデータをいじろうとせず、レジスタに読んで xchg でまずバイト位置を
補正しろ。演算が終わったら書き込む前にもう一度 xchg だ。

32bit/64bit では xchg の代わりに bswap だ。
インテルもリトルエンディアンのまずさには気が付いている、安心しろ。

786 :ナイコンさん:2016/05/22(日) 12:26:01.98 .net
それじゃ無駄が多いから0180hで

787 :ナイコンさん:2016/05/22(日) 12:37:36.22 .net
>>762
例えば9801の0xA800から96KB割り当てられたV-RAMみたいなイメージなのだろう。
80byte 640bitで640ドット1ラインとか。しかし、128Kmacでさえビデオ画面はQDで
仮想化され座標系で位置指定するAPIで描画していたわけで、古代仕様・錯誤甚だしい。

ビットがドットに対応するビットマップデータとかVRAMとか、脳内カビ詰まりまくりのまんまで
よく今まで生きて来られたなって感じw

788 :ナイコンさん:2016/05/22(日) 12:48:40.09 .net
>>783
そうだよなw
仮にそのコードを使った場合、元のlong値の上位ビットが0以外の値だとトンデモナイ事になるわけで
longなりcharなりに統一しておくべきだよ

789 :ナイコンさん:2016/05/22(日) 13:25:26.98 .net
ビットマップVRAMはCPUのエンディアンがどうであれ、バイト単位で81h書いたら●○○○-○○○●を、ワード単位で8001h書いたら●○○○-(○×8)-○○○●をとなるように作るのが正道だろうに、なんでそうしなかったんだ?

790 :ナイコンさん:2016/05/22(日) 13:38:26.90 .net
>>789
ワード単位で8001hを書くとメモリ上では01h,80hで、
表示は ●○○○○○○○ ○○○○○○○● になるけど、

バイト単位で01h,80hと続けて書くとメモリ上では同じ01h,80hだが、
表示は ○○○○○○○● ●○○○○○○○ になるのか?

ちょっと何を言ってるのかわからないんだが…

791 :ナイコンさん:2016/05/22(日) 13:56:15.06 .net
>>790
あー・・・酔っ払って書いてるからちょっとヘンだわ。
言いたいのは「何でCPUのエンディアンに合わせて、ワードやロングワードのアクセスのときにバイト位置を入れ替える回路にしなかったの?」ってこと。

792 :ナイコンさん:2016/05/22(日) 16:54:27.27 .net
>>791
ワード境界やロングワード境界にアラインしたアクセスならデータバスへの接続を入れ替える
だけなので簡単。
問題はミスアラインしたアクセスへの対応。外部から検出できるなら、アドレスエラーなりバス
エラーを返して終わりにしたい。

793 :ナイコンさん:2016/05/22(日) 17:39:32.49 .net
VRAMにワード単位で8001hを書き込んだ後、同じアドレスをバイト単位で読み込むと
80h,01hと読み出せる、つまりVRAMだけ見かけ上ビッグエンディアンになるのか。

それだとメインメモリ上にあるビットマップ
●○○○○○○○ ○○○○○○○●
をワード単位で読んで(0180h)それをその仕組みのついたVRAMに書き込むと
○○○○○○○● ●○○○○○○○
として書き込まれちゃうよね?
役に立たないどころかむしろ邪魔な気がするんだけど…

794 :ナイコンさん:2016/05/22(日) 19:31:19.53 .net
>>793
それって、今時のWinows10マシンとかMacBookとかで検証できるのか?

795 :ナイコンさん:2016/05/22(日) 21:58:01.26 .net
Winows10マシンやMacBookを標準のOSで使わなきゃいけない理由もないし
なんとでもできるだろ

796 :ナイコンさん:2016/05/22(日) 21:58:37.24 .net
445 :ナイコンさん:2012/07/12(木) 07:13:57.20
http://ameblo.jp/akatenjpn/entry-11204577834.html
怪しすぎる「ゲーム保存協会」。

噂ではD4エンタープライズに絶縁された「アジト」は、Wiiでバーチャルコンソールを
始めた任天堂に「コンパイルのソフトの権利者は我々です!」と売り込もうとした事があり、
もちろん任天堂はそんな詐欺に引っかからなかったという事があったようです。
 それに懲りずにこんどは「HAL研のソフトをただでよこせ!」と言いに行ったというのですから、
そしていわゆる逆ギレしているのですから、日下さんは神様のように偉い人か、人格障害かのどちらかだと思います。

446 :ナイコンさん:2012/07/12(木) 07:19:03.41
MSX研究所
http://home.a02.itscom.net/msx_lab/

https://twitter.com/yoshimatsuTUQ
MSX研究所長 ‏@yoshimatsuTUQ
職場で鼻毛が出たままの人が複数いるのだが、どうして気がつかないのだろう。鏡とか見ないのだろうか。指摘しても無駄だろうから誰も何も言わず、今日も元気にはみ出している。

797 :ナイコンさん:2016/05/22(日) 22:04:43.22 .net
モノクロ2値の画像形式とかありそうで無いよな

798 :ナイコンさん:2016/05/22(日) 22:05:12.88 .net
>>795
>なんとでもできるだろ

じゃあ、具体的な機器環境を示した上でコード書いてみろよ?

799 :ナイコンさん:2016/05/22(日) 22:06:57.61 .net
>>797
たくさんあるだろ
ttps://ja.wikipedia.org/wiki/%E7%94%BB%E5%83%8F%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88#.E8.A9.B3.E7.B4.B0.E3.81.AA.E6.AF.94.E8.BC.83

800 :ナイコンさん:2016/05/22(日) 22:07:38.19 .net
>>798
> じゃあ、具体的な機器環境を示した上でコード書いてみろよ?

なんで??

801 :ナイコンさん:2016/05/22(日) 22:07:46.48 .net
>>797
9801がモノクロビットプレーン。
3枚重ねで8色。4枚重ねで16色というマヌケなハードウェアw

802 :ナイコンさん:2016/05/22(日) 22:11:20.45 .net
>>799
ファイルフォーマットの名称を羅列されてもなw

803 :ナイコンさん:2016/05/22(日) 22:15:13.26 .net
>>802
ひょうのよみかたもおしえてもらわないとわからないんでちゅか?

804 :ナイコンさん:2016/05/22(日) 22:17:08.48 .net
>>797
https://en.wikipedia.org/wiki/Netpbm_format
https://en.wikipedia.org/wiki/X_BitMap

805 :ナイコンさん:2016/05/22(日) 22:23:52.35 .net
>>803
カラーデブス・カラー表現の仕組み、ファイルフォーマットは一覧表からじゃわからんね。
だいたい多色サポートな画像ファイルが1バイト8ビットなビットマップなど採用などしトランプ。

806 :ナイコンさん:2016/05/22(日) 22:30:07.38 .net
>だいたい多色サポートな画像ファイルが1バイト8ビットなビットマップなど採用などしトランプ。

マジか
https://ja.wikipedia.org/wiki/Windows_bitmap

807 :ナイコンさん:2016/05/22(日) 22:30:59.23 .net
>>804
どっちもASCIIコードファイルじゃんかw

808 :ナイコンさん:2016/05/22(日) 22:36:29.94 .net
>>806
BMPファイルw

809 :ナイコンさん:2016/05/22(日) 22:39:38.65 .net
「モノクロ2値の画像形式とかありそうで無いよな」

↑を読んで「1バイト8ビット(8ピクセル)バイナリ形式」を読み取れる人は
そうはいないだろうな。

810 :ナイコンさん:2016/05/22(日) 22:43:17.17 .net
>>809
ここのインディアンはエンディアンの話してなかったニカ?

811 :ナイコンさん:2016/05/23(月) 02:13:08.87 .net
>>810
エンディアン専用スレでもないし別の話題を振る奴がいてもおかしくないよね。で?

812 :ナイコンさん:2016/05/23(月) 07:14:03.56 .net
スレが止まると突然発狂したように68kディスりはじめて論破されると話題をそらすの繰り返しだな

813 :ナイコンさん:2016/05/23(月) 07:42:40.51 .net
論破?
ただただ他人を貶してる68マンセーが相手にされなくなってるだけだろ。

814 :ナイコンさん:2016/05/23(月) 08:14:40.59 .net
エンディアンの話だと発端はこんな感じ

>>186
> ビッグエンディアンつー段階で萎える

>>666
> 68000のダメなところ。
> ビッグエンディアン。

相手されたがってるのは...

815 :ナイコンさん:2016/05/23(月) 08:15:52.22 .net
>>775-779
具体的には何一つ出せない
まで読んだ

816 :ナイコンさん:2016/05/23(月) 08:58:03.24 .net
以下の海外サイトのLE/BEさてどっちよ。という議論が面白い。
アメリカ人的感性からすれば、左書きなBEが人間的な感性から自然だ。とかいう主張に
右書き的アラビア語的感性でいえば、LEが自然だと言える。とか。となりのトトロのイントロ
を思い出した。日本語は本来右書き縦書きだからBEこそ正書法とか言い出す奴がいても
不思議じゃないかもね。LE押しなここのリトル・インディアンはアラビア語ネイティブなのかも。

つーか、イスラエルにデザインセンター置くほどのIntelの設計者にはアラビア語
ネイティブなユダヤ人とかが主導権持っていたのかもね。とか。

http://stackoverflow.com/questions/5185551/why-is-x86-little-endian

817 :ナイコンさん:2016/05/23(月) 08:59:14.74 .net
BEこそ正書法→LEこそ正書法

818 :ナイコンさん:2016/05/23(月) 09:00:41.98 .net
>>815
具体的に出してないという根拠は?

819 :ナイコンさん:2016/05/23(月) 09:14:40.53 .net
>>818

>>774に対する具体的な返答にアンカー張ってくれよ

820 :ナイコンさん:2016/05/23(月) 09:16:54.31 .net
>>819
おまえの主張の根拠を聞いてるのになぜおれに聞く?

821 :ナイコンさん:2016/05/23(月) 10:13:54.93 .net
>>820

>>774に対する具体的な返答を見つけられないんだが
具体的に出していると主張するならどのレスか教えてくれ

822 :ナイコンさん:2016/05/23(月) 12:42:36.99 .net
>>793
おお、その通りだw >>762はクリアできるんだがそれだけの話だったw
まぁ元々8088じゃ使えなかったり、ミスアライメントでもダメだったりやっつけそのものだが
それ以前の大問題に対処出来てないわ。

やっぱり、一か所でもやらかしちゃったら小手先じゃどうにもならんな。
毒を食らうなら皿まで食らえってことか。

823 :ナイコンさん:2016/05/23(月) 12:57:02.59 .net
793=822
アホ

824 :ナイコンさん:2016/05/23(月) 14:12:40.51 .net
>>821
見つけられないのはおまえ自身の問題だろ。努力もせず人に頼るな。

825 :ナイコンさん:2016/05/23(月) 14:19:41.80 .net
>>824
存在しないものを見つけられるわけ無いだろ
おまえこそ「ある」根拠を示せ
レス番号を書くだけなんだからできないわけないよな?
おまえが口先だけじゃなければだが

826 :ナイコンさん:2016/05/23(月) 18:35:34.96 .net
BE/LEは、人間からみての可読性より低位バイトが低位アドレスになるっていうのが自然におもえるんだがなー。
そもそも、ワードやロングワードをバイト単位でダンプするのがおかしいんだから。

827 :ナイコンさん:2016/05/23(月) 20:19:59.30 .net
>ワードやロングワードをバイト単位でダンプするのがおかしい
8086の時代はハンドアセンブルで機械語(16進ダンプコード)を直接入力するような連中がゴロゴロいた時代の直後だが……
あと例えば32bitRGBA形式の画像データとかは32bit(1ピクセル)単位でもR,G,Bの各要素(8bit)単位でもアクセスするもんだが

828 :ナイコンさん:2016/05/23(月) 20:37:26.79 .net
>>827
達人がゴロゴロいようが 分割して表示印刷するってこなと自体がおかしい事には変わりないっしょ。

829 :ナイコンさん:2016/05/23(月) 21:18:43.87 .net
バイトでもワードでもダブルワードでも同じアドレスから読むだけのリトル。
バイトなら+3、ワードなら+2、だけどダブルワードからキャストするなら+7と+6とか、アドレス補正が必要。 あるいはダブルワードで読んでからシフトとマスクするか。
そんな手前かかるなんてクソでゴミだろw

830 :ナイコンさん:2016/05/23(月) 21:21:41.78 .net
結論と、事実として、ビッグエンディアンのプロセッサはクソでゴミだってこった!

831 :ナイコンさん:2016/05/23(月) 21:34:38.47 .net
>>829
バイトでもワードでもダブルワードでもダブルワードで格納すれば良いだけ
境界違反のアクセスは全て禁止

832 :ナイコンさん:2016/05/23(月) 21:39:57.81 .net
するとクワッドワードで困る。つまり拡張性に著しい欠点があるのがビッグエンディアン。
欠点に気づいたのか68020でMSB反転してなかったか?

833 :ナイコンさん:2016/05/23(月) 21:54:53.03 .net
ダンプリストが読みやすいとかじゃなく、

char signature[4] = {'A','B','C','D'};
printf("%08lx", *(unsigned long*)signature);
としたとき、
0x44434241となるのが自然なのか?
0x41424344の方が自然ではないか?
というのはあるんじゃね?

834 :ナイコンさん:2016/05/23(月) 22:01:38.80 .net
>>833
そもそもバイトストリームをunsigned longに読み込むのがナンセンス

835 :ナイコンさん:2016/05/23(月) 22:08:21.63 .net
>>834
バイトデータをパックして扱うことはよくある、RGBAとかもそうだし。

836 :ナイコンさん:2016/05/23(月) 22:25:07.75 .net
複数バイトのデータをワードやダブルワードにパックしても自然に扱えるのがビッグ。
として>>829と比べてどっちが有用か?と考えるとビッグが便利な場面の方が多そう?

自分はリトルもビッグも変わらん派だから、正直意外なんだけどw

837 :ナイコンさん:2016/05/23(月) 22:26:43.46 .net
今の基準じゃ達人でも当時普通の事だが>ハンドアセンブル
今だってデバッグでバイトストリームを読む場合あるのに
ワードをバイト列としてダンプするのはおかしいとか
リトルエンディアン君は本当に無能だな

838 :ナイコンさん:2016/05/23(月) 22:31:36.82 .net
>>829
わざわざズレたアドレスから+1とかして処理する無能はプログラマーに向かないよ
つーか決着した事を忘れたふりして蒸し返すな
アセンブラじゃキャストなんかしないしC言語なら何も問題はない

839 :ナイコンさん:2016/05/23(月) 22:32:18.46 .net
バイナリダンプなんてリトルエンディアンに並んでることか普通だし、キミ以外誰も困ってないが。

840 :ナイコンさん:2016/05/23(月) 23:30:39.39 .net
困っているのはリトルエンディアン派の>>826だけど...
ちゃんとレス読めよ

841 :ナイコンさん:2016/05/24(火) 00:25:16.57 .net
エンディアン、嘘つかなーい

842 :ナイコンさん:2016/05/24(火) 01:03:30.49 .net
レジスタの上位バイトが低位アドレスに置かれる利点は何かあるのか?
何ひとつないだろ。

843 :ナイコンさん:2016/05/24(火) 01:11:25.74 .net
スレ読み直してから出直してこい

844 :ナイコンさん:2016/05/24(火) 01:15:48.23 .net
>>838
アドレス補正するというコストが必要になるのに
なんの問題もないとか、無能はお前だろ。
コンパイルの時点か、ロードストアの回路としてか、本来不要なコストを払いづける愚に気付けないのにしたり顔してんじゃねーよ。

845 :ナイコンさん:2016/05/24(火) 01:26:40.12 .net
>>843
ビッグエンディアンの利点としては「人間が」読みやすい以外にでてないな。
CPUのエンディアンとは本来無関係なビットマップVRAMとかいう限定されたケースについてか。

846 :ナイコンさん:2016/05/24(火) 02:12:13.67 .net
RGBAの扱いもな綺麗に8bitで別れてりゃなんとかなるが

847 :ナイコンさん:2016/05/24(火) 05:18:25.38 .net
>>845
リトルインディアンの原理主義・信者臭がクサすぎて草w

848 :ナイコンさん:2016/05/24(火) 05:35:17.92 .net
>>847
ビッグ信者は感情論しかでなくなったか。
ま、もともとがビッグエンディアンに技術的利点がないから仕方ないが。
人を貶す事だけだよな、1人前なのはw

849 :ナイコンさん:2016/05/24(火) 05:41:21.76 .net
>>847
マイノリティのメンタリティだなw
正しい のに誰にも認められない悲劇の自分に酔ってるw

850 :ナイコンさん:2016/05/24(火) 06:53:23.97 .net
顔真っ赤にして2レス! 効いてる効いてるw
リトルインディアンをいじるのは面白い。

851 :ナイコンさん:2016/05/24(火) 07:56:39.90 .net
くやしいのうw

852 :ナイコンさん:2016/05/24(火) 08:09:20.27 .net
>>848
> ビッグ信者は感情論しかでなくなったか。
そんなごたくは >>774 に回答してからにすれば?

853 :ナイコンさん:2016/05/24(火) 08:19:51.33 .net
>>852
具体例が必要な理由は?

854 :ナイコンさん:2016/05/24(火) 08:23:35.64 .net
>>844
>>771

馬鹿は黙ってろ

855 :ナイコンさん:2016/05/24(火) 08:32:09.81 .net
>>853

今のところ>>773の頭の中以外には「とんでもない処理コストを産むケース」が存在しないから
そして「とんでもない処理コストを産むケース」がリアルな事だと証明できないと
何度も書き込まれている「ビッグ信者は感情論しかでなくなったか」という書き込みが「おまえが言うな」だから

856 :ナイコンさん:2016/05/24(火) 08:42:00.65 .net
>>855
存在しないなら言語仕様として参照渡しも存在しなくていいはずだが、
キミは一体何を根拠に存在しないと思ったのか、その具体的理由は何?

857 :ナイコンさん:2016/05/24(火) 08:43:10.50 .net
>>854
>>854

858 :ナイコンさん:2016/05/24(火) 09:06:19.57 .net
>>844
>>783のようなクソコードが必要なケースなんてないし、
そもそもアドレス補正するコストもほとんどゼロじゃね?
アドレッシングモードが8080かZ80なみに貧弱なら別だけどw

859 :ナイコンさん:2016/05/24(火) 21:46:34.34 .net
C++ じゃ違う型にキャストして参照渡しなんてのは禁止されてたと思うが
別段不自由ないしな、なんでそんなんに拘るのか理解できん

860 :ナイコンさん:2016/05/24(火) 22:52:40.14 .net
今ではBEマシンを探すだけでも不自由するのにな。

861 :ナイコンさん:2016/05/24(火) 23:19:20.39 .net
>>860
それは君の頭が不自由な働きしかできないから仕方ないことですね。

862 :ナイコンさん:2016/05/25(水) 05:16:48.57 .net
Big Endian採用機はメインフレームあたりではまだまだあるだろ。
例えばIBMのz/ArchitectureがBigのはず。

まあ最近のCPUはほとんどがBi Endianだが過去のしがらみで
Bigで使われているものも多いと思うが。

863 :ナイコンさん:2016/05/25(水) 05:36:36.71 .net
汎用機はCOBOLがメインだからなぁ。

864 :ナイコンさん:2016/05/25(水) 05:36:54.77 .net
「不要なコスト」がいつ「とんでもないコスト」になったんだよ。
これだからバカは見てて飽きないな。

865 :ナイコンさん:2016/05/25(水) 05:45:05.81 .net
特定用のトデバイスを触る時か通信プロトコルみたいに「そう決めた」っての以外でビッグエンディアンが良い、という理由はまったくない。
ビッグ信者の心のささえwなVRAMもビットマップなんて古代の遺物だしな〜。

866 :ナイコンさん:2016/05/25(水) 05:46:54.43 .net
「ビッグエンディアンの技術的な利点はなんだよ?」
「ダンプが読みやすいことだ!」
このやりとりのおかしいことに気づけない時点でもうね、ビッグ信者は死ねってもんだよwww

867 :ナイコンさん:2016/05/25(水) 06:54:24.14 .net
>>864-866、この種の狭隘なハードウェア依存性PGのヨタ話はスレ汚し以外の何物でもない。レベル低すぎ。

最近linuxのポーティングで遊んでいるのだが、以下のようなページのエンディアン話の方がはるかに面白い。

https://www.ibm.com/developerworks/jp/linux/library/l-port-linux-on-x86-application/

linuxカーネルはそもそも386アーキテクチャに依存したコードであったが今はディレクティブ指定で
LE/BEの対応切り替えが簡易。コンパイラも同様。等など。大人の開発者はエンディアンフリー
アーキテクチャフリーな自由度の高いコーディングを第一にするものだ。当たり前の話だけどさ。

868 :ナイコンさん:2016/05/25(水) 08:28:22.55 .net
>>864
スレ検索もできないのか?
>>773 から読み直せボケ

869 :ナイコンさん:2016/05/25(水) 12:31:45.11 .net
void func(void * p)
{ *p++; }

870 :ナイコンさん:2016/05/26(木) 01:21:05.77 .net
>>801
ハードウェア的には、一番楽。

871 :ナイコンさん:2016/05/26(木) 20:18:36.01 .net
俺(は32ビットCPUの68kが好き)だからスゲーんだぜ!
(俺が嫌いな16ビットCPUの8086をDisらない)お前らクソー!

と、まぁこういうわけですな、はっはっは!

872 :ナイコンさん:2016/05/26(木) 20:47:05.97 .net
>>871
それは妄想ね。でぃすられているのは御主様よ。アホ荒らし△

873 :ナイコンさん:2016/05/26(木) 23:37:00.42 .net
効いてるw効いてるw

総レス数 1002
239 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200