18

アセンブラでプログラミングする方法を学びたいです。以前 (A レベル コンピューティングのコースで) 少しアセンブリを行ったことがありますが、それは間違いなく単純化された「疑似アセンブラ」でした。父の古い Z80 アセンブラのリファレンス マニュアルを借りてきましたが、とても面白そうなので、可能であれば Z80 アセンブラを試してみたいと思っています。

しかし、手持ちの Z80 プロセッサがなく、自分の PC で実行したいと考えています (Windows または Linux を使用しているので、どちらでも構いません)。インターネット上でさまざまなアセンブラーを見つけましたが、16 進ファイルにアセンブルすることに特に興味はありません。PC 上のある種のシミュレーターで実行できるものにアセンブルできるようにしたいだけです。できれば、このシミュレーターですべてのレジスター、メモリー位置などの内容を表示し、命令を順を追って実行できるようにしてください。これを行う可能性があることを示唆するソフトウェアをいくつか見つけましたが、コンパイルを拒否するか、適切に動作しないようです。誰か提案がありますか?別のタイプのアセンブラで利用できる優れたシミュレータ/IDE があれば、代わりにそれを試すことができます (利用可能な優れたオンライン リファレンス マニュアルがあると仮定します)。

4

16 に答える 16

11

これを行う可能性があることを示唆するソフトウェアをいくつか見つけましたが、コンパイルを拒否するか、適切に動作しないようです。誰か提案がありますか?

1つ書いてください。素晴らしくシンプルな命令セットを選択するのが最善です (Z80 は完璧なはずです)。これを学部の 1 年生の演習として行ったことを覚えています。C++ でシミュレーターを作成し、6800 アセンブリをシミュレートしたと思いますが、実際にはどの言語/命令セットでもかまいません。

最近の「アセンブリ言語を学ぶ」という考えは、コンピューターが最も低いレベルでどのように機能するかを理解することであり、最近実際にアセンブリコードを書く本当の理由を持っているのは、選ばれた少数の人 (コンパイラライターなど) だけです。最新のプロセッサには、速度/同時実行/消費電力などのためにコードを最適化するためにコンパイラが使用するように設計された機能が満載されており、最新のプロセッサ用に手作業でアセンブリを記述しようとするのは悪夢です。

あなたが望むのでない限り、あなたのアプリケーションを本番環境に準備することについて心配する必要はありません - おそらく、あなたがこれまでに見つけたソフトウェアの断片は、あなたとまったく同じように、アセンブリがどのように機能するかを理解し、独自のシミュレーターを書いた人によって書かれたものです.その後、一般大衆が使用できるように「生産準備」を整えるには、どれだけの作業が必要になるかを認識しました。

于 2008-08-31T17:11:41.253 に答える
9

オープンソースの 8085 シミュレーター「 GnuSim8085 」をチェックしてみてください。これは特に教育目的で使用することを意図しており、実際には学生が試験の準備中に作成したものです。Linux と Windows の両方で動作します。

于 2009-03-13T21:33:41.880 に答える
5

MipSimは無料です

MIPSim2の主な機能

  • 構文の強調表示や折りたたみなどの機能を備えた組み込みのコードエディタ
  • レジスタとメモリの値をさまざまな表現(符号付き整数、符号なし整数、16進数、ASCII)で表示します。
  • メモリーセルのブロックサイズ(フルワード、ハーフワード、バイト)を設定して、メモリー値を簡単に調べられるようにします。
  • シミュレーションやデバッグ中でも、ワンクリックでレジスタやメモリーセルの値を変更できます
  • リアルタイムのユーザーインターフェイスの更新により、実行中にレジスタとメモリセルの値がどのように変化するかを確認できます
  • ステップバイステップの命令実行、命令スキップ、ブレークポイント機能を備えた組み込みデバッガー
  • コードをテストするためにASCII、UNICODE文字列、整数値をメモリに挿入するためのツール
  • 重複または欠落しているラベルと命令パラメータをチェックするためのツール
  • コンピューターの状態(すべてのレジスターとメモリーセルの値)を保存して、次にシミュレーターを実行するときに、離れた場所から続行できるようにします。
  • シミュレーション速度を設定します-低速は、コードをトレースし、コードがどのように動作するかを確認するのに最適です
  • 命令のエンコード-マシンコードを2進数または16進数で生成します
  • アセンブリ時間と実行時エラーをキャッチ
  • 説明的なエラーメッセージによるより簡単なデバッグ
  • マルチスレッド設計-実行されたアセンブリコードに誤りがある場合や無限ループが含まれている場合でも、MIPSimがスタックしない(うまくいけば;)
  • MIPSim API-MIPSimのレジスタとメモリからの読み取りと書き込みが可能な独自のプログラムを作成し、強力なテストに非常に柔軟に対応します。
于 2011-06-11T08:42:11.973 に答える
5

Windows 8085 シミュレータを使用している場合は、最良の選択です。 J-tech Softwares の 8085 シミュレーター

そのユーザー インターフェイスは、他のどのシミュレーターよりも優れています。また、このシミュレーターは、メモリマップのライブビューを非常に頻繁に提供します(実行中も)。

