■ このスレッドは過去ログ倉庫に格納されています
アセンブラ 13
- 1 :デフォルトの名無しさん:2011/08/28(日) 15:24:40.59 .net
- 前スレ
http://pc11.2ch.net/test/read.cgi/tech/1187079488/
- 415 :デフォルトの名無しさん:2018/09/27(木) 20:12:35.94 ID:GWQb325r.net
- そういう経緯とか全然知らんかったわ。
Z80は古い機種だと思うんだけど,>>410によればIntel記法に近いらしい。
一概に,「昔はAT&T記法が主流だった」とも言えねえのな。
- 416 :デフォルトの名無しさん:2018/09/27(木) 21:20:43.26 ID:v+2P+rz3.net
- >>415
Intel 8080 の改良版が、Z80。
以下、同じ命令を、8080とZ80について書いてみる。
Z80の方が現代のアセンブリ言語に近く、人間には覚え易くて
理解しやすいが、アセンブラの作成が当時としては難しくなった。
Z80がなぜ人気が爆発したか、これだけ見ても分かるかと思う。
【8080】
MVI A,byte ; A <-- byte // move immediate を略して MVI
MOV A,B ; A <-- B // 意味は同じなのに、第二オペランド
// がレジスタに変わったなっただけで命令表記が変わる。
MOV A,M ; A <--(HL) // M の意味は、(HL)
MOV H,A ; H <-- A
MOV L,A ; L <-- A
LXI H,word ; HL <-- word // これも意味は move なのに命令が変わる。
LHLD word ; HL <---(word) // これも、現代なら単に(word)と書けばいいとこ
// ろが命令自体を変えなければならなかった。
【Z80】
LD A,byte
LD A,B
LD A,(HL)
LD H,A
LD L,A
LD HL,word
LD HL,(word)
【参考】
http://nemesis.lonestar.org/computers/tandy/software/apps/m4/qd/opcodes.html
- 417 :デフォルトの名無しさん:2018/09/27(木) 21:37:48.64 ID:v+2P+rz3.net
- >>414
命令表記を左右逆にしていれば、今頃 68000 が天下を取っていたかもしれない。
高級言語の「A = B」がそのまま、MOV A,B と書けるのはやはり分かりやすいので。
- 418 :デフォルトの名無しさん:2018/09/27(木) 21:50:06.74 ID:v+2P+rz3.net
- >>416
昔も今もそうかもしれないが、IntelもMSも、余り「判りやすく書く」
「すっきりと設計する」ということが余り得意ではないかもしれない。
MSの作ったAPIは構造が汚い。
- 419 :デフォルトの名無しさん:2018/09/27(木) 21:55:12.76 ID:v+2P+rz3.net
- Zilogがせっかく、二モニックを美しく修正したのに、Intelは、また、MMX や SSE以後で
汚くしてしまった。
それに、セグメントの概念もMMUの設計もひどかった。
セグメントに関しては、トランジスタの集積度が少なすぎてしょうがなかったのかも
しれないが、それを長く引きずりすぎた。
80386のプロテクトモードなんかどうでも良くて、単にプロテクトの無い32BITの
フラットモードがあれば喜ばれ、MS-DOSが今でも続いていたかもしれない。
- 420 :デフォルトの名無しさん:2018/09/27(木) 22:00:30.07 ID:GWQb325r.net
- >>417
しつこくてすまんが
$ cp file.org file.new
$ mv file.org file.new
↑こういう操作を考えると
AT&T記法のほうが馴染みやすくない?
- 421 :デフォルトの名無しさん:2018/09/27(木) 22:04:07.63 ID:v+2P+rz3.net
- >>420
個人的には、数学や物理の表記の方が親しみがある。
- 422 :デフォルトの名無しさん:2018/09/28(金) 15:38:54.43 ID:O5kQkBkV.net
- CP/M copy も右から左だったぜ
- 423 :デフォルトの名無しさん:2018/09/28(金) 15:43:05.12 ID:hWUH9Sli.net
- >>422
http://afsoft.jp/os/p02.html
CP/M も copy コマンドは、「左から右」だったと思うけど:
COPYコマンド
ディスクをコピーします。
【書式】COPY {mode} {コピー元} {コピー先}
mode : ALL・・・ディスク全部をコピー
BOOT ・・ブートトラックをコピー
FILES・・ブートトラック以外をコピー
- 424 :デフォルトの名無しさん:2018/09/28(金) 15:50:53.05 ID:O5kQkBkV.net
- お前つかったことないやろ
- 425 :デフォルトの名無しさん:2018/09/28(金) 15:58:32.06 ID:hWUH9Sli.net
- >>424
え、本当に逆さまだったの?
- 426 :デフォルトの名無しさん:2018/09/28(金) 16:09:07.08 ID:hWUH9Sli.net
- コピーではないが、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
- 427 :デフォルトの名無しさん:2018/09/28(金) 16:11:14.79 ID:hWUH9Sli.net
- これかな???
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
- 428 :デフォルトの名無しさん:2018/09/28(金) 16:13:46.37 ID:hWUH9Sli.net
- 確かに有った。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
- 429 :デフォルトの名無しさん:2018/09/28(金) 16:40:59.17 ID:hWUH9Sli.net
- >>422
これはすごい情報。
- 430 :デフォルトの名無しさん:2018/09/28(金) 17:46:08.12 ID:xRXV40hi.net
- 「懐かしい」とかいうとジジイ認定されちゃうかな。
- 431 :デフォルトの名無しさん:2018/09/28(金) 17:52:03.41 ID:MRbJrbcw.net
- >>430
大丈夫。
- 432 :デフォルトの名無しさん:2018/09/28(金) 20:45:43.66 ID:TLhVFQk5.net
- でもcopyコマンド(in CP/M)自体はUnix風の動作なんだよね。
pipコマンドというとPythonのアレしか思い浮かばないがw
- 433 :デフォルトの名無しさん:2018/09/28(金) 23:16:34.75 ID:0Eaaaj8i.net
- PIPエレキバン
- 434 :デフォルトの名無しさん:2018/09/29(土) 07:03:12.39 ID:NSCd5Wk/.net
- pipはビルトインじゃなくて外部コマンドだったから数バイトのコピーするときにでも
pipを読み込むために数十KBの実行ファイルをフロッピーゴトゴト言わせてからコピーが始まる
- 435 :デフォルトの名無しさん:2018/09/29(土) 09:44:28.70 ID:PPHj/b7C.net
- >>434
マジかよww
なんでそんな不便な方法しかなかったんだろう
当時はそれが一番効率的と考えられてたんかな
- 436 :デフォルトの名無しさん:2018/09/29(土) 09:51:10.51 ID:1LSQxS0k.net
- >>435
メモリーが圧倒的に不足していたから。
- 437 :デフォルトの名無しさん:2018/09/29(土) 11:11:39.83 ID:Xg2DC4zv.net
- cpだって外部コマンドじゃん
- 438 :デフォルトの名無しさん:2018/09/30(日) 06:52:26.73 ID:/hRwCsch.net
- 内部か外部かって重要なん?
- 439 :デフォルトの名無しさん:2018/09/30(日) 18:13:48.80 ID:SkYuEApj.net
- バイブか愛撫かって重要なん?
- 440 :デフォルトの名無しさん:2018/10/01(月) 19:31:45.23 ID:gNvpqBnl.net
- MS-DOSのVer2.xxからはいろんな意味でUNIXをリスペクトしてるからな
UNIX流にファイルハンドルでファイルを扱ったり、階層ディレクトリを導入したり、
環境変数を導入したりな
マイクロソフト自身がXENIXというUNIXを販売してたしね
- 441 :デフォルトの名無しさん:2018/10/02(火) 09:56:28.13 ID:RbiSZVUW.net
- マカーが散々捏造したきたようにその手の話は眉唾もの。
- 442 :デフォルトの名無しさん:2018/10/02(火) 10:07:26.09 ID:+xKncks4.net
- どれも中途半端な劣化コピー(ですらない)
- 443 :デフォルトの名無しさん:2018/10/12(金) 13:43:11.48 ID:wcqfJg6x.net
- 今デスラーと言ったのかヤマトの諸君
- 444 :デフォルトの名無しさん:2018/10/12(金) 16:38:59.78 ID:Ez4dMXEm.net
- >>443
今じゃない、10日前だ
- 445 :デフォルトの名無しさん:2018/10/13(土) 12:11:31.24 ID:hiy4qYnE.net
- 何もかも皆懐かしい
- 446 :デフォルトの名無しさん:2018/10/14(日) 03:58:05.06 ID:rZ1ia0YQ.net
- 最近のC++コンパイラはAVX2命令ガンガン吐いてくるからすごいな
- 447 :デフォルトの名無しさん:2018/10/14(日) 10:35:45.88 ID:jfwl8Yip.net
- じきAVX3になるよ
- 448 :デフォルトの名無しさん:2018/10/14(日) 12:27:32.87 ID:OJyCZLlW.net
- AVX3と呼べるものはAVX512なんでは?
- 449 :デフォルトの名無しさん:2018/10/14(日) 15:29:22.91 ID:jfwl8Yip.net
- >>448
それ、AVX3は通称
- 450 :デフォルトの名無しさん:2018/10/14(日) 15:39:37.78 ID:jfwl8Yip.net
- あんま詳しくないが同じような処理を繰り返す場合には速いらしいな
- 451 :デフォルトの名無しさん:2018/10/14(日) 16:01:42.97 ID:13p+7YwI.net
- >>450
MMX, SSE〜SSE4, AVX, AVX2, AVX512 は、SIMD命令だから、ループを展開して、
ベクトル計算のように考え直した場合、そのベクトルの足し算やベクトルの
要素ごとの掛け算などが速くできるようになる。
- 452 :デフォルトの名無しさん:2018/10/14(日) 19:28:20.62 ID:jfwl8Yip.net
- C++で吐く場合ってあえてそうなるようにコーディングしてるんだと思うが
- 453 :デフォルトの名無しさん:2018/10/19(金) 01:46:50.25 ID:7j5wTJzZ.net
- x86_64のRAXのRってなんの略か分かる?
EAXはExtended AX、AXはAccumulator (eXtended)でしょう。
「R」とはいったいなんなのだろう。
それとは別に、EAXって拡張拡張可算なんだね。
互換性とかの観点からすると仕方無いとも思うが もうちょっとマシな名前はなかったんだろうかw
- 454 :デフォルトの名無しさん:2018/10/19(金) 02:17:15.49 ID:GdMTdegv.net
- >>453
https://stackoverflow.com/questions/43933379/what-do-the-e-and-r-prefixes-stand-for-in-the-names-of-intel-32-bit-and-64-bit-r
- 455 :デフォルトの名無しさん:2018/10/19(金) 02:17:24.27 ID:HB9XqOkY.net
- >>453
Registerの'R'らしい
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11116234946
- 456 :デフォルトの名無しさん:2018/10/23(火) 19:26:31.75 ID:cKF5Z2eR.net
- >>454
>>455
あざす。
マジかよ「レジスタ」のRなのか。
- 457 :デフォルトの名無しさん:2018/10/30(火) 21:22:39.47 ID:lJU58Qkm.net
- asmutilsとか使ってる?
- 458 :デフォルトの名無しさん:2018/11/01(木) 13:44:27.75 ID:+7wF5VPI.net
- それは初耳。
使ったこと無い。
- 459 :デフォルトの名無しさん:2018/11/01(木) 19:26:14.88 ID:upF+pHX5.net
- i386アセンブラで書かれたGNU coreutilsみたいよ。
なんか紹介文に「アセンブラ楽しいから 皆もソース読んでね!」みたいなことが書かれてたw
- 460 :デフォルトの名無しさん:2018/11/02(金) 04:52:07.72 ID:XrjXjB5n.net
- 書くほうは好き勝手に書けるが、読むほうは地獄。
- 461 :デフォルトの名無しさん:2018/11/02(金) 08:16:49.79 ID:tmRne/9W.net
- よくわからんがhttpdまで実装しててすごい
https://github.com/leto/asmutils/blob/master/src/httpd.asm
- 462 :デフォルトの名無しさん:2018/11/12(月) 16:49:29.06 ID:D6ILV7Jx.net
- iOSアプリでPoketAssemblyなるもの落としたんだが、説明に英語でLC-3アセンブリ言語って書いてて、
初めて見るCPUなんだが、何か情報源知ってたら教えて欲しい。
ネットで調べてもイマイチ見つからない。
幸いにも?CASL2に似てる命令っぽいし、マクロ的なのは多いっぽいのはサンプル見て理解出来た。
命令一覧があれば遊べそうなんだが。。。
- 463 :デフォルトの名無しさん:2018/11/27(火) 16:44:22.01 ID:5ZGwy4y3.net
- https://en.wikipedia.org/wiki/LC-3
- 464 :デフォルトの名無しさん:2018/11/27(火) 17:52:50.88 ID:Obj68CxZ.net
- ありがとう。
ざっと読んだ感じ、立ち位置的にもアメリカ版CASLみたいな教育用アセンブラって感じみたいね。
リンク辿って簡単な入門書読んでみたけど、結構独特の文法。
(あっちでは普通なのかもだけど)
- 465 :デフォルトの名無しさん:2019/04/08(月) 14:53:49.70 ID:AKTKNqT2.net
- ゴキブリだな
- 466 :デフォルトの名無しさん:2019/04/09(火) 02:48:06.84 ID:ecU2afsj.net
- ↑は誤爆
総レス数 1000
154 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★