今日のテーマ   日々改造 (^_^;)         
[記事リスト(ツリー表示)]  [ 返信 ]   [新着記事] [最新50] [ワード検索] [過去ログ]

タイトル Re^3: アセンブラ&コンパイラ、きっと NOT (neg?)
投稿日: 2022/11/12(土) 16:13
投稿者としき
参照先http://toshiki.la.coocan.jp/
 番 号 10395    10393 番 文太 さんへのコメント    コメント数 1

だんだんわかってきました。
私の知りたかった一番の核心は

> from basm.doc

> BASM translates a BASIC-like language to 80286 assembly language source.    

ということで、やはり作者的には、コンパイラというよりトランスレータという扱い
のようですね。これで私の頭の中はかなりすっきり。した気がする。してないかも。
もしかすると、スッキリしていない頭でいろいろとあげつらった文章のせいで、逆に
文太さんを困惑させているような。

>  あるいは、高級言語のインライン・アセンブラ
> の部分をBasicで書けるよ、なのかな。

これは大きいかもしれない。
例えば、私の手がけたポケ3用のEMSドライバ、関谷さんの作られた200LX用の古い
バージョンの移植です。そしてこのドライバは、使用頻度の高いファンクション
しかサポートしていない。そこで、歯抜けの部分のファンクションを自力で作りたい
という思いはあって。そしてポケ3のCPUは80286。

>  コンパイルとアセンブルの違い(と僕が思っていたこと)。
>  .asmにしてアセンブルすると、.basをコンパイルするより、〈一般に〉速いものが
> できあがる。
>  しかし、これは「最適化」できるかによりけりで、〈一般に〉にそうとは限らない。
> たぶん、大して変わらない。
>  こんな風に理解しています。

理論的には「大して変わらない」かもしれない。
でも、世の中のコンパイラで、そんなにきちんと最適化できるものは少ない、という
現実もあって。
例えば、DOS3とかDOS5の時代、Turbo CとかQuick Cに比べるとLSI C-86は圧倒的に
最適化レベルが高かった、といわれています。それでも、LSI Cの出力を、手作業で
さらに最適化するような人々もいたらしい。ただ、その時代の職人の手仕事なんて
ほとんど伝説の域に達しているわけで、はたしてどこまで本当なのやら。

一応、多くのコンパイラは、その最終出力は実行ファイルです。
ただ、中間段階として、アセンブラソースをつくるものもあります。
LSI C-86はアセンブラソースを作ります。Delphiは作らないような気がする。
また、LSI C-86は同梱の専用アセンブラ用のソースを経由しますので、いろいろな
記述が、一般的なMASMやTASMと異なり、かなり癖がありました。当然、それらとの
互換性は皆無。とはいえ、ニーモニックは同一ですから、その部分だけを手作業で
MASMで移植、なんてことはよくやられていたようです。

>  としきさん、割とマクロ、マクロ(アセンブラの)と書かれていて、そう翻訳
> されると想像するのが「順当」なのかな、と思っていましたが、プロシージャです。

なるほど、ここも私がわかっていなくて想像していた部分でした。
例えば、分岐やループの構文。
最近のアセンブラならマクロで構築するじゃないですか。
なので、BASICをアセンブラに変換する場合、変換結果はマクロかな、と思っていた
のです。

>  エスペラントなどなど(仮想化)は、うーん、深いですねぇ。
>  ただこのラインは本筋から大きくずれたかな、という気はしています。

ずれまくりましたね。私のほうに誤解がありました。
ということで、以下、余談。
現在、一般に、CPUのvirtualizationというと、CPUで実行するソフトウェアの話。
ご存知だと思いますが、世の中にはシミュレーションゲームってありますよね。
アレって、仮想の世界で遊ぶソフトウェア。
同様に、CPUで、自分自身とか、全く別のCPUをソフトウェアとして動かす、という
ある意味で大技なのが、CPUのvirtualization。
ここで、「全く別のCPU」と言っていますが、たとえばこれ、現実には存在しない
架空のCPUであってもかまわない。その場合、当然、そのCPUで動く機械語は架空の
機械語になるわけです。つまり、現実とは距離を置いた言語。この意味で、まるで
人間の会話における自然言語に対する人工言語であるエスペラントのようだ、と
私は考えたわけです。

> 			; でも使い方や環境によりけりですが、僕は、tosfindの
> 			; バグに一度も出会ってないです。多謝。

