问题标签 [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 投票
2 回答
1502 浏览

assembly - 在 8080 的程序集中增加变量?

我现在正在为 Intel 8080 开发一个程序,但我真的不明白我们可以为变量保留的空间是如何工作的。即,假设我们这样做test DB 80。例如,我以后可以以某种方式减少或增加变量test,还是必须重新声明它?

0 投票
2 回答
176 浏览

c++ - 在内存中建模微型计算机寄存器?

作为一个小项目,我一直在创建一个较旧的微型计算机 CPU 仿真器,主要基于 8080 的架构。它的 8 位通用寄存器可以(根据维基百科)用作“三个 16 位寄存器对”以及正常的 8 位模式。这是我的问题。

我第一次尝试建模是单独命名的字节和短裤,在我重新阅读规格页面并发现 16 位寄存器实际上不是他们自己的东西之前,它工作得很好。哎呀。

我现在正在尝试的是一个字节数组,每个 8 位寄存器都有一个位置,两个位置为堆栈/指令指针保留。这对 8 位寄存器非常有效,而且管理起来也少了很多麻烦,但我实际上并不知道如何将两个字节转换为内存短。这甚至可能吗?如果没有,您对其他方法有什么建议吗?

0 投票
1 回答
130 浏览

assembly - 英特尔 8080:如何将 DE 移动到 B?

我使用LXI DandLXI H来加载立即数寄存器对DEHL. 当我使用MOV A, M它时,HL价值可以移入,A但如何移入?DEB

0 投票
1 回答
719 浏览

assembly - Intel 8080:乘法溢出

我有一个 8080 处理器的模拟器。我需要编写一个程序,它可以通过移位和加法操作将两个两位数相乘(结果我可以期待四位数)

据我所知,intel-8080 中的所有数学运算都是在寄存器“A”中进行的,但它只能包含两位数。如果我多个 'ff' 和 'ff',我会溢出。如何绕过这个问题?谷歌说,对于我的任务,有进位标志,如果发生溢出,它将是'1'。

但我不明白,我该如何使用它。

感谢关注。

0 投票
1 回答
772 浏览

assembly - 按位读取寄存器对 - 程序集 i8080

我有一个十六进制值存储在寄存器对 B 中。我想按字符读取它。例如,在 B 中是 322(十六进制)我想在累加器 3 中,然后是 2,然后是 2(在 ASCII 中)。有可能吗?或者是否可以将此寄存器对存储到“字符串”中。通过字符串,我的意思是这一行->my_string: ds 30我对组装真的很陌生。

0 投票
1 回答
515 浏览

assembly - OP Code 0x20 和 0x30 处的 Intel 8080 指令

根据 Intel 的 8080-8085 汇编语言编程指南,操作码20对应于读取中断掩码 (RIM) 指令,30对应于设置中断掩码 (SIM) 指令。

指示

但是,只有 8085 有 RST5.5、RST6.5 和 RST7.5 硬件中断。说明是否仅在 8080 硬件上0x200x30NOP

0 投票
2 回答
409 浏览

assembly - 8080 装配说明

我正在为 8080 组装制作反汇编程序。如果我错了,请纠正我:我所要做的就是逐字节读取二进制文件,将每个字节翻译成一个命令。或者是否存在会增加命令长度的条件(在二进制中)。

0 投票
2 回答
378 浏览

assembly - Altair 8800 数据和说明

最近我一直在使用 Altair 8800 模拟器来了解计算的基础知识,我想知道处理器如何“知道”一个字节是指令还是数据?

0 投票
2 回答
405 浏览

unix - 英特尔 8080:我在这段代码中遗漏了什么吗?

这是从 rosettacode.com 获取的斐波那契序列的代码

如果取自 A 的值原本为 0,我们将 C 递减,C 会变成 -1 吗?如果是这样,在第 2 次 DCR 时该值会发生什么变化;JNZ 指令看到或做什么?

这是我第一次接触汇编语言,所以现在有点困惑。我在想,如果 C 已经是 -1 并且在我们到达 JNZ 指令时计数,那么这段代码不会陷入循环吗?还是 JNZ 正在寻找其他地方?

0 投票
1 回答
1533 浏览

assembly - 汇编程序减去 16 位数字

当我在 i8080 处理器的汇编程序中减去两个 16 位数字时出现问题。

示例:0f70 - 00f0,第一个数字将在寄存器 B 和 C 中,第二个在 D 和 E 中。

二进制:

B = 0000 1111 C = 0111 0000

D = 0000 0000 E = 1111 0000

因此,当我减去 CE 时,它需要“借用”。好的,所以我会减少 B 但 C 呢?我知道在这种情况下 C 将是 1000 0000 但其他情况?

代码: