问题标签 [intel-8080]

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.

0 投票
1 回答
262 浏览

emulation - 操作码中的addr是什么意思 0x3a LDA addr intel 8080

LDA 是一个简单的操作码,它加载到 intel 8080 处理器中指向的数据的累加器(寄存器 a)。在这种情况下(0x3a LDA addr),它表示 op 将 addr 加载到累加器。但我无法识别它指定为 addr 的内容。

A <- (adr) 是 0x3a 执行的操作,它使用 3 个字节的内存。我可以将数据存储在 op 的最后 2 个字节中,因为高加和低加在堆栈中,但累加器只有 1 个字节,所以我不能。谢谢。

0 投票
1 回答
361 浏览

assembly - 单个 8080 指令中的时钟周期

从书中代码,它说:

8080 指令需要 4 到 18 个时钟周期”。

为什么执行一条指令的时钟周期数之间会有这样的波动。什么是需要很长时间才能执行的指令的示例?即,汇编指令会需要那么多周期吗?

0 投票
1 回答
87 浏览

intel-8080 - 8080中按位运算的进位和辅助进位如何计算

我目前正在编写一个 8080 仿真器,并且对为什么在操作码列表中将进位标志标记为“已修改”感到困惑,例如

https://pastraiser.com/cpu/i8080/i8080_opcodes.htmlhttp://www.emulator101.com/8080-by-opcode.html

它只是设置为 0 还是有一种实际的方法来计算按位运算的进位?我有点困惑,因为 Pastraiser 说它已修改,而不仅仅是设置为 0。

0 投票
0 回答
174 浏览

function - 汇编程序中的 CALL MULTIPLY 函数

所以我在几个小时内有一个小练习,我几乎完成了准备工作。有一项任务我真的不明白。

任务:

为了进一步处理,测量值 m (0 ≤ m ≤ 255) 存储在内存中,从地址 0x81 开始。要处理的测量值的数量 n 位于地址 0x80 (1 ≤ n ≤ 15)。编写一个 EVALUATION 程序,其中将值 310 与每个测量值相乘,然后将值 510 相加。计算出的测量值应写回相同的内存位置。为实现乘法运算,前一个任务中的 MULTIPLY 程序将作为子程序调用。要从子程序返回到主程序,必须用 RET 指令终止子程序。确保在调用子程序时不会丢失主程序中的相关数据。堆栈可用于保存数据。主程序应从地址 0x60 开始,子程序应从地址 0x40 开始。

桌子

我的程序 MULTIPLY 我必须打电话。

多多2

我真的只需要知道如何实现一个新函数,调用这个函数并返回而不会丢失我的值。我已经在模拟器中检查了我的功能,它可以正常工作,所以不用担心。任何帮助是极大的赞赏!

0 投票
1 回答
58 浏览

parsing - 汇编程序应该如何区分符号和全字母十六进制值?

我正在学习一些 8080 程序集,它使用较旧的后缀H来表示十六进制常量(与现代前缀0x或相比$)。我还在用玩具汇编器闲逛,并考虑如何标记源代码。

可以编写一个有效的十六进制常量 (say) BEEFH,它只包含字母字符。也可以定义一个名为BEEFH. 所以当我写:

根据旧的英特尔文档,这在语法上应该是有效的:BEEFH符合标签的命名规则,当然也是一个有效的 16 位地址。这里的操作数是地址常量还是标识符的歧义JMP似乎是个问题。

我无法访问原始的 8080 汇编器来查看它对这个示例的作用。这是一个在线 8080 汇编器,它似乎JMP在所有情况下都将操作数解析为标签引用,但显然一个合适的汇编器应该能够使用 JMP 指令定位绝对地址。

谁能阐明围绕此的约定实际上是/应该是什么?我错过了一些明显的东西吗?谢谢。

0 投票
1 回答
59 浏览

assembly - 这组指令有什么作用?

这段代码是什么意思?

有我的评论。我可能错了。但我认为是的。

我从来没有遇到过像OFFF、OO这样的结构。这是什么意思?

这段代码有什么作用?主要目的可能是什么?

它可能是哪种型号的处理器?你怎么想?

0 投票
0 回答
31 浏览

assembly - 汇编器 - 8080,无法比较数字

我不知道我做错了什么。我在这段代码中的目标是增加b并打印它。代码的第一部分是计算插入字符串中的数字,如果计数器超过 9,第二部分应该增加 b。

据我了解, cpi应该比较它,如果它低于“0”或高于“9”并做出决定。但它现在正在工作,我不知道我在比较什么..