問題タブ [microprocessors]
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.
64-bit - 16、32、および 64 ビット アーキテクチャとは何ですか?
マイクロプロセッサやオペレーティング システムの場合、16 ビット、32 ビット、および 64 ビット アーキテクチャは何を意味しますか?
General Purpose Register
マイクロプロセッサの場合、それはs の最大サイズまたは s のサイズInteger
または s の数Address-line
または s の数Data Bus line
または何を意味しますか?
DOS is a 16-bit OS
「 」、「 」などとはどういう意味Windows in a 32-bit OS
ですか...?
microcontroller - マイクロコントローラのメモリからメモリへのデータの移動
メモリの場所から別のメモリの場所にデータを直接移動できないのはなぜですか。
ばかげた質問をしている場合は申し訳ありませんが、少なくとも私が遭遇したものについては、これが本当の状況だと思います (8085,8086 n 80386)
私は実際にデータを移動するための解決策を探しているわけではありません (たとえば、movs n all を使用するなど) が、実際にはこの異常の理由です。
microprocessors - マイクロプロセッサのサイズ
マイクロプロセッサはいくつかのコンポーネントで構成されており、それぞれが同じ/異なる「サイズ」を持っていることを読みました。しかし、私を本当に混乱させるのは、マイクロプロセッサの指定されたサイズを16ビット、32ビット、または64ビットとして決定するものです...
それは...ですか:
- ALUの容量は?
- データバスのサイズ?
- アドレスバスのサイズは?
- 上記の「最小公分母」?
- または私が今まで知らなかった他のいくつかの要因?
programming-languages - プログラムを書くのに助けが必要
私はマイクロプロセッシングのクラスを取っていますが、次のポートに移る前に 2 秒間ポートに値を保持するプログラムを書くのに苦労しています。
これがより理にかなっているのを助けることができる人はいますか?
NOP を使用することを考えましたが、それは少し非現実的であることに気付きました。ACALL DELAY を試しましたが、何らかの理由で未知のコマンドとしてプルアップされました。
私はこの時点で困惑しており、私が得ることができる助けをいただければ幸いです.
私は DS89C450 を 11 MHz のクロックで使用しています。教授に尋ねてみたところ、簡単なことで問題ないとのことでしたが、コードの読み取りと書き込みは私にとってまったく新しいものでした。二週間。私が本を見ると、ほとんど中国語で書かれているようで、意味を理解するのが難しいです. クラスメイトは私と同じように困惑しています.問題または私を正しい方向に導くことができるかもしれないもう少し洞察力を持っている人。
各ポートに指定された値をロードする必要があることはわかっていますが、問題はポートの切り替えにあり、2 秒の遅延が発生します。
私のプログラムは、この MOV P0、#33H MOV P1、#7FH MOV P2、B7H MOV P3、EFH のように見えるので、これらの 4 つのポートにこれらの値がロードされているので、到達するときに P1、P1-P2 などに移動するには P0 が必要です。 P3 の値は P0 に移動し、すべてをループする必要があります。プログラムが常に実行されるように、SJMPを使用して最初にループバックするつもりでした
これを行っている間、各値が各ポートに 2 秒間しか留まらない 2 秒間の遅延があります。
x86-16 - 8086で物理アドレスはどのように生成されますか?
8086アーキテクチャでは、メモリスペースのサイズは1 MiBで、それぞれ最大64KiBの論理セグメントに分割されます。
つまり、20のアドレス行があるため、次の方法が使用されます。
データセグメントレジスタが左に4ビットシフトされてからオフセットレジスタに追加されること
私の質問は、すべてのレジスタが16ビットしかないのに、シフト操作をどのように行うかです。
assembly - 8086アセンブリで乱数を生成するには?
8086 でアセンブリを使用して乱数を生成するルーチンまたは命令があるかどうかを知りたいです。
x86 - x86がリトルエンディアンなのはなぜですか?
最近私が自問している本当の質問は、x86がビッグエンディアンアーキテクチャではなくリトルエンディアンアーキテクチャになるためにどのような設計上の選択がもたらされたのかということです。
qemu - QEMU は PowerPC CPU MPC5510 および/または MPC5566 のエミュレーションをサポートしていますか?
QEMU は PowerPC MPC5510 および/または MPC5566 をサポートしていますか?
architecture - 内部および外部アドレス バス
私の知識に基づいて、外部データバスと内部データバスがあることは知っていますが、この2つの言及があるインテル8088マイクロプロセッサを示す図を見たので、内部アドレスバスと外部アドレスバスがあるのではないかと思います。ありがとう
x86 - 私の試験ではどうやってそれをしましたか:)キーを押した回数を数える
今日の試験でこの質問を受けて、そのためのコードを書きました。どこがうまくいかなかったのか教えてください。
問題:8086マイクロプロセッサの場合、次のタスクを実行するコードを記述します。ユーザーにデータの入力を求め、キーの押下をカウントします。ALPの
実行時に、最初のメッセージが取得されます。「キーの押下をカウントし、エスケープを押して停止します。」(引用符なし)、ユーザーがエスケープを入力すると、2番目のメッセージ「countingkeypresses」が表示され、カウントの結果がBXに格納され、バイナリで表示されます。(データ入力中に)押されたキーも、入力キーは次の行にエコーされます。
解決策:(私が書いた)
.model tiny
.data
text1 db "counting keypresses,press escape to stop $"
text2 db "counting keypresses"
.code
.startup
mov dx,offset text1 ;displaying text1 (i guess so)
mov ah,09h
int 21h
and bx,00h
label1 mov ah,01h ;(getting input from user and incrementing bx on every click)
int 21h
inc bx
cmp al,1bh ;comparing with 'escape'
np label1
mov dx,offset text2 ;if zero then do this i.e display text2
mov ah,09h
int 21h
mov dx,offset bx ;display bx
mov ah,09h
int 21h
.exit
end
追加したコメントが適切かどうかわかりません。私のコードは正しくないことはわかっていますが、実際にはまったく正しくありませんが、私は一晩の準備に基づいてこれを書くことができました。 。次の試験で本当に上手くいく必要があるからです。