Questions tagged [intel-8080]

The Intel 8080 processor is an 8-bit microprocessor, a predecessor of the famous 8086 series. It shares its instruction set with its successor, the 8085.

The Intel 8080 is an 8-bit microprocessor from the mid-1970s. It was a predecessor of the and of the very popular and series. The 8080 and 8085 are binary compatible (except for a few 8085 additions), but the 8086 (and 8088) uses a wholly different instruction set.

Use this tag for questions about 8080 instructions and programming. For questions regarding instructions on later processor models, use the and tags respectively. For general questions about assembly, use the tag.

39 questions
16
votes
5 answers

How do interrupts work on the Intel 8080?

How do interrupts work on the Intel 8080? I have searched Google and in Intel's official documentation (197X), and I've found only a little description about this. I need a detailed explanation about it, to emulate this CPU.
Facon
  • 679
  • 2
  • 7
  • 21
7
votes
4 answers

How do 8-bit and 16-bit processors access more RAM with two registers?

Something that has always confused me is how 8-bit computers access more than 256 bytes of RAM. I know that it must use two registers, but can any one show me an example of what this would look like in assembly code? Like: mov a, [x] ???
6
votes
1 answer

Could anything with a Z80 processor run Gameboy games?

Since the Gameboy's processor, the LR35902, is a hybrid of the Z80 and the Intel 8080, keeping in mind that the Z80 and the Intel 8080 were designed to be mostly cross-compatible anyways, could anything that has a Z80 processor run opcodes that were…
Veecy
  • 63
  • 1
  • 4
5
votes
2 answers

How do I efficiently do signed comparisons on the 8080?

I want to compare two 16-bit numbers and branch on the result: the equivalent of if (a
David Given
  • 13,277
  • 9
  • 76
  • 123
5
votes
1 answer

What is the purpose of the reserved/undefined bit in the flag register?

In the flag register of Z80, 8080, 8085, and 8086 processors, what is the purpose of bits 1, 3, 5, which are documented as "reserved" or "undefined"?
Joseph
  • 55
  • 7
3
votes
4 answers

Intel 8080 instruction... what is the etymology of the "DAD" instruction mnemonic?

I am learning about the Intel 8080 processor in Charles Petzold's excellent book Code. The DAD instruction was explained as far as what it accomplishes, but I have a weird thing about alphabetical codes like this where I have to know what they…
The111
  • 5,757
  • 4
  • 39
  • 55
3
votes
1 answer

Signed overflow detection on 8080

I want to branch if x-y overflows. I came up with idea to store x-y into register A , store 0 into register B and compare these two registers. Unlike 8086, 8080 doesn't have an OF flag or jo / jno instructions. x db y db lda x mov b,a …
P. Bolfa
  • 99
  • 1
  • 7
3
votes
1 answer

Intel 8080 Emulator Tester

I wrote an emulator for the Intel 8080, and I want to check if my implemented instructions are correct. Is there a test suite or a way to test each instruction if its correct? My emulator is written in C.
hakuna matata
  • 3,243
  • 13
  • 56
  • 93
2
votes
1 answer

Intel 8080 Instruction at OP Code 0x20 and 0x30

According to Intel's 8080-8085 Assembly Language Programming guide, the OP Code 20 corresponds to the Read Interrupt Mask (RIM) instruction, and 30 corresponds to the Set Interrupt Mask (SIM) instruction. However, only the 8085 has the RST5.5,…
JAL
  • 41,701
  • 23
  • 172
  • 300
2
votes
1 answer

Intel 8080: How to MOV DE to B?

I used LXI D and LXI H to load immediate register pairs DE and HL. When I use MOV A, M it works for HL value to move into A, but how to move DE to B?
Ignas
  • 43
  • 1
  • 3
  • 9
2
votes
2 answers

Intel 8080 Instruction : OUT

I am trying to emulate the Intel 8080 instruction set, and I got stuck on this instruction OUT D8, which according to the book Intel 8080/8085 Assembly Language Programming it says that The OUT instruction places the contents of the accumulator on…
hakuna matata
  • 3,243
  • 13
  • 56
  • 93
1
vote
0 answers

LHLD doesn't assign a value to register HL

so I'm in the stages of finishing my Intel 8080 emulator and encountered a problem with the LHLD mnemonic. So, whenever I run the Altair Clone CPU Test Files I encounter a bug. So I have a sequence of 4 files being executed at a time and they…
cdunku
  • 31
  • 3
1
vote
1 answer

How should assemblers distinguish between symbol and all-alpha hex value?

I'm learning some 8080 assembly, which uses the older suffix H to indicate hexadecimal constants (vs modern prefix 0x or $). I'm also noodling around with a toy assembler and thinking about how to tokenize source code. It's possible to write a valid…
Ben Zotto
  • 70,108
  • 23
  • 141
  • 204
1
vote
1 answer

Plain subtraction operation with 8 bits

This is my code: init: ; expected to go in "zero" part mvi a, 0ah mvi e, 05h ; content of reg b is "251" ; expected to go in "zero" part ;mvi a, 0ah ;mvi e, 0ah ; if followed two are commented out content of reg b is…
1
vote
1 answer

CPI set Cy always to true, maybe negative numbers?

i need to count words, where is more big letters than numbers. I use inr c if big letter is in word and dcr c if there is number. At the end of word i try c>0, if it is true, I do inr d. d is number of words with more big letters than numbers.…
1
2 3