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

タイトル Re^4: アセンブラ&コンパイラ、きっと NOT (neg?)
投稿日: 2022/11/12(土) 21:53
投稿者文太
 番 号 10396    10395 番 としき さんへのコメント    コメント数 1

としきさん

 今日は、ここだけで失礼します。

>>  としきさん、割とマクロ、マクロ(アセンブラの)と書かれていて、
>なるほど、ここも私がわかっていなくて想像していた部分でした。
>例えば、分岐やループの構文。

 なるほどぉ。いえ、としきさんが正解です、というか半々。マクロでは
ないが、プロシージャでもない。

 制御フローのことがすぐに頭に浮かぶんですね。この前の変数の話(メモリの
アドレス)とも似て、やはりとしきさんのほうが僕より、なんだろう、プログラミング
上、あるいはCPUとプログラムの関係上、正しい想像力をお持ちです、たぶん。
当たり前だけど。
 その方向で考えているのだろう、と僕には想像ができなかった、ということです。
 文脈を想像力で埋めることができなかった、という意味。

 で、マクロでなくプロシージャでもなく(後者でフローを作れるのか?) 
ベタなラベルジャンプ(最終的にはこれしかないから)が正解でした。

DoLoop_01:
;
;print "Hello there " a$ 		;これだけの命令が
;
     Mov  SI,Offset $tring_03		;ループなしでも
     Call PrintStr			;これだけのプロシージャ
     Call SetCursor			;を必要とする
     
     Mov  SI,Offset A$			;やるなら、高級言語だろう
     Call PrintStr			;あるいは
     Call SetCursor			;Vzマクロ。
     					;この感慨が面白くて
     Call DoCrLf			;BASMに興味を持ちました
;
;incr a 
;
     Inc  A
;
;if a = 23 then 
;
     Cmp  A,23
     Je   $+5
     Jmp  _EndIf_01
;
;exit loop 
;
     Jmp DoLoop_01A
;
;end if 
;
_EndIf_01:
;
;loop 
;
     Jmp DoLoop_01

DoLoop_01A:


>最近のアセンブラならマクロで構築するじゃないですか。
 僕は、最近のことはまったく知らないのですが、そうなのですか?
 c.mos流のあれをみて、そしてその原理をEmmettさんに教わって(@過去ログ)
最初にあれを考えた人(注)は何て頭がいいのだろう、と思いました。
 Cみたいな顔してるくせして、実はラベルを中で自動生成していた。

 ちなみに、上のようなプロシージャだらけの書き方を(この例はあまりよくない
かもしれないけど。たぶん他のやり方は醜すぎるから)、Jeff先生は強く強く
推奨していて(構造化)、「どうだ、アセンブラがパスカルみたいだろう」と
書かれていて、笑いました。
 まあね、と。
 で、僕は、よし、パスカルをやろう、と決心したという次第。その後、
1ミリも前進していないけど。

 JVM、たまたま出会いました。別発言で。

(注)とはいっても、〈マクロ〉アセンブラに内蔵されてると言ってもいいような
仕組みだから、アセンブラ作者自身でしょうね。MASMのドキュメントとかに書かれてる
のかなぁ? 「こんな使い方をすると賢いですよ」とか。


    - No.10396 一括表示へ   -   コメント元:10395 一括表示へ  -    [ 返信 ]    [引用無し] 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   暗証キー
    [ページトップへ] [管理用]