アセンブル【assemble】
アセンブル
アセンブルとは、アセンブリ言語で記述されたコンピュータプログラムを、コンピュータで直接実行可能なオブジェクト形式に変換することである。
プログラミング言語は、人間にとって理解しやすい高級言語から、機械よりの形式で記述された低級言語まで様々なものがある。この中でアセンブリ言語では、プログラムはニーモニックという記号で表現された命令の集まりとして表現され、低級なプログラミング言語であるとされる。
アセンブリ言語で記述されたプログラムは、一般的にそのプログラムの実行ターゲットとなるCPU(中央演算処理装置)に依存するものになる他、抽象度の低い表現が中心になる、などの特徴がある。その一方で、レジスタ操作、メモリアクセスなどが自在に可能であり、きめ細かい指定により、CPUの能力を最大限に引き出すことができる。
なお、高級言語の場合は、機械語命令への変換処理のことを「コンパイル」と呼んで区別している。機械語への変換処理は、セマンティックギャップが大きくなるほど難しくなる。アセンブリ言語から機械語への変換処理は、セマンティックギャップは小さく、高級言語をコンパイルするよりも容易である。
アセンブリ言語は、プログラミングの生産性は高くないため、ビジネスアプリケーション向けにはほとんど利用されない。限られたリソース条件下で、最大限の性能を引き出す必要がある組み込み機器などで利用される。
アセンブリ言語
(アセンブル から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/02/20 05:36 UTC 版)
|
|
注釈
- ^ IBMはSystem/360から2011年現在まで一貫してアセンブラ言語 (Assembler Language)と 呼んでいる。例:IBM High Level Assembler
- ^ MIPSのアセンブラの一部など、(分岐命令のターゲットアドレスの先頭にある機械語命令を対象として)その分岐命令の遅延スロットへの移動を(副作用がない場合に)アセンブラ疑似命令 (.set bopt) の指示に応じて行うものもある。OPTASM(SLR社)という最適化アセンブラもあった。
出典
- ^ アセンブリ言語 - コトバンク
- ^ Stroustrup, Bjarne, The C++ Programming Language, Addison-Wesley, 1986, ISBN 0-201-12078-X: "C++ was primarily designed so that the author and his friends would not have to program in assembler, C, or various modern high-level languages." - assembler を assembly language の意味で使っている例
- ^ Saxon, James, and Plette, William, Programming the IBM 1401, Prentice-Hall, 1962, LoC 62-20615. - assembly program という用語を使っている例
- ^ a b David Salomon (1993). Assemblers and Loaders
- ^ bit 編集部『bit 単語帳』共立出版、1990年8月15日、8頁。ISBN 4-320-02526-1。
- ^ Beck, Leland L. (1996). “2”. System Software: An Introduction to Systems Programming. Addison Wesley
- ^ a b c d Intel Architecture Software Developer’s Manual, Volume 2: Instruction Set Reference. INTEL CORPORATION. (1999). pp. 442 and 35 2010年11月18日閲覧。
- ^ Hyde, Randall. "Chapter 12 – Classes and Objects". The Art of Assembly Language, 2nd Edition. No Starch Press. © 2010.
- ^ (John Daintith, ed.) A Dictionary of Computing: "meta-assembler"
- ^ Intel Architecture Software Developer’s Manual, Volume 2: Instruction Set Reference. INTEL CORPORATION. (1999) 2010年11月18日閲覧。
- ^ Evans, David (2006年). “x86 Assembly Guide”. University of Virginia. 2010年11月18日閲覧。
- ^ “The SPARC Architecture Manual, Version 8”. SPARC, International (1992年). 2011年12月10日時点のオリジナル[リンク切れ]よりアーカイブ。2012年10月27日閲覧。
- ^ http://www.z80.de/z80/z80code.htm
- ^ Microsoft Corporation. “MASM: Directives & Pseudo-Opcodes”. 2011年3月19日閲覧。
- ^ Macros (C/C++) | Microsoft Docs
- ^ “Concept 14 Macros”. MVS Software. 2009年5月25日閲覧。
- ^ Answers.com. “assembly language: Definition and Much More from Answers.com”. 2008年6月19日閲覧。
- ^ NESHLA: The High Level, Open Source, 6502 Assembler for the Nintendo Entertainment System
- ^ Salomon. Assemblers and Loaders. p. 7 2012年1月17日閲覧。
- ^ “The IBM 650 Magnetic Drum Calculator”. 2012年1月17日閲覧。
- ^ Jim Lawless (2004年5月21日). “Speaking with Don French : The Man Behind the French Silk Assembler Tools”. 2008年8月21日時点のオリジナル[リンク切れ]よりアーカイブ。2008年7月25日閲覧。
- ^ 松 --- 事実上最初のパソコン用日本語ワープロソフト
- ^ Toolchain, libraries and headers relationship - PlayStation Development Network
- ^ What were PS1 and N64 games written in? : gamedev
- ^ [リンク切れ]
- ^ Lispによるリターゲッタブルコードジェネレータの実装 (PDF) Archived 2008年8月20日, at the Wayback Machine.
- ^ http://www.ogis-ri.co.jp/otc/hiroba/others/OORing/interview21.html
- ^ Rusling, David A.. “The Linux Kernel”. 2012年3月11日閲覧。
- ^ a b “Writing the Fastest Code, by Hand, for Fun: A Human Computer Keeps Speeding Up Chips”. New York Times, John Markoff (2005年11月28日). 2010年3月4日閲覧。
- ^ “Bit-field-badness”. hardwarebug.org (2010年1月30日). 2010年2月5日時点のオリジナル[リンク切れ]よりアーカイブ。2010年3月4日閲覧。
- ^ “GCC makes a mess”. hardwarebug.org (2009年5月13日). 2010年3月16日時点のオリジナル[リンク切れ]よりアーカイブ。2010年3月4日閲覧。
- ^ Randall Hyde. “The Great Debate”. 2008年6月16日時点のオリジナル[リンク切れ]よりアーカイブ。2008年7月3日閲覧。
- ^ “Code sourcery fails again”. hardwarebug.org (2010年1月30日). 2010年4月2日時点のオリジナル[リンク切れ]よりアーカイブ。2010年3月4日閲覧。
- ^ “BLAS Benchmark-August2008”. eigen.tuxfamily.org (2008年8月1日). 2010年3月4日閲覧。
- ^ “x264.git/common/x86/dct-32.asm”. git.videolan.org (2010年9月29日). 2012年3月4日時点のオリジナル[リンク切れ]よりアーカイブ。2010年9月29日閲覧。
- ^ “68K Programming in Fargo II”. 2008年7月2日時点のオリジナル[リンク切れ]よりアーカイブ。2008年7月3日閲覧。
- ^ Hyde, Randall (1996年9月30日). “Foreword ("Why would anyone learn this stuff?"), op. cit.”. 2010年3月25日時点のオリジナル[リンク切れ]よりアーカイブ。2010年3月5日閲覧。
- ^ Randall Hyde. “Which Assembler is the Best?”. 2007年10月18日時点のオリジナル[リンク切れ]よりアーカイブ。2007年10月19日閲覧。
- アセンブルのページへのリンク