No. 1366/2188 Index Prev Next
Path: ie.u-ryukyu.ac.jp!hakata!sakura.kudpc!kuis-news!kuee-news!odins-suita!chiba-ns!villon.nig.ac.jp!aa.com!newsbase.nisiq.net!newsfeed.internetmci.com!in2.uu.net!192.244.176.52!news.iij.ad.jp!hskiij-news!light.imasy.or.jp!ikeda
From: ikeda@yokohama.yic.or.jp. (Hirotaka_Ikeda_)
Newsgroups: fj.beginners
Subject: Re: アセンブラ?
Date: 29 Nov 1996 13:53:57 GMT
Organization: Internet Mutual Aid Society Yokohama
Lines: 81
Message-ID: < 57mptl$b7e@light.imasy.or.jp>
References: < 01bbda8a$ec6e1540$1d63cd85@1>
< 57f8vb$i04@ns.src.ricoh.co.jp>
NNTP-Posting-Host: yokohama.yic.or.jp
X-Newsreader: mnews [version 1.19] 1995-07/21(Fri)
池田@YICです。
< 57f8vb$i04@ns.src.ricoh.co.jp> の記事において
ohta@src.ricoh.co.jpさんは書きました。
>> fj.beginnersの記事< 01bbda8a$ec6e1540$1d63cd85@1> で
> > senmiura@mxp.meshnet.or.jpさんは書きました。
> > > アセンブラ、アセンブリ言語ってなに?
> >
> > コンパイラーはわかります?
> >
> > 計算機を動かすためには計算機が直接解釈できる機械語
> > 命令を読ませる必要があるのですが、人間が書いたプロ
> > グラムをコンパイル(翻訳あるいは編集)して機械語命令
> > に変換するのがコンパイラーで、人間が書いたプログラ
> > ムをアセンブル(直訳あるいは組み立て)して機械語命令
> > に変換するのがアセンブラーです。
> >
> > コンパイラーが受け付ける言語はふつう高級言語という
> > ような呼び方をされますが、これは水準の高い論理的な
> > 記述が可能で、複雑な手順を経て機械語命令に変換され
> > ます。
> >
> > アセンブリー言語のほうは、記述できる命令自体は機械
> > 語命令と1対1に対応するもので、ジャンプ命令の飛び先
> > やデータ領域などのアドレスを記号で書いておくことが
> > できる程度のものです。
> >
> > こんな説明でわかりますか?
> > --
> > 太田純(Junn Ohta) (株)リコー ソフトウェア事業センター
> > ohta@src.ricoh.co.jp/JCF00656@niftyserve.or.jp
言葉の説明だけでは判りにくいと思いますので
Z-80 を例に補足させてください。
CPU が実行中の命令を取り込むメモリー番地を
9000H (Hは16進数 をあらわす) へ JUMP (飛ぶ ) には
マシンの code では
C3 0090 と 書かれています。(Z80ではメモリの上下を逆にあらわすので
00 90 は 9000H の意味)
これを、Z80 のアセンブラー表記すると
JP 9000H と書きます。
ただし、9000Hは 例えば keyinput のプログラムだったりすると
普通は
#define keyinput 9000H
のように 定義しておいて
JP keyinput のように書きます。
このような アセンブラー表記のプログラムを コンパイラーに
かけると
C3 0090 のような コードを生成するわけです。
普通はこのコードは ファイル上に書かれ、必要なツールを
介して PROM WRITER に送り ROM に書き来んだり、あるいは
OS上で 実行形式のファイル(MS-DOSの *.exe に相当)として
コマンド実行したりします。
現在は アセンブラーを直接利用する人は少なくて例えば C 言語等の
ような物が多く使われます。
(共用することも多いですが..高級言語からアセンブラーで書かれた
低級な関数を呼んだりします。。)
C 言語も printf( stdout, " hellow\n" ); のような 構文が
コンパイル操作により 同じく実行形式のファイルが
生成されます。
上記の例は hellow と CRT に出すだけですが
これを アセンブラーで書くと 1000行以上になると
思います。
昔、Z-80マシン上の BASIC 言語で print " A" ( A と表示させる)
が アセンブラー表示させるモニターで 追いかけた所
数千行に 渡った経験があります。
---
(有)ケミカルセンサーアンドコンピューティング
横浜インターネットコミュニケーションズ
池田浩隆 ikeda@yokohama.yic.or.jp
Next
Continue < toda-0212961235270001@ph1pc3.med.niigata-u.ac.jp>
< 587dcf$qdk@light.imasy.or.jp>
< 588bml$sb8@kinka.tokyo.pfu.co.jp>