• 締切済み

マイクロプロセッサ毎のニーモニックの違い

saru_1234の回答

  • saru_1234
  • ベストアンサー率33% (452/1341)
回答No.1

メーカが違えば、というか仕様決定者が違えば 考え方も違うわけで、そんなに深い意味はないと思いますが。 なので、ご質問のポイント > これにはld系とmov系があります。 > この二つの違いを教えてください。 は、複数メーカに亘る的確な回答はないと思います。 あえて言えば、(私は知りませんでしたが)1プロセッサで 両命令があるというAVR。 これこそ別の名称を使っているのですから違いがあるのでは? 私もここ10年くらいのCPUは知りませんが、 25年以上前の インテルの8ビットCPU 8080 や8085 は MOV でした. インテルのは転送だけではフラグは変化しませんが、 モトローラのは転送だけで動くフラグがありました。 各社各様のニーモニックで、技術者の負担が多く 公的な技量を測りにくかったので、 情報処理技術者の資格試験用に仮想CPUが規定され これのニーモニックを使い出題されたこともありました。

Ekukos_bloomers
質問者

お礼

> メーカが違えば、というか仕様決定者が違えば > 考え方も違うわけで、そんなに深い意味はないと思いますが。 結局、こうなるんですね。 > 25年以上前の インテルの8ビットCPU 8080 や8085 は MOV でした. 私は、Z80がld命令だからか8080Aはld命令だと勘違いしてました。

