アセンブル【assemble】
アセンブル
アセンブルとは、アセンブリ言語で記述されたコンピュータプログラムを、コンピュータで直接実行可能なオブジェクト形式に変換することである。
プログラミング言語は、人間にとって理解しやすい高級言語から、機械よりの形式で記述された低級言語まで様々なものがある。この中でアセンブリ言語では、プログラムはニーモニックという記号で表現された命令の集まりとして表現され、低級なプログラミング言語であるとされる。
アセンブリ言語で記述されたプログラムは、一般的にそのプログラムの実行ターゲットとなるCPU(中央演算処理装置)に依存するものになる他、抽象度の低い表現が中心になる、などの特徴がある。その一方で、レジスタ操作、メモリアクセスなどが自在に可能であり、きめ細かい指定により、CPUの能力を最大限に引き出すことができる。
なお、高級言語の場合は、機械語命令への変換処理のことを「コンパイル」と呼んで区別している。機械語への変換処理は、セマンティックギャップが大きくなるほど難しくなる。アセンブリ言語から機械語への変換処理は、セマンティックギャップは小さく、高級言語をコンパイルするよりも容易である。
アセンブリ言語は、プログラミングの生産性は高くないため、ビジネスアプリケーション向けにはほとんど利用されない。限られたリソース条件下で、最大限の性能を引き出す必要がある組み込み機器などで利用される。
アセンブリ言語
(アセンブル から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/06/22 15:20 UTC 版)
注釈
- ^ IBMはSystem/360から2011年現在まで一貫してアセンブラ言語 (Assembler Language)と 呼んでいる。例:IBM High Level Assembler
- ^ MIPSのアセンブラの一部など、(分岐命令のターゲットアドレスの先頭にある機械語命令を対象として)その分岐命令の遅延スロットへの移動を(副作用がない場合に)アセンブラ疑似命令 (.set bopt) の指示に応じて行うものもある。OPTASM(SLR社)という最適化アセンブラもあった。
- ^ 厳密にはCPUのビット幅に依存するが、マクロ定義はこれを条件付きコンパイルによりカバーしている。
- ^ GCC等、C言語への拡張によりシンボルへのセクション指定が可能なコンパイラはあるが、コンパイラへの強い依存性が生じる。アセンブリ言語であれば、およそセクションをサポートしたオブジェクトファイルが出力できるならばセクションの指定は何らかの手段で実装可能となる。
出典
- ^ a b "ニモニックによって表したプログラムをアセンブリ言語(assembly language)プログラムと呼ぶ。" 伊藤. 機械語とアセンブリ言語. 埼玉大学, 電気電子物理工学実験III. 2022-12-25閲覧.
- ^ 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 の意味で使っている例
- ^ Intel Architecture Software Developer’s Manual, Volume 2: Instruction Set Reference. INTEL CORPORATION. (1999) 2010年11月18日閲覧。
- ^ a b "各命令に、人間にとって意味があり、その命令が行う処理を類推できる文字列を対応付ける。この文字列をニモニック(mnemonic)と呼ぶ。" 伊藤. 機械語とアセンブリ言語. 埼玉大学, 電気電子物理工学実験III. 2022-12-25閲覧.
- ^ “The SPARC Architecture Manual, Version 8”. SPARC, International (1992年). 2011年12月10日時点のオリジナルよりアーカイブ。2012年10月27日閲覧。
- ^ a b David Salomon (1993). Assemblers and Loaders
- ^ Microsoft Corporation. “MASM: Directives & Pseudo-Opcodes”. 2011年3月19日閲覧。
- ^ 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日閲覧。
- ^ Evans, David (2006年). “x86 Assembly Guide”. University of Virginia. 2010年11月18日閲覧。
- ^
goto
文が存在する言語もあるが、限定利用が推奨される - ^ 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
- ^ Z80 Op Codes for ZINT
- ^ コンピュータ予約システム (CRS) やクレジットカード会社で使われているトランザクションOS
- ^ Dr. H.D. Mills (1970) 提案、Marvin Kessler 実装 in IBM連邦政府システム部門
- ^ “Concept 14 Macros”. MVS Software. 2009年5月25日閲覧。
- ^ Saxon, James, and Plette, William, Programming the IBM 1401, Prentice-Hall, 1962, LoC 62-20615. - assembly program という用語を使っている例
- ^ J.DONOVAN, JOHN (1972). systems programming. pp. 59. ISBN 0-07-085175-1
- ^ bit 編集部『bit 単語帳』共立出版、1990年8月15日、8頁。ISBN 4-320-02526-1。
- ^ 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"
- ^ Beck, Leland L. (1996). “2”. System Software: An Introduction to Systems Programming. Addison Wesley
- ^ Randall Hyde. “Which Assembler is the Best?”. 2007年10月18日時点のオリジナルよりアーカイブ。2007年10月19日閲覧。
- ^ 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
- ^ “SegaBase Volume 6 - Saturn”. Eidolon's Inn (2008年1月10日). 2014年7月2日時点のオリジナルよりアーカイブ。2013年6月27日閲覧。
- ^ Lispによるリターゲッタブルコードジェネレータの実装 (PDF) Archived 2008年8月20日, at the Wayback Machine.
- ^ OOエンジニアの輪! ~ 第 21 回 川合史朗 さんの巻 ~ | オブジェクトの広場
- ^ NVIDIA Xbox GPU Specs | TechPowerUp GPU Database
- ^ Using Shaders in Direct3D 10 - Win32 apps | Microsoft Docs
- ^ Rusling, David A.. “The Linux Kernel”. 2012年3月11日閲覧。
- ^ “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日閲覧。
- ^ [CEDEC]「FINAL FANTASY XV」の最適化はこうして行われた - GamesIndustry.biz Japan Edition
- ^ “x264.git/common/x86/dct-32.asm”. git.videolan.org (2010年9月29日). 2012年3月4日時点のオリジナルよりアーカイブ。2010年9月29日閲覧。
- ^ “[https://github.com/torvalds/linux/blob/master/include/linux/export.h GitHub, torvalds / linux, include/linux/export.h]”. 2023年10月8日閲覧。
- ^ Hyde, Randall (1996年9月30日). “Foreword ("Why would anyone learn this stuff?"), op. cit.”. 2010年3月25日時点のオリジナルよりアーカイブ。2010年3月5日閲覧。
- 1 アセンブリ言語とは
- 2 アセンブリ言語の概要
- 3 高級言語との違い
- 4 歴史
- 5 利用
- 6 脚注
- 7 外部リンク
アセンブル
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/30 04:31 UTC 版)
「アーマード・コアシリーズ」の記事における「アセンブル」の解説
機体をカスタマイズする行為は「アセンブル」と呼ばれている。機体は胴体となるコアに頭部・腕部・脚部で構成され、両手と両肩に武装、機能を追加したり特性を変化させるオプションを搭載する。パーツには重量やAP(アーマーポイント、装甲値)だけでなく詳細なパラメータが設定されており、それらを勘案して機体を構成することになる。アセンブルはミッションごとに変更できるため、依頼内容に合わせて機体や武器を変更するのが基本であるが、必須ではないため特定のアセンブルを使い続けることも可能。
※この「アセンブル」の解説は、「アーマード・コアシリーズ」の解説の一部です。
「アセンブル」を含む「アーマード・コアシリーズ」の記事については、「アーマード・コアシリーズ」の概要を参照ください。
アセンブル
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/13 08:45 UTC 版)
本作では、機体をカスタマイズする行為は「アセンブル」と呼ばれている。機体は胴体となるコア・頭部・腕部・脚部、動作に深く関わるブースターとジェネレータ、ロックオンに関わるFCSで構成され、両手と両肩に武装、機能を追加したり特性を変化させるオプションを搭載する。パーツには重量やAP(アーマーポイント、装甲値)だけでなく詳細なパラメータが設定されており、それらを勘案して機体を構成することになる。アセンブルはミッションごとに変更できるため、依頼内容に合わせて機体や武器を変更するのが基本であるが、必須ではないため特定のアセンブルを使い続けることも可能。尚、脚部の積載量やジェネレータの出力によってはアセンブルに限界はある。
※この「アセンブル」の解説は、「アーマード・コア」の解説の一部です。
「アセンブル」を含む「アーマード・コア」の記事については、「アーマード・コア」の概要を参照ください。
アセンブル
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/12/06 03:05 UTC 版)
ゲーム内のロボは、基本的に「ヘッド(頭)」「ボディ(胴体)」「レッグ(脚)」「アーム(腕)」「ブースター(推進装置)」の6つのパーツで構成され、それぞれのパーツごとにバラバラにすることができる(アームは左右で別パーツとして扱われているため、違うパーツを利用可能)。 それらのパーツを組替えることで、ある程度の制限はあるものの自由に組替えを楽しむことができる。パーツの中には武器を内蔵しているものや、他のパーツの機能を備えたものもある。 ヘッド 頭部。エネルギー(EN)の回復能力を有している。このパーツがないとロボが声を出さなくなる。女性型もある。略称はHD。 ボディ 胴体。戦闘能力や防御力、エネルギーの回復能力を有している。基本的にHPが多いものはサイズと重量が増加する。略称はBD。 このゲームでは例外を除き、1体のロボに対し3つまで取付け可能。 レッグ 脚部。歩行能力を有している。歩行能力がないとアセンブルが成立しない。基本的にサイズの小さなレッグは積載が少なく、動きが速い。逆に、サイズの大きなレッグは動きが遅いが、たくさんのパーツを積むことが可能。略称はLG。 アーム 腕部。戦闘能力や防御力を有している。武器を装備するときなどはこのパーツが必要になる。原則として腕一本につき武器一個が装備可能。略称はAM。 ブースター 推進器となるパーツで、飛行能力を有している。飛行能力がないとアセンブルが成立しない。基本的に複数のボディがある場合はブースターも複数取り付けられる。略称はBS。 ジョイントパーツ ヘッドとボディの間やボディとレッグの間、ボディとアームの間等、文字通り「ジョイント部分」に挟み込む事が出来る特殊なパーツ。略称は〇○J(○○には対応する部位の略称が入る。BDJは無い)。 パーツによって様々な効果がある。比較的軽量なものが多く、かさばりにくいのが特徴。 元々はコズミックブレイクで登場したパーツ形式であり、逆輸入された形になる。 チューニングパーツ ロボの性能を強化するパーツ。ロボ1体につき2つ装備可能。 HP最大値を増加させるもの、重量を減少させるもの、ブースターエフェクトを変更するものなど効果は様々。 オーラカートリッジ AURA(オーラ)システムを発動した際にロボの性能を強化するカートリッジ。ロボ1体につき1つ装備可能。 パーツ強化により5段階まで強化可能。5段階目の強化で「オーラ解放時に特殊な動き」が出来るようになる。
※この「アセンブル」の解説は、「C21」の解説の一部です。
「アセンブル」を含む「C21」の記事については、「C21」の概要を参照ください。
アセンブル
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/17 00:25 UTC 版)
ロボは基本的に1つのBD(胴体)に、HD(頭)、LG(足)、BS(ブースター)、AM(腕)、の4種類のパーツを装着した形で組み上げられる。BDによっては、HDが2つ装着できたり、逆にHDなど一部のパーツを装着できないような特殊なものも存在する。この際ベースになっているBDによってロボのタイプが決まり、得意な分野や装着できるパーツ/武器/カートリッジなどが変化する。
※この「アセンブル」の解説は、「コズミックブレイク」の解説の一部です。
「アセンブル」を含む「コズミックブレイク」の記事については、「コズミックブレイク」の概要を参照ください。
「アセンブル」の例文・使い方・用例・文例
- アセンブルのページへのリンク