问题标签 [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 - mov 或 lda 在 8085 程序集中设置标志吗?
我想在使用该寄存器进行任何计算之前检查 C 寄存器是否为空(除了将我们从某个地方获得的数据移动到它。)
我可以使用JNZ
afterMOV
检查 B 是否为零?因为如果值为零,那么我应该返回 0 并结束程序(程序在不使用函数的情况下将两个值相乘MUL
。我将 B 加到 AB 次以将这两个数字相乘。我们在学校做过这个程序,但我的老师没有'不检查初始值是否为零。他在减少计数器后检查是否为零。)
8085 - 在不使用临时变量的情况下交换 8085 微处理器中的两个数字
是否有任何程序可以在不使用任何临时寄存器的情况下交换微处理器 8085 中的两个数字?我们都知道 C 编程中的相同问题可以通过以下方式完成
这里第一行和最后一行是可执行的,但第二行不能在 8085 MP 中实现,因为结果将始终存储在累加器中。那么还有其他可能吗?
microprocessors - count 在 8085 处理器中如何工作?
谁能帮我理解循环是如何工作的,即计数如何变为零以及为什么 D 值为 10H?
assembly - 为什么 XRA A 也会清除其他寄存器?
让我们假设累加器包含 0AH 并给出以下指令。MOV D,A; XRA A; 我发现这条指令清除了累加器以及 D 寄存器。我通过使用“虚拟 8085”模拟器确认了这一点。为什么第二条指令也会清除 D 寄存器?
assembly - 8085 汇编指令 MOV、LDA 和 STA
我明白MOV
,STA
和LDA
指令的意思,但我不明白为什么两个不同的进程有三个不同的指令?
STA
用于将数据从累加器复制到内存位置,LDA
用于将数据从内存位置复制到累加器和MOV
用于在寄存器加寄存器和内存之间复制数据。
所以,我能做什么STA
,LDA
指令也可以用MOV
指令来完成,对吧?
assembly - 将值加载到寄存器或内存的来源
MVI 3A
当我们用一个值(例如或)加载一个寄存器或内存位置时,MVI 53
用该特定值初始化寄存器或内存位置是什么?是 CPU 执行初始化,对吗?但是这些值是从哪里得出的呢?
assembly - 如何使用 Intel 8085 中的堆栈添加四个数据字节?
我需要使用堆栈添加 4 个字节的数据 03H、02H、05H、01H,并将结果存储在 i8085 微处理器中的 3350H 中。数据字节来自从 3300H 开始的 4 个连续内存位置。如何去做这件事?到目前为止,我已经这样做了:
我确信这不是一个好方法,因为有很多重复。可以有某种循环使它更好地工作吗?
flags - 为什么即使添加 5FH 和 33H 也会设置符号标志?
我正在研究 8085 微处理器,我遇到了一条指令 - ADC。
在这个例子中,他们给了累加器 [A] = 57H 和一个寄存器 [D] = 33H 并且最初设置了进位,所以 [CY] = 01H
指令:ADC D 他们添加了 57H、33H 和 01H
0 1 0 1 1 1 1 1
0 0 1 1 0 0 1 1
0 0 0 0 0 0 0 1
答案:1 0 0 1 0 0 1 1。
他们说符号标志现在设置为 MSB 包含较高位。我不明白为什么答案被认为是否定的,即使进行了加法运算。
assembly - 是否可以用 8085 汇编语言计算 255 阶乘?
我想知道是否真的可以创建一个计算 255 阶乘值的 8085 汇编语言程序。到目前为止我所做的是最大 18 阶乘。
cpu-architecture - 标志寄存器中保留/未定义位的用途是什么?
在 Z80、8080、8085 和 8086 处理器的标志寄存器中,记录为“保留”或“未定义”的位 1、3、5 的用途是什么?