私のほうが文太さんよりもtosfindの使用頻度が低いせいもあるのでしょう、私も
一度もバグに出会っていません。
ただ、ソースも公開されていますから、その気になればバグ取りできる人も多いと
思います。こういうところもオープンソースのいいところ。つまり、作者は逃げて
しまえるのですから。

    - No.10395 一括表示へ   -   コメント元:10393 一括表示へ  -    [ 返信 ]    [引用無し] pre


- 関連一覧ツリー (先頭の番号をクリックするとツリー全体を一括表示します)
10387.BASM - 文太 22/11/11-12:35
  ┣10389.TSR!!! - 文太 22/11/11-13:19
  ┣10390.アセンブラ&コンパイラ、きっと NOT (neg?) - 文太 22/11/11-16:12
  ┣10391.追記 - 文太 22/11/11-16:29
  ┗10392.Re: アセンブラ&コンパイラ、きっと NOT (neg?) - としき 22/11/11-22:58
   ┗10393.Re^2: アセンブラ&コンパイラ、きっと NOT (neg?) - 文太 22/11/12-00:46
    ┣10394.PrintStrプロシージャ(asm) - 文太 22/11/12-01:12
    ┗10395.Re^3: アセンブラ&コンパイラ、きっと NOT (neg?) - としき 22/11/12-16:13
     ┣10396.Re^4: アセンブラ&コンパイラ、きっと NOT (neg?) - 文太 22/11/12-21:53
     ┗10398.Re^5: アセンブラ&コンパイラ、きっと NOT (neg?) - としき 22/11/12-23:09
      ┣10401.Re^6: アセンブラ&コンパイラ、きっと NOT (neg?) - 文太 22/11/13-00:17
      ┗10405.Re^7: アセンブラ&コンパイラ、きっと NOT (neg?) - としき 22/11/13-01:30
       ┗10408.ゲーム&ビジネス - 文太 22/11/13-14:06
        ┣10416.Re: ゲーム&ビジネス - としき 22/11/14-01:36
        ┣10422.Programming Style - 文太 22/11/14-21:21
        ┗10442.Re: Programming Style - としき 22/12/25-00:13
      ┗10402.Re^6: アセンブラ&コンパイラ、きっと NOT (neg?) - 文太 22/11/13-00:31
       ┗10404.Re^7: アセンブラ&コンパイラ、きっと NOT (neg?) - としき 22/11/13-01:01
        ┗10407.構造化 - 文太 22/11/13-13:49
         ┣10410.Re: 構造化 - 文太 22/11/13-23:36
         ┗10417.Re: 構造化 - としき 22/11/14-01:36
          ┣10420.Index of _Software Tools_ (1976) by Kernighan &am.. - 文太 22/11/14-20:56
          ┗10421.18650 - 文太 22/11/14-21:05
  ┗10397.JVM - 文太 22/11/12-21:54
   ┗10399.Re: JVM - としき 22/11/12-23:23
    ┗10400.Re^2: JVM - 文太 22/11/13-00:16
     ┗10403.Re^3: JVM - としき 22/11/13-00:53
      ┣10406.大門未知子 - 文太 22/11/13-13:03
  ┗10411.古典 - 文太 22/11/13-23:38
   ┗10424._ST in Pascal_ (1981) - 文太 22/11/18-13:07
    ┗10425.Re: _ST in Pascal_ (1981) - としき 22/11/18-16:31
     ┗10427.Re^2: _ST in Pascal_ (1981) - 文太 22/11/18-20:28
      ┣10428.Re^3: _ST in Pascal_ (1981) - としき 22/11/18-22:11
      ┗10436.Re^3: _ST in Pascal_ (1981) - 文太 22/11/28-21:22
       ┗10439.Re^4: _ST in Pascal_ (1981) - としき 22/11/30-01:49
        ┗10441.Re^5: _ST in Pascal_ (1981) - 文太 22/12/01-16:15

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)   [引用無し]
おなまえ 
Eメール 
タイトル 
メッセージ auto soft pre(図表、プログラム) ※折り返さずに改行を入れてね
 参照先 
 暗証キー (英数字で8文字以内)
 プレビュー          

- 以下のフォームから自分の投稿記事を修正・削除することができます -
   処理   記事No   暗証キー
    [ページトップへ] [管理用]