アセンブラ
英語では、 assembler アセンブルする人
アセンブルって、のは組み立てるっていう意味だから、組み立てる人のことなんだけど
コンピュータ用語では、コンピュータのCPU(中央演算処理装置)の機械語に直接翻訳される、機械語と一対一で対応している命令で書いたプログラムやその変換ソフトのことになる。
機械語ってのは、コンピュータのCPUが直接理解してる命令のことで、たとえば、レジスタっていうCPUの内部の記憶領域に対して、外部のメモリ(この場合はCPUから見て外部だけど、コンピュータとしてみると内蔵されているメモリのこと)のある場所からデータを読み込めとか、ある場所に書き込めとか
レジスタの値にある値を足せとかそういう基本的な命令のこと
CPUの種類によって、この命令の数は違うしどんな命令があるかも違うんだけど、
基本的にはメモリの読み込み、書き出し、演算(足し算引き算、ビット単位のアンドかオアとか)そういう命令がある。
で、CPUってのは後にも先にもこれしかできない。
最近久しぶりに仕事でアセンブラでプログラムを書いているんだけど、コンピュータの中をすべて把握して書かないといけないから、本当にコンピュータにプログラムしているっていう気になれる。
高級言語(CとかC++とか、PHP、Perl、Javaなんかも)を使って、高級なOSの上で作業していると、コンピュータって賢くていろんなことをやってくれる様な気がするけどアセンブラでプログラムを書いていると、やっぱりコンピュータは馬鹿なんだっていうことを実感する。
メモリから読み出したり書き込んだり足したり引いたりしているだけなのに、結果としていろんなことができてしまう。
ある種の感動を覚える。
やっぱりプログラムの基本はアセンブラだな。
って年寄り臭いかなぁ
-
最近の投稿
最近のコメント
- DynabookでWindows7 SP1の更新が見えない に umeko より
- DynabookでWindows7 SP1の更新が見えない に mark より
- DynabookでWindows7 SP1の更新が見えない に 篠 敏生 より
- カーネル/VM Advent Calendar : ATND に たけおか より
- 基礎から学ぶ 組み込みAndroid に mark より
アーカイブ
- 2017年1月
- 2014年9月
- 2013年9月
- 2013年8月
- 2013年2月
- 2012年10月
- 2012年9月
- 2012年7月
- 2012年6月
- 2012年5月
- 2012年2月
- 2011年8月
- 2011年5月
- 2011年4月
- 2011年3月
- 2011年1月
- 2010年12月
- 2010年10月
- 2010年7月
- 2010年5月
- 2010年4月
- 2010年3月
- 2010年2月
- 2010年1月
- 2009年11月
- 2009年10月
- 2009年9月
- 2009年8月
- 2009年7月
- 2009年6月
- 2009年4月
- 2009年3月
- 2009年2月
- 2009年1月
- 2008年12月
- 2008年11月
- 2008年10月
- 2008年8月
- 2008年7月
- 2008年6月
- 2008年5月
- 2008年4月
- 2008年3月
- 2008年2月
- 2008年1月
- 2007年12月
- 2007年11月
- 2007年10月
- 2007年9月
- 2007年8月
- 2007年7月
- 2007年6月
- 2007年5月
- 2007年4月
- 2007年3月
- 2007年2月
- 2007年1月
- 2006年12月
- 2006年11月
- 2006年10月
- 2006年9月
- 2006年8月
- 2006年7月
- 2006年6月
- 2006年5月
- 2006年4月
- 2006年3月
- 2006年2月
- 2006年1月
- 2005年12月
- 2005年11月
- 2005年10月
- 2005年9月
- 2005年8月
- 2005年7月
- 2005年6月
- 2005年5月
- 2005年4月
- 2005年3月
- 2005年2月
- 2005年1月
- 2004年12月
- 2004年11月
- 2004年8月
カテゴリー
メタ情報