アセンブラ 13
■ このスレッドは過去ログ倉庫に格納されています
>>415 命令表記を左右逆にしていれば、今頃 68000 が天下を取っていたかもしれない。 高級言語の「A = B」がそのまま、MOV A,B と書けるのはやはり分かりやすいので。 >>417 昔も今もそうかもしれないが、IntelもMSも、余り「判りやすく書く」 「すっきりと設計する」ということが余り得意ではないかもしれない。 MSの作ったAPIは構造が汚い。 Zilogがせっかく、二モニックを美しく修正したのに、Intelは、また、MMX や SSE以後で 汚くしてしまった。 それに、セグメントの概念もMMUの設計もひどかった。 セグメントに関しては、トランジスタの集積度が少なすぎてしょうがなかったのかも しれないが、それを長く引きずりすぎた。 80386のプロテクトモードなんかどうでも良くて、単にプロテクトの無い32BITの フラットモードがあれば喜ばれ、MS-DOSが今でも続いていたかもしれない。 >>418 しつこくてすまんが $ cp file.org file.new $ mv file.org file.new ↑こういう操作を考えると AT&T記法のほうが馴染みやすくない? >>421 個人的には、数学や物理の表記の方が親しみがある。 >>423 http://afsoft.jp/os/p02.html CP/M も copy コマンドは、「左から右」だったと思うけど: COPYコマンド ディスクをコピーします。 【書式】COPY {mode} {コピー元} {コピー先} mode : ALL・・・ディスク全部をコピー BOOT ・・ブートトラックをコピー FILES・・ブートトラック以外をコピー コピーではないが、rename コマンドにそれらしき痕跡はあった。 確かに、右から左で、しかも、「=」記号もつけていたらしいね: http://www.discordia.org.uk/px4/cpm.html REN [d:]newname.ext = oldname.ext Change the name of a disk file from oldname.ext to newname.ext これかな??? PIP [d:][newfile.ext]=[d:][filespec][<t> Copy files between peripherals whilst performing optional conversion <t>. Copy file from drive to drive: C> PIP H:=A:INFO.DAT Copy file to new name: C> PIP A:NEW.DAT=A:INFO.DAT Copy file to printer: C> PIP LST:=A:LETTER.TXT 確かに有った。copy コマンドが登場するより前に、PIP コマンドがあったのか。 知らなかった。 https://en.wikipedia.org/wiki/Peripheral_Interchange_Program The original PIP syntax was PIP destination←source /switches using the left-arrow character from the ASCII-1963 character set that the Flexowriter keyboards of the time used. As other terminals were introduced that used later versions of ASCII (without the left-arrow character), PIP allowed the syntax PIP destination=source でもcopyコマンド(in CP/M)自体はUnix風の動作なんだよね。 pipコマンドというとPythonのアレしか思い浮かばないがw pipはビルトインじゃなくて外部コマンドだったから数バイトのコピーするときにでも pipを読み込むために数十KBの実行ファイルをフロッピーゴトゴト言わせてからコピーが始まる >>435 マジかよww なんでそんな不便な方法しかなかったんだろう 当時はそれが一番効率的と考えられてたんかな MS-DOSのVer2.xxからはいろんな意味でUNIXをリスペクトしてるからな UNIX流にファイルハンドルでファイルを扱ったり、階層ディレクトリを導入したり、 環境変数を導入したりな マイクロソフト自身がXENIXというUNIXを販売してたしね マカーが散々捏造したきたようにその手の話は眉唾もの。 最近のC++コンパイラはAVX2命令ガンガン吐いてくるからすごいな あんま詳しくないが同じような処理を繰り返す場合には速いらしいな >>451 MMX, SSE〜SSE4, AVX, AVX2, AVX512 は、SIMD命令だから、ループを展開して、 ベクトル計算のように考え直した場合、そのベクトルの足し算やベクトルの 要素ごとの掛け算などが速くできるようになる。 C++で吐く場合ってあえてそうなるようにコーディングしてるんだと思うが x86_64のRAXのRってなんの略か分かる? EAXはExtended AX、AXはAccumulator (eXtended)でしょう。 「R」とはいったいなんなのだろう。 それとは別に、EAXって拡張拡張可算なんだね。 互換性とかの観点からすると仕方無いとも思うが もうちょっとマシな名前はなかったんだろうかw >>455 >>456 あざす。 マジかよ「レジスタ」のRなのか。 i386アセンブラで書かれたGNU coreutilsみたいよ。 なんか紹介文に「アセンブラ楽しいから 皆もソース読んでね!」みたいなことが書かれてたw iOSアプリでPoketAssemblyなるもの落としたんだが、説明に英語でLC-3アセンブリ言語って書いてて、 初めて見るCPUなんだが、何か情報源知ってたら教えて欲しい。 ネットで調べてもイマイチ見つからない。 幸いにも?CASL2に似てる命令っぽいし、マクロ的なのは多いっぽいのはサンプル見て理解出来た。 命令一覧があれば遊べそうなんだが。。。 ありがとう。 ざっと読んだ感じ、立ち位置的にもアメリカ版CASLみたいな教育用アセンブラって感じみたいね。 リンク辿って簡単な入門書読んでみたけど、結構独特の文法。 (あっちでは普通なのかもだけど) 最近Shenzhen I/Oっていうゲームで遊んでる。 なかなか面白い。 >>417 1.5年前の書き込みで誰もいないスレだと思うけどw ふと思ったんだけど、これ言語設計した人に ヘブライ語圏とか右から左に書く言語の人がいたりしたんじゃないかな、などと思ったり MOV A,B 例えばこれ左から読むと日本人には言語的にわかりやすい BをAに移動 この説どう?w >>513 mov A,B //(1) に関して、 英語圏の人では、必ず語順が 「from B to A」 となるので、(1)とは逆になり違和感を感じる人が居るらしいが日本語では、 「AにBを代入する」 という言い方だと(1)と同じ順序になり、昔から問題ないと言われている。 個人的には、言葉ではなく、数学の A=B という表記と同じなので、Z80やx86のこの順序が天下をとったと見ている。 >>516 数学で、量を定義する際、 A≡式 のように書くことがあるが、Aは短い変数名で、右辺の式は大体、長い。 このような定義式を複数、縦に並べたて書く時に、変数を左側に書いたほうが ≡の記号が同じ場所に並んで見やすい。 そのために、左辺にdestination、右辺にsourceを書く習慣になったと 個人的には考えている。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.0 2024/04/24 Walang Kapalit ★ | Donguri System Team 5ちゃんねる