8080 and Z80 Assembly Language

  Рет қаралды 1,868

John's Basement

John's Basement

Күн бұрын

Пікірлер: 23
@PeranMe
@PeranMe 5 күн бұрын
Awesome video, all I need now is 10 or so more hours in the day, and I’d happily take the plunge into this stuff again :-)
@JohnsBasement
@JohnsBasement 4 күн бұрын
Where does the time go? It seems I never have time for anything any more. 😒
@zachz96
@zachz96 5 күн бұрын
31:30 The CAF instruction on the PDP-8/E was originslly intended to clear all the interrupt flags. However, someone discovered that it causes an EMF spike and can be executed in loops to play music on an AM radio.
@JohnsBasement
@JohnsBasement 4 күн бұрын
😅... I had an Explorer 85 that I noticed interfered with AM radio and was able to make it play my Highschool's fight song. 🤣
@jrkorman
@jrkorman 5 күн бұрын
Bought my first computer, TRS-80 Model 1; Level 1, in Jan 1980 when I was 25. Also bought the T-BUG program and Rodney Zaks' Z80 book. Still have that copy although considerably worse for wear. Learned much of what you spoke of out of his book. I was my first assembler for a number of months!
@danielmagnus5239
@danielmagnus5239 4 күн бұрын
Fantastic video!
@JohnsBasement
@JohnsBasement 4 күн бұрын
Thanks!
@MrBtcruiser
@MrBtcruiser 5 күн бұрын
Just finished building the Z80 Retro board - still going through the remaining few test code bits, but so far so good. I started this project due to the Z80 MPU discontinuation notice. Building a Z80 computer has been on my bucket list since I was in my early 20's - many years ago. Thanks John for publishing all of this - made this effort much-much easier.
@JohnsBasement
@JohnsBasement 4 күн бұрын
You are very welcome!
@DavidLatham-productiondave
@DavidLatham-productiondave 5 күн бұрын
Thanks for the links to the manuals. They should be useful, especially next time I'm stuck with trying to debug code.
@toddalancox
@toddalancox 5 күн бұрын
I always found 8080 assembly so much more difficult to remember. inr, inx, dad, dax, all that.
@JohnsBasement
@JohnsBasement 4 күн бұрын
Ditto. But you get used to it.
@whstark
@whstark 5 күн бұрын
Good job on the documentation, as for binary compatability you missed that the z80 doesnot have a software interupt instuction and the 8080 does not have the block move instuction, microsoft basic had the software interupt instruction used to speed up basic, and with the z80 block move wass adventagous to be used in the bios and in my case the memory maped VIO IMSAI board, the block move in the z80 speeded it up tramendusly.
@TSteffi
@TSteffi 5 күн бұрын
I think the block move instruction LDIR and, to a lesser degree, the block IO instructions OTIR/INIR are what they referenced with the "throughput up to 5x" claim.
@JohnsBasement
@JohnsBasement 4 күн бұрын
Software interrupt? You mean RST?.. the Z80 does have those too. And yeah, the Z80 has more instructions that the 8080... including a number of block instructions that are pretty cool!
@h7qvi
@h7qvi 5 күн бұрын
"Systems programming" book by Donovan shows how to make an assembler
@JohnsBasement
@JohnsBasement 4 күн бұрын
🤔I think I have a copy of that book... that I have yet to open. Didn't know it included a discussion on writing an assembler. I wrote a simple one once a while back for the 68hc05 based on my own simple understanding of a 2-pass design. It worked but it was rather primitive. I'll have a look at this before my next attempt. Thanks.
@h7qvi
@h7qvi 4 күн бұрын
@JohnsBasement A free pdf of the book is on the web, but i bought the book anyway.
@JohnsBasement
@JohnsBasement 3 күн бұрын
@@h7qvi I looked at the table of contents in it. They discuss an assembler for the IBM 360 that is covered in about 20 pages (with another 20 on sorting and hash searching... presumably for dealing with the likes of symbol tables.) That seems awful short even for a simple one. Then again, a two-pass assembler for a without any bells and whistles is pretty simple. i need to have a closer look at how they present it. Thanks again for the tip.
@h7qvi
@h7qvi 2 күн бұрын
@@JohnsBasementanother book is "assemblers and loaders" by Salomon. Also a pdf on the web
@SuperG316
@SuperG316 5 күн бұрын
30 years ago in my tech education z80 machine code and 6800x assembler using controller with z80 or 6800x in it. ASM It’s old way of optimizing , largely replaced by C/C++. I have nothing with retro. Now into Mac / win / linux and ASM is interesting only for doing SIMD AVX512 to me. Now focus is on C++ Swift. Even STM32 is C/C++ and looking into FPGA. I think ASM is maybe relevant in firmware but C is so close to ASM . Maybe for MCU very light once using 1K for low end of IOT maybe then ASM still relevant. In this multicore age I would put more effort in optimal core guideline to use MT correct and especially efficient. A STM32H7 with 1 big and 1 little . My hypothesis is using numa like split CCD chiplet in duo on 1850X Zen1 and how games could use MT much better and use intel the e-cores better. By using more data oriented functional C++
@JohnsBasement
@JohnsBasement 4 күн бұрын
IIRC I once did a complete bare-metal app on an LPC arm SOC that was 100% in C! It did not have any IRQs and the vector table was nothing but a bunch of pointers that went to naked functions... all of which were spin loop error locks and the reset went to an entry point routine that zeroed out the BSS and what ever else escapes me to get things going. 🤔 I do not recall how the SP was initialized though. Then again, those things had some sort of startup code in its internal ROM. So I'd accept that this is partly cheating. 😁
@stupossibleify
@stupossibleify 5 күн бұрын
Optimised Z80 Vs 8080 shoot-off!
FPGA #24 - ICE40HX PLL
1:15:31
John's Basement
Рет қаралды 448
The Z80 CPU - 1976 to 2024
18:49
Al's Geek Lab
Рет қаралды 177 М.
How Strong Is Tape?
00:24
Stokes Twins
Рет қаралды 96 МЛН
How Machine Language Works
19:48
The 8-Bit Guy
Рет қаралды 967 М.
Usborne Z80 Machine Code for Beginners
17:44
Happy Coding
Рет қаралды 8 М.
ZX Spectrum Turing Edition - Memory
21:58
DrMattRegan
Рет қаралды 4,4 М.
Have you ever used the "column" command in Linux?
8:24
Veronica Explains
Рет қаралды 63 М.
AMD K6-2 Better Performance With K6INIT
21:21
PhilsComputerLab
Рет қаралды 23 М.
Assembly Language Snow Day!  Learn ASM Now!
32:13
Dave's Garage
Рет қаралды 106 М.
Siduction...This Linux Distro Keeps Shining On
18:38
DistroTube
Рет қаралды 15 М.
The BEOCORD problem
1:18:51
Mend It Mark
Рет қаралды 427 М.