ただし、これは Windows 98 以下をサポートしていないため、GNUSim8085などの他のシミュレーターを確認する必要があります。

于 2013-03-30T09:31:57.447 に答える
4

WinApeは、Amstrad CPCの優れたエミュレーターです。Amstrad CPC は、80 年代に製造されたホーム コンピュータです。CPUにはZ80を採用。エミュレーターを使用すると、プログラミング中に多くの内部を表示できます。Z80 コード用のデバッガーと逆アセンブラーが含まれています。

于 2009-02-02T09:36:34.567 に答える
4

もっと上を目指せ!より強力なアセンブリ言語のシミュレータを試してみてください。Z80 と 808x は、ローエンドで厄介な命令セットを備えたローエンドのプロセッサだったことを思い出してください。

DEC の VAX のようなものは、命令セットのロールスロイスと見なされていました。そして、いくつかの非常に奇妙なことを行うクレイジーな Risc 命令セットがあります。おそらく、それらの定義を見つけて、それらの実装に亀裂を入れることができるでしょう。

于 2009-03-13T22:32:33.720 に答える
3

SimpSimは一見の価値があります。これは Windows のみですが、機能セットはかなりまともです。

  • メインメモリとレジスタ表示
  • 構文の強調表示を備えた組み込みエディター
  • 実行、ステップ、ブレーク関数
于 2008-08-26T15:00:04.837 に答える
3

たまたま .NET を既に知っている場合は、これが役に立つかもしれません。

http://www.viksoe.dk/code/asmil.htm

少し制限があり、.NET 1.1 でのみ動作する可能性がありますが、少なくとも「最新の」IDE を使用することができ、ドキュメントもたくさんあります。

<%@ page language="Asm80386" %>
<%
Str:  DB "Testing...", 0

  mov eax, -2
  cmp eax, 2
  jle Label1
  xor eax, eax
Label1:
  lea esi, Str
  push esi
  call "Response.Write(string)"
  pop esi
%>
<br>EAX: <%= eax %>

「ハードコア」に行きたい場合の別のオプションは、FreeDOSやVMWareなどを入手して、それを使用することです。ガレージ セール (車のブート セール? ヤード セール?) または中古本屋には、ピーター ノートンの古い DOS 割り込みバイブルのコピーがあるはずです。:)

個人的には、関数内にアセンブリ命令を埋め込む機能を備えた Turbo Pascal (今では Borland から無料になったと思いますか?) を使用して x86 asm を学びました。アプリのセットアップが簡単になり、やりたいことに集中できるようになりました。私は後でオークランド大学で MacVAX を使用しましたが、これは問題ありませんでしたが、VAX はほとんど機能していません。x86 を学ぶこともできます :)

于 2008-08-26T09:26:43.703 に答える
3

Z80 シミュレーターでこれに興味があるかもしれません。私はWinAsmで良い経験をしました。

于 2008-08-26T08:43:38.020 に答える
3

また、Visual Studio でインライン アセンブラーを使用して x86 アセンブリ言語を学習することを検討することもできます。これは、Z80 よりも大きな命令セットですが、x86 アセンブリ言語よりもはるかに優れたツールを使用できるという利点があります。 Z80。

また、Keil 8051 および Arm ツールの IDE にはシミュレーターが含まれていることも思い出しました。サイズ制限のあるバージョンが www.keil.com から無料でダウンロードできます。

于 2008-08-26T08:57:27.563 に答える
3

これは今のあなたには何の意味もありませんが、立ち寄る人々にとっては意味があります. これは、私が出会った中で最高のアセンブリ コード シミュレータです。本当に価値があります!

http://www.emu8086.com/

于 2011-11-17T16:36:59.793 に答える
1

なぜエミュレータを使用するのですか?

MASMまたはNASMをダウンロードして、古き良き80386アーキテクチャを記述します。たくさんのオンラインサンプルと学習ツール。

アセンブラを使用する実際の理由はたくさんあります!

于 2012-08-30T12:30:59.743 に答える
1

マイクロプロセッサ アーキテクチャの基礎を教えるために、Visual6502 というシミュレータがあります。エディタ、アセンブラ、I/O操作、マイクロプロセッサの動かし方のアニメーションがついています。私は次のリンクで入手できます。

http://www.pcsistem.net/visual/index.htm

于 2013-04-22T08:34:00.897 に答える
1

使用できる可能性のあるエミュレーターのリストについては、Thomas Scherrer Z80 Emulatorsを参照してください。

于 2008-08-26T08:45:07.407 に答える
1

私は ZX Spectrum 用に z80 asm を作成し (それでも、私は知っています :))、SJasmPlus を使用してスペクトル エミュレータ ファイルにリンクします。Fuse や ZXSpin などのより優れた Spectrum エミュレーターの多くには、オンザフライでのデバッグやパッチ適用用のエディターも組み込まれています。

于 2008-08-26T09:00:50.600 に答える
1

私が大学にいたとき、私たちは PIC マイクロプロセッサを使用していました。マイクロチップという会社が作っています。また、チップエミュレーター/シミュレーターを備えた優れたIDEも備えており、実際にチップがなくても実行できます。

于 2009-04-27T18:05:19.540 に答える