問題タブ [8085]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
assembly - 数の階乗を見つけるための8085アセンブリ言語プログラム
私が最初にメモリを取る階乗の数を見つけたいです。(intel8085)
編集:私は初心者です。アセンブリコードの書き方がわかりません。
擬似コード:
cpu-architecture - アドレッシング モードに使用される用語。[インテル 8085]
私が取り組んでいるプロセッサのドキュメントでは、次のように述べています。
使用可能なオペランド アドレス指定モードは、暗示、レジスタ、即時、直接、およびレジスタ間接です (メモリへの 16 ビット ポインタとして BC、DE、および HL レジスタ ペアを使用)。
誰かが素人の言葉でこれらのアドレス指定モードの違いを説明してもらえますか、またはおそらく私が学ぶことができるリンクを投稿できますか?
どうもありがとう。
assembly - Intel 8085 アセンブリのビットシフト操作は何をしますか?
次の 8085 アセンブリ コードを説明しようとしています。
(IDE 内の仮想キーボードから) 2 つの数字を要求し、それらを LED 7 と 8 に表示する次のコードがあります。
PRNT
私の質問にとって重要ではないため、含めません。
どちらがプログラムの開始かを理解.ORG 0000
しています - それBEGIN
は Pascal のようなものです。
CALL DATA
アキュムレータを 2 進数のゼロで埋めて (?) ポート 0 (16 進数で 00H) に表示するサブルーチンで、(仮想キーボードから) 数値を取得し、ビット シフト操作で左に回転します。
私の質問はなぜですか?そうすることのポイントは何ですか?利点は何ですか? ウィキペディアでそれについて読んだことがありますが、まだわかりません。このコードで何をし、なぜ必要なのですか?
assembly - 2 進数の 2 桁の数値を 2 進数の 1 桁に分割する
私は 47 を持っています。バイナリでは 0010 1111 です。47 を分割する必要があるため、バイナリ 0000 0100 で 4 を取得し、バイナリ 0000 0111 で 7 を取得します。
私はこの答えを見ましたが、Intel 8085にはdiv命令がないため、連続した減算を行うことで除算する必要があります.どうすればモジュラスを取得できますか?
assembly - LDA:8ビットレジスタに16ビットを挿入しますか?どういう意味ですか?
私は8085でアキュムレータが8ビットレジスタであることを読みました。では、どうして次の指示が真になるのでしょうか。
ここで、addressはLH順の「16ビット」アドレスです。
16ビットアドレスを8ビットレジスタに挿入するにはどうすればよいですか?
assembly - この Intel アセンブリ コードは何を意味しますか?
以下は、2 つの数値のうち大きい方を見つけるプログラムです。
上記のプログラムで、EQUは何を意味しますか? また、命令MVI A,01Hは EQU で何をしますか?
ここでPORT1は何を意味しますか?
assembly - プログラムは正しいですか?
以下は、2、8ビットの数値を乗算するために私が書いたプログラムです。私の友人の一人は、プログラムが間違っていると言った。確認できなかったので、確認したかったのです。アセンブリプログラミングを学び始めたばかりです。次のプログラムは、多くのレジスタを使用します。
このプログラムは正しいですか?そうでない場合は、その中の修正を教えてください。
memory-management - ヒープまたはスタックからのメモリ割り当て?
私はそれを読みました、8085
プロセッサの開始アドレスはです00000H
。一方8086
、プロセッサの開始アドレスはですFFFF0H
。
今、私はまた、メモリの上部がheap
下にある間にあることを学びましたstack
。私が今混乱しているのは、8085ではメモリがスタックから割り当てられているのに対し、8086ではヒープから割り当てられているかどうかです。
コンセプトをクリアするのを手伝ってください。ありがとう
x86-16 - なぜ8085は00000から始まり、8086はFFFF0から始まるのですか?
8085-86で生成された物理アドレスのさまざまな開始アドレスを理解できません。CS:IP
これはスタックのせいですか?スタックの概念は8085より前に存在していたと思います。助けてください。ありがとう。
assembly - 2 つの数の中で最小のものを見つけるアセンブリ プログラム
2 つの数値の中で最小のものを見つけるプログラムを組み立てる方法を教えてください。
最初の数字がメモリ アドレス: 0x2001 にあると仮定します。2 番目の数字がメモリ アドレス: 0x2002 にあると仮定します。
小さい方の数値をアキュムレータに格納する
これが私が試みたものです:
私の解決策は正しいですか?