Programming the 8085

Note

Although “Machine Code” is the only kind of language the CPU actually understands, we will focus on ‘Assembly Language” for our programs. I have done a great deal of manual “Machine Code” entry and trust me, you don’t want to do it and nowadays you don’t NEED to do it. The assembler will generate all the Machine Code for you to see and learn from, but it won’t make any of the entry errors that humans do.

I recommend you start in the 8085 IDE window as it has the editor and assembler, run and single step facilities.

Note

The Heathkit 8085 book mentions, but doesn’t contain any exercises, however there are a choice of two types below.

Exercises 1

Look in the 8085 IDE “Load Sample Program” menu in the top bar. There are twenty two exercises that will load into the simulator when selected.

Exercises 2

By Dishita Badarshahi <trivedivatsal005@gmail.com> (https://github.com/DishitaBadarshahi). These are designed for GNUSim8085 but can be used on Jubin Mitra’s 8085 Simulator.

1. Store 8-bit data in memory. Program1.asm Program2.asm

2. Exchange the contents of memory locations. Program3.asm Program4.asm

3. Add two 8-bit numbers. Program5.asm

4. Subtract two 8-bit numbers. Program6.asm

5. Find the 1’s complement of the number. Program7.asm

6. Find the 2’s complement of the number. Program8.asm

7. Pack the two unpacked BCD numbers. Program9.asm

8. Unpack the BCD number. Program10.asm

9. Add two 16-bit numbers. Program11.asm Program12.asm

10. Subtract two 16-bit numbers. Program13.asm

11. Calculate the sum of series of numbers. (8-bit numbers) Program14.asm

12. Add the contents of two memory locations. Program15.asm

13. Shift an eight bit data Program16.asm

14. Find the 2’s complement of 16-bit number Program17.asm

Have I Finished This Course Yet ?

By the time you have read the Heathkit 8085 book and worked your way down to here I’d think you would have a pretty good idea of what a Microprocessor is and does ?

Try to resist the temptation to buy some old Microprocessor gear and actually make something because you’ll only learn things you don’t need to know unless you plan jumping in a time machine and going back to the mid 80’s to live.

Of course if your desire for retro computing is strong, who am I to stop you ?

MCU Peripherals Registers Register Bitfields Rom and Ram Clock Speed MHz Bits
8085 0 10 n/a none 3 8

The better way would be to start learning about modern ARM Cortex-M based Microcontrollers like these, that way you can do with ONE CHIP, costing $1 that would take a big expensive PCB and around 50 parts using a 8085. Even then the 8085 would have NOTHING like the capability of that single chip.

MCU Peripherals Registers Register Bitfields Rom and Ram Clock Speed MHz Bits
STM32F0xx 37 413 3044 plenty 48 32
STM32F303x 38 549 3857 heaps 72 32
STM32F103xx 53 722 4833 plenty 72 32
TM4C129x 65 2137 7347 tons 120 32
STM32F7x 89 1737 14091 tons 216 32