X



アセンブラ 13
■ このスレッドは過去ログ倉庫に格納されています
0423デフォルトの名無しさん
垢版 |
2018/09/28(金) 15:38:54.43ID:O5kQkBkV
CP/M copy も右から左だったぜ
0424デフォルトの名無しさん
垢版 |
2018/09/28(金) 15:43:05.12ID:hWUH9Sli
>>423
http://afsoft.jp/os/p02.html
CP/M も copy コマンドは、「左から右」だったと思うけど:

COPYコマンド
ディスクをコピーします。
【書式】COPY {mode} {コピー元} {コピー先}
 mode : ALL・・・ディスク全部をコピー
     BOOT ・・ブートトラックをコピー
     FILES・・ブートトラック以外をコピー
 
0425デフォルトの名無しさん
垢版 |
2018/09/28(金) 15:50:53.05ID:O5kQkBkV
お前つかったことないやろ
0427デフォルトの名無しさん
垢版 |
2018/09/28(金) 16:09:07.08ID:hWUH9Sli
コピーではないが、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
0428デフォルトの名無しさん
垢版 |
2018/09/28(金) 16:11:14.79ID:hWUH9Sli
これかな???


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
0429デフォルトの名無しさん
垢版 |
2018/09/28(金) 16:13:46.37ID:hWUH9Sli
確かに有った。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
0433デフォルトの名無しさん
垢版 |
2018/09/28(金) 20:45:43.66ID:TLhVFQk5
でもcopyコマンド(in CP/M)自体はUnix風の動作なんだよね。
pipコマンドというとPythonのアレしか思い浮かばないがw
0434デフォルトの名無しさん
垢版 |
2018/09/28(金) 23:16:34.75ID:0Eaaaj8i
PIPエレキバン
0435デフォルトの名無しさん
垢版 |
2018/09/29(土) 07:03:12.39ID:NSCd5Wk/
pipはビルトインじゃなくて外部コマンドだったから数バイトのコピーするときにでも
pipを読み込むために数十KBの実行ファイルをフロッピーゴトゴト言わせてからコピーが始まる
0436デフォルトの名無しさん
垢版 |
2018/09/29(土) 09:44:28.70ID:PPHj/b7C
>>435
マジかよww
なんでそんな不便な方法しかなかったんだろう
当時はそれが一番効率的と考えられてたんかな
0441デフォルトの名無しさん
垢版 |
2018/10/01(月) 19:31:45.23ID:gNvpqBnl
MS-DOSのVer2.xxからはいろんな意味でUNIXをリスペクトしてるからな
UNIX流にファイルハンドルでファイルを扱ったり、階層ディレクトリを導入したり、
環境変数を導入したりな
マイクロソフト自身がXENIXというUNIXを販売してたしね
0452デフォルトの名無しさん
垢版 |
2018/10/14(日) 16:01:42.97ID:13p+7YwI
>>451
MMX, SSE〜SSE4, AVX, AVX2, AVX512 は、SIMD命令だから、ループを展開して、
ベクトル計算のように考え直した場合、そのベクトルの足し算やベクトルの
要素ごとの掛け算などが速くできるようになる。
0454デフォルトの名無しさん
垢版 |
2018/10/19(金) 01:46:50.25ID:7j5wTJzZ
x86_64のRAXのRってなんの略か分かる?
EAXはExtended AX、AXはAccumulator (eXtended)でしょう。
「R」とはいったいなんなのだろう。

それとは別に、EAXって拡張拡張可算なんだね。
互換性とかの観点からすると仕方無いとも思うが もうちょっとマシな名前はなかったんだろうかw
0460デフォルトの名無しさん
垢版 |
2018/11/01(木) 19:26:14.88ID:upF+pHX5
i386アセンブラで書かれたGNU coreutilsみたいよ。
なんか紹介文に「アセンブラ楽しいから 皆もソース読んでね!」みたいなことが書かれてたw
0463デフォルトの名無しさん
垢版 |
2018/11/12(月) 16:49:29.06ID:D6ILV7Jx
iOSアプリでPoketAssemblyなるもの落としたんだが、説明に英語でLC-3アセンブリ言語って書いてて、
初めて見るCPUなんだが、何か情報源知ってたら教えて欲しい。
ネットで調べてもイマイチ見つからない。

