• 締切済み

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

moxomの回答

  • moxom
  • ベストアンサー率0% (0/0)
回答No.3

8080 z80で言えば視点の違い、かもしれません。 CPUを外から操作するイメージでMOV、自分がCPUになった イメージでLD。 CP/M付属のアセンブラは8080用なのでインテル表記でしたが、自分が何をしているか明確でバグが出にくかった気がしますね。 LD表記だとだんだん混乱してくる気がします。

Ekukos_bloomers
質問者

お礼

回答ありがとうございます。 > CPUを外から操作するイメージでMOV、自分がCPUになったイメージでLD。 ここら辺がちょっとわからないので、もう少し詳しく教えてください。 また、 > 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と言うことのようですが、アーキテクチャが違うと何が違うのでしょうか? 単純に周波数やキャッシュ容量で性能比較はできないのでしょうか?