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
1
vote
1 answer

Which 8080 conditional jump instruction would the compiler generate for if (a !=b)?

Options: jz jnz jc jnc I have the answer to this question but am struggling to understand exactly what it is asking. What does it mean and what would be a good way to brush up on this topic? Thanks.
victorhugo
  • 11
  • 3
1
vote
2 answers

intel 8080: Am I missing something in this code?

Here is a code for the fibonnaci sequence taken from rosettacode.com FIBNCI: MOV C, A ; C will store the counter DCR C ; decrement, because we know f(1) already MVI A, 1 MVI B, 0 LOOP: MOV D, A ADD B ; A := A +…
user4984565
1
vote
1 answer

Intel 8080: multiplication overflow

I have a 8080 processor's emulator. I need write a program, which can multiple two two-digit numbers with operations of shifting and adding(as a result I can expect four-digit number) As I know, all mathematic operations in intel-8080 are made in…
dark
  • 167
  • 1
  • 6
  • 17
1
vote
2 answers

Incrementing variable in assembly for 8080?

I'm working on a program for Intel 8080 right now and I don't really get how the space we can reserve for variables work. Namely, let's say we do test DB 80. Can I later somehow decrement or increment the variable test for example or do I have to…
Straightfw
  • 2,143
  • 5
  • 26
  • 39
1
vote
2 answers

Building ROM images on CP/M

I'm trying to use the venerable M80 and L80 tools on CP/M to build a ROM image. (It's for a CP/M emulator, hence why I'm using CP/M tools.) Unfortunately L80 seems to be really crude --- AFAICT it just loads each object file at its absolute address,…
David Given
  • 13,277
  • 9
  • 76
  • 123
1
vote
1 answer

Intel 8080: Memory offset calculation

I am reading this guide about Intel 8080 emulation Emulator 101 and when I'm reading the code to check what I wrote, I stumbled upon this case 0x36: //MVI M,byte { //AC set if lower nibble of h was zero prior to…
hakuna matata
  • 3,243
  • 13
  • 56
  • 93
0
votes
1 answer

Unexpected Result in Intel 8080 Test ROM TST8080.ASM

I am creating an Intel 8080 and was running a test ROM named TST8080.ASM that I found at this Webiste. I am failing when this block of code runs: CPOI: RPE ;TEST "RPE" ADI 010H ;A=99H,C=0,P=0,S=1,Z=0 CPE CPEI ;TEST "CPE" …
Noah Lewis
  • 85
  • 1
  • 8
0
votes
1 answer

What do these set of instructions do?

What does this code mean? There are my comments. I may be wrong. But I think so. PUSH H ;There we push data from H-register to the stack. LXI H, OFFF ;I can't understand... Why OFFF, not 0xFFF? REP: DCX …
Noisy88
  • 181
  • 1
  • 14
0
votes
0 answers

CALL MULTIPLY Function in Assembler

so i have a small practika in a couple of hours and im nearly done with preparations. Theres one task i dont really understand tho. The task: For further processing, measured values m (0 ≤ m ≤ 255) are stored in memory starting at address 0x81.…
0
votes
1 answer

How are the carry and aux carry calculated for bitwise operations in the 8080

I am currently writing an 8080 emulator and am confused on why the carry flag is marked as "modified" in opcode lists such as https://pastraiser.com/cpu/i8080/i8080_opcodes.html or http://www.emulator101.com/8080-by-opcode.html is it just set to 0…
0
votes
1 answer

What does addr means in the opcode 0x3a LDA addr intel 8080

LDA is a simple opcode that loads to accumulator (register a) the pointed data in intel 8080 processor. In this condition (0x3a LDA addr) it says that op loads the addr to accumulator. But i couldn't recognize what it specifyies as addr. A <- (adr)…
user10136059
0
votes
2 answers

DCX and Carry flag

I am learning 8080 assembly as part of a course that I am undertaking. I am referring to Intel 8080-8085 Assembly Language Programming manual (dated 1977). In Chapter 3 Instruction Set of the manual, I see the following description in relation to…
Vinod
  • 925
  • 8
  • 9
0
votes
1 answer

What is doing this bitwise operation in order to emulate a RRC instruction

I'm working on a personal project to improve my knowledge on how a CPU works. So I'm doing a Intel 8080 emulator, which is a 8 bits microprocessor. In the implementation of a RRC instruction, which example is this: case 0x0f: { uint8_t x =…
criw
  • 587
  • 1
  • 5
  • 15
0
votes
0 answers

Intel 8080: Increment address

I am doing my homework and in the last example I don't really understand what to do: (sorry for my bad English, hope you will understand) Example: define 'var' variable. In memory from address, which is stored in H, L as 16-bit number, fill number…
lamka02sk
  • 993
  • 1
  • 10
  • 14
0
votes
1 answer

Assembler subtract 16bit numbers

I have problem when I am subtracting two 16 bits numbers in assembler for i8080 processor. Example: 0f70 - 00f0 and first number will be in registers B and C, second in D and E. Binary: B = 0000 1111 C = 0111 0000 D = 0000 0000 E = 1111 0000 So…
Adam A
  • 157
  • 1
  • 18