関連するQ&A

  • PDP-11のアセンブラ課題

    学校の課題で出されたものです。 まだ勉強をはじめたばかりでどこから手をつけていいのかわかりません>< ○PDP-11のアセンブラは、MOV#1,R2を次のような2語の機械語に翻訳する。PDP-11は、これをど  のように解釈し、どのように実行するのか説明せよ 0001010111000010 0000000000000001 ○PDP-11のMOV命令を使用し、以下の命令のアセンブリ言語表現、機械語表現を示せ。 ・R5が示すアドレスにジャンプする命令 ・サブルーチンから戻る命令 ・R0をスタック上にプッシュする命令 ○次のプログラムをPDP-11のアセンブリ言語で作成せよ。 ・R0が示す番号以降のR2が示すバイト数をR1が示す番号以降に転送 ・R1(上位16ビット)R0(下位16ビット)が示す符号付32ビット値を符号反転 宜しくお願い致します。

  • 命令セットについて

    インテルのアセンブリ言語の命令セットとMIPSの命令セットの構成の違いを詳しく教えて下さい(*_*) お願いします★

  • アセンブラの命令について

    データ転送命令MOV ds と制御命令MOV addを実行するに必要なメモリアクセス回数は最大何回になりますか。 よろしくお願いいたします。

  • CPUの扱えるデータ量の計算の仕方

    CPUについて調べていたのですが、 この記事の http://oshiete1.goo.ne.jp/qa387968.html 「このMHzが何を意味するかというと、一度に何回データを転送したかを指します。32bitのプロセッサでは4バイト(32ビット)の命令を一回に処理装置に転送します(これはあくまで内部バスも32ビットである場合です)。たとえば、100MHzのプロセッサでは、4バイト×32ビットとなり、1秒間に400MBのデータを扱うことができるのです。」 という箇所(良回答20ptをもらっている回答)の最後の部分 なのですが、100MHzのプロセッサでは、400MBのデータ を扱うことができるとあるのですが、どうやって400MBという 値になるのかよく分かりません。 ひとつひとつの数値の意味を説明していただかないと、よく分からない のですが、このあたりのご説明をお願いします。

  • アセンブリ命令、命令セットアーキテクチャ等の用語

    ソフトウェア中心の技術者です。 コンパイラからアセンブリ言語を吐き出させ、そこからプロセッサ内部の動作を詳しく解析していたいと思っています。そうしたところ、先輩から「そういうことなら、命令セットアーキテクチャを勉強するといいよ」、とアドバイスをもらいました。 ここで質問なのですが、 1 「アセンブリ命令」と「命令セット」とはほぼ同じ言葉だと思って差し支えないでしょうか? 2 また、「命令セットアーキテクチャ」とは、「決定した命令セットから成るプロセッサ内部の仕様」と思って良いのでしょうか? 例えば、ジャンプ命令を受けたときには、構造的にどのようなしくみでプログラムカウンタのデータを変えるか、とかを規定したしくみそのものと理解していますが、それで正しいでしょうか?  以上、よろしくお願いします。

  • 複数バイト命令実行のタイミング

    1バイト単位でメモリの各アドレスにデータが保存されているコンピューターにおいて、複数のバイトで表される命令がどのように実行されるのか教えて下さい。 メモリには一つのアドレスごとに8ビット(1バイト)のデータが入っており、CPUはプログラムカウンタで示されたメモリ上のアドレスにあるデータや命令を一つずつ順番に読み込んで、それをデコーダーが解釈し各回路への指令に変換することでプログラムを実行していくということは理解しています。 しかし現在の32ビットコンピューターなどにおいてアセンブリの命令、例えば「MOV A,B」(Bレジスタの内容をAレジスタにコピーする)といった命令は、「B90001」などの3バイトのマシン語で表されるとすると、メモリ上では アドレス  内容 0000  0xB9 0001  0x00 0002  0x01 のように3つの連続するアドレスにまたがってデータが存在し、CPUが「MOV A,B」を読み込み、それを順次デコーダーに送るまでには「MOV」、「A」、「B」の3クロックを要すると思います。 その際、デコーダーが命令を解釈し各回路に指令の信号を送るタイミングというのは、最後の「B」のデータを読み込んだ時点になるのでしょうか?もしそうならば、3クロック目に最後の「B」のデータがデコーダーに到着するまでの間、「MOV」と「A」のデータというのはCPUにメモリから読み込まれた後はどのように扱われるのでしょうか? 少し質問が分かりにくく恐縮ですが、情報工学を独学で勉強しており、プログラムが実際の回路でどのように実行されるのか理解したいと思っています。 どうぞご回答よろしくお願い致します。

  • R8C/27のデータフラッシュに保存する

    タイトルのとおり、R8C/27のデータフラッシュにデータを保存する方法に関して 言語はアセンブリです。セクションを設定して、MOV命令で読み書きできるのでしょうか。 ご教授お願い致します。また参考になるサイト等あれば教えてください。

  • 機械語とアセンブリ言語について。

    (機械語データ) (アセンブリ言語) b8 57 61 6b 61 mov $0x616b6157,%eax 53 push %ebx 50 push %eax ba 04 00 00 00 mov $0x4,%edx bb 01 00 00 00 mov $0x1,%ebx b8 04 00 00 00 mov $0x4,%eax 89 e1 mov %esp,%ecx cd 80 int $0x80 58 pop %eax 31 c0 xor %eax,%eax 5b pop %ebx c3 ret こちらのアセンブリ言語の命令がわかるおすすめの書籍を知らないでしょうか? 教えていただけないでしょうか?すみません。

  • 文字を表示するファンクションコールについて

    アセンブリ言語プログラムについての質問です。 MASM32を使っています。AXレジスタの数値をah→表示、al→表示というプログラムを作ったのですが、al→表示の部分がうまく機能しせません。以下にプログラムを書きます。 (1)mov ax,3132h (2)mov dl,ah (3)mov ah,02h (4)int 21h (5)mov dl,al (6)mov ah,02h (7)int 21h (分かりやすく番号をふっています。実際のプログラムには番号はふっていないです。) 具体的どこが機能しないかというと、(5)番目の命令のalレジスタの内容をdlレジスタに転送するという命令が機能しません。デバックのT命令で確認したところ(5)番目の命令がNOPとなっていました。 このプログラムを実行すると結果的に表示されるのは「11」という文字です。(本来は12と表示したい。) 質問 なぜ(5)番目の命令がnopとなるのでしょうか?

  • プロセッサ(32bitと64bit)の違い

    最近、サーバ系のプロセッサでIntel XeonやItanium2等 出ています。両者の大きな違いはアーキテクチャというのが32bitか64bitと言うことのようですが、アーキテクチャが違うと何が違うのでしょうか? 単純に周波数やキャッシュ容量で性能比較はできないのでしょうか?