ベストアンサー
これらの回答のほとんどは、アセンブリ言語がサポートするプロセッサの種類など、さまざまな質問に答えています。ただし、実際のアセンブリ言語は、プロセッサの種類に関係なく、3つの異なる種類に分類できます。
- 基本的なアセンブリ言語。これは、命令をオペコードに変換するだけです。特別なことは何もありません。これらのほとんどは、小さな組み込みマシン用です。 79年に8080/8080 / z80用に作成しました。限定された式の優先順位すら認識しませんでした。
- (1)を実行するだけでなく、セットコードセグメントを設定する疑似命令とディレクティブを含む通常または一般的なアセンブリ言語は、データブロックなどを生成する可能性があります。 。ほとんどのアセンブラはこの性質のものです。
- マクロアセンブリ言語。良いものは、ループ、置換などを含む広範なマクロ言語を持っています。それらは非常に強力です。 IBM360アセンブラーはこの良い例です。 Microsoft x86 / x64MASMアセンブラもこの例です。
以下は、さまざまなコンパイラでアセンブリ言語を移植できるようにするためにコードで使用するMASMのマクロの例です。折り返しごめんなさい。
;
; This macro declares an external data element.
;
External macro dName:req, dType:req
local dataName, xName
xName textequ
forc chr, <&dName>
ifidn <&chr>, <\_>
xName textequ
else
xName catstr xName, <&chr> ;;catstr &xName, &chr
endif
endm
if (\_borland eq true)
dataName catstr <\_>, <&dName&> ;; extern "C": Borland"s 5.5.1 C++
elseif (\_comeau eq true)
dataName catstr <\_>, <&dName&> ;; extern "C": Comeau 4.2.45.2 C++
elseif (\_gnu eq true)
dataName catstr <\_>, <&dName&> ;; extern "C": GNU 2.95.3-5 C++
elseif (\_ibm eq true)
dataName catstr <\_>, <&dName&> ;; extern "C": IBM VisualAge 4.0 C++
elseif (\_intel eq true)
dataName catstr <\_>, <&dName&> ;; extern "C": Intel 5.0.1 reference C++
elseif (\_microsoft eq true)
if (\_x32 eq true)
dataName catstr <\_>, <&dName&> ;; extern "C": Microsoft Visual Studio
else
dataName textequ <&dName&> ;; extern "C": Microsoft Visual Studio
endif
elseif (\_clr eq true)
if (\_x32 eq true)
dataName catstr <\_>, <&dName&> ;; extern "C": Microsoft Visual Studio with -clr option
else
dataName textequ <&dName&> ;; extern "C": Microsoft Visual Studio with -clr option
endif
endif
extern dataName:dType
\%xName equ dataName
endm
回答
アセンブリ言語には多くの種類がありますか?アセンブリ言語は一意ですか?
はい、少なくともRISC(通常は3オペランド、ロード/ストア、多くのレジスタを使用)、CISC(通常は2オペランド、ロードとは異なり)など、多くのタイプがあります。 / store、最初にレジスタにロードしなくてもメモリ上で動作する可能性があります。
最も一般的なRISCはARMです(ただし、厳密には2つまたは3つのアーキテクチャであり、少なくともARMv8は実際には異なります)。 MIPSの別のバリアント。最も人気のあるCISCは、Intelのx86です(たとえば、64ビットのx86-64拡張機能を作成したAMD)。 IBMのメインフレーム用にもう1つのCISCをまだ使用しています。
VLIWはもう1つ(およびIntelのEPICは一種のバリアント)であり、多くの人がTIを含むそのようなタイプのCPUを製造しています。
一部あいまいなのは、 1つの命令セットコンピューター-Wikipedia (OISC)で、ほとんどが理論的な演習です。
ゼロ命令セットコンピューター-Wikipedia (ZISC)なので、アセンブリが適用されるかどうかはわかりません。 🙂
そしてトランスポートトリガーアーキテクチャ-ウィキペディアは私の頭のてっぺんから最後のものです。他にありますか?
すべての 1つの命令セットコンピュータアーキテクチャの中で、TTAアーキテクチャはプロセッサをベースにした数少ないアーキテクチャの1つです。それが構築され、それに基づくプロセッサを備えた唯一のものが商業的に販売されました。