幸いにも?CASL2に似てる命令っぽいし、マクロ的なのは多いっぽいのはサンプル見て理解出来た。
命令一覧があれば遊べそうなんだが。。。
0465デフォルトの名無しさん
垢版 |
2018/11/27(火) 17:52:50.88ID:Obj68CxZ
ありがとう。
ざっと読んだ感じ、立ち位置的にもアメリカ版CASLみたいな教育用アセンブラって感じみたいね。
リンク辿って簡単な入門書読んでみたけど、結構独特の文法。
(あっちでは普通なのかもだけど)
0468デフォルトの名無しさん
垢版 |
2021/01/04(月) 12:36:40.84ID:YWROyFrK
あげ
0471デフォルトの名無しさん
垢版 |
2021/01/08(金) 04:06:12.38ID:1gvHWZUI
最近Shenzhen I/Oっていうゲームで遊んでる。
なかなか面白い。
0513デフォルトの名無しさん
垢版 |
2021/02/04(木) 08:43:11.73ID:kdCq8hC0
>>417
1.5年前の書き込みで誰もいないスレだと思うけどw

ふと思ったんだけど、これ言語設計した人に
ヘブライ語圏とか右から左に書く言語の人がいたりしたんじゃないかな、などと思ったり

MOV A,B   例えばこれ左から読むと日本人には言語的にわかりやすい

BをAに移動

この説どう?w
0515デフォルトの名無しさん
垢版 |
2021/02/04(木) 16:01:32.25ID:5NLcheWJ
よだうそ
んまいらぶへ
0516デフォルトの名無しさん
垢版 |
2021/02/04(木) 16:17:11.89ID:R0EDVzG0
>>513
mov A,B   //(1)
に関して、

英語圏の人では、必ず語順が
「from B to A」
となるので、(1)とは逆になり違和感を感じる人が居るらしいが日本語では、
「AにBを代入する」
という言い方だと(1)と同じ順序になり、昔から問題ないと言われている。
個人的には、言葉ではなく、数学の
A=B
という表記と同じなので、Z80やx86のこの順序が天下をとったと見ている。
0517デフォルトの名無しさん
垢版 |
2021/02/04(木) 16:23:56.28ID:R0EDVzG0
>>516
数学で、量を定義する際、
A≡式
のように書くことがあるが、Aは短い変数名で、右辺の式は大体、長い。
このような定義式を複数、縦に並べたて書く時に、変数を左側に書いたほうが
≡の記号が同じ場所に並んで見やすい。
そのために、左辺にdestination、右辺にsourceを書く習慣になったと
個人的には考えている。
0518デフォルトの名無しさん
垢版 |
2021/02/04(木) 16:28:12.05ID:dB2jWvbu
だ右らか左々元は語本日
だ人本日は08Z
0519デフォルトの名無しさん
垢版 |
2021/02/04(木) 18:02:14.26ID:R0EDVzG0
古くは、Fortran, Basic の時代から、Pascal, C、C++、JS、Java、Perl, Ruby、C#、Python
に至るまで、変数 A に式 B の値を代入する構文は、
1. A = B
と書いてきた。これは、数学の記号と似てる。そしてその順序を
そのままアセンブラで持ち込めば、
2. mov A,B
と書ける。ところが、英語で mov (移動する)という言葉を使う際、
1と大体意味的に同じことは(本来はmovではなくcopyであるのだが)、
3. I mov an B to A.
の順序になってしまう。それでこの順序で書きたい人が出て来て
そういうアセンブラも存在するようになった。
今でも、LLVMでは、
4. A = add 型名 B, C で A = B + C の意味なのに、
A = B の意味では、Aがレジスタではない変数の場合には、
5. store 型名 B, 型名* Aのアドレス
の順序で書き、A がレジスタの場合には、
6. A = load 型名 * Bのアドレス
と書く。
5.では、1と順序が逆になっているが、6.では、1と同じである。
(この書き方は、数学的統一性が無いので好きではない。)
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況