忍者ブログ
RoboCup Junior Japan Rescue Kanto OB

             2005~2013
[681]  [680]  [679]  [678]  [677]  [676]  [674]  [672]  [671]  [670]  [669
実はそろそろ機械語が読めるようになってきつつあるLuzです。


最近、またASM始めました。

ASM、アセンブラ、どこぞのBrainなんたらよりはマシですが、これもこれで難しい部類の言語ですね。

正式にはアセンブリ言語と呼ぶそうです。テストでアセンブラって書いたら×されました。
アセンブラには「アセンブリ言語を機械語に翻訳するプログラム」という意味を有るそうです。

アセンブリ言語とは所謂C言語等の高級言語と機械が理解する機械語のちょうど中間に位置する言語です。

コンパイルをした先に行き着く言語というのが正しいでしょうか。

アセンブリ言語の特徴は機械語をそのまま人間の読める文字に変換しているだけという点です。

C言語だと、例えば足し算だったら

i=i+j;

という風に、これひとつでなんか色々な処理を行なって、足し算を行なってくれますね。


でもアセンブリ言語の場合は、iという変数の値をメモリから引き出して、jという変数の値をメモリから引き出して、

それでようやく足し算をして結果をメモリの中のiに保存して・・・

という一連の動作が全てバラバラの命令になっています。

つまり、足し算をするだけでもC言語より莫大な量のプログラムを書き込む必要があります。


これがアセンブリ言語です。だから中身は機械語と同じだけど、01の数字を文字に置換しているというだけのものです。

つまり・・・命令文は複雑になってややこしくはなるけど、

その分かなり細かいところまでプログラムをいじることができるという訳です。

だから簡単に言うと、ROBOLABからC、に移行した際に、プログラムの設定を細かく行なうこと出来たという経験。

Cとアセンブリ言語の違いはアレと同じ感覚ですね。



で、僕は以前興味本意でコイツに手をつけたことがあるのですが、結局面倒になって、またCに戻ってきていたのですね。
I2Cの時は死ぬかと思った・・・。

で、それから何年か経って、今度はアセンブリ言語の需要が生まれてしまったのです。

要するに前回はやる必要性がなかったのでテキトーだったけど、今回はやらねばなるまい。ということです。


という訳でテスト期間中にも関わらず、こうしアセンブリ言語と格闘しているわけです。

時の流れって怖い。完全に忘れてますねー。


そんな感じで今日の記事はこの辺で。

あれ?今日だと思ったら明日になってる?あれ?今日が明日で、だけど今日は今日で・・・?


(^・ω・)ノ RadiumProduction in RoboCup Junior
Comments
※コメントは内容確認後に手動で公開するようにしております。反映までしばらくお待ちください。
Your Name
Title
color
Comment
 

カレンダー
02 2024/03 04
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
最新CM
[05/09 ONE RoboCuper]
[05/07 HDD ほしいよー]
[04/21 ブラック3辛]
[12/26 bols-blue]
[06/08 ONE RoboCuper]
かうんた
カウンター カウンター
らじぷろ目次
らじぷろ検索機
プロフィール
HN:
Luz
性別:
男性

PR

忍者ブログ 2007-2021,Powered by Radium-Luz-Lα+-Rescatar in RadiumProduction [PR]


Related Posts Plugin for WordPress, Blogger...