Where does the Z80 processor start executing from?How did the Z80 instruction set differ from the 8080?Why does the Z80 have a half-carry bit?How fast is memcpy on the Z80?z80 crashes after executing some instructionsWhy does the Z80 include the RLD and RRD instructions?Why is the Z80's supply pin in the middle of the data pins?Why did TI-8x calculator series use the Z80 processor?Role of the Z80 co-processor in GBA gamesHow do I Interface a PS/2 Keyboard without Modern Techniques?What does ld a,(hl) do in this piece of Z80 ASM code, and why is HL incremented?
Does "every" first-order theory have a finitely axiomatizable conservative extension?
Why escape if the_content isnt?
What is the best translation for "slot" in the context of multiplayer video games?
How can we prove that any integral in the set of non-elementary integrals cannot be expressed in the form of elementary functions?
Failed to fetch jessie backports repository
Trouble understanding the speech of overseas colleagues
Do sorcerers' subtle spells require a skill check to be unseen?
How can I kill an app using Terminal?
How did Arya survive the stabbing?
How to Reset Passwords on Multiple Websites Easily?
As a short term trader, do I personally have to keep track of every wash sale for tax purposes?
How long to clear the 'suck zone' of a turbofan after start is initiated?
How to be diplomatic in refusing to write code that breaches the privacy of our users
Fastening aluminum fascia to wooden subfascia
How do scammers retract money, while you can’t?
Why didn't Theresa May consult with Parliament before negotiating a deal with the EU?
Anatomically Correct Strange Women In Ponds Distributing Swords
Escape a backup date in a file name
Large drywall patch supports
Class Action - which options I have?
Where does the Z80 processor start executing from?
Why, precisely, is argon used in neutrino experiments?
What is the opposite of 'gravitas'?
Balance Issues for a Custom Sorcerer Variant
Where does the Z80 processor start executing from?
How did the Z80 instruction set differ from the 8080?Why does the Z80 have a half-carry bit?How fast is memcpy on the Z80?z80 crashes after executing some instructionsWhy does the Z80 include the RLD and RRD instructions?Why is the Z80's supply pin in the middle of the data pins?Why did TI-8x calculator series use the Z80 processor?Role of the Z80 co-processor in GBA gamesHow do I Interface a PS/2 Keyboard without Modern Techniques?What does ld a,(hl) do in this piece of Z80 ASM code, and why is HL incremented?
Strangely I can't find this information anywhere online -- I've thoroughly looked at the datasheet, and I've searched things like "Z80 program counter initial value" -- but I can't find anything!
My question is simply: when the Z80 just turns on, what value does the program counter take? (i.e., what instruction does it start executing from?)
Logically, I'd assume it initialises to 0, but I want to be sure of this.
z80
New contributor
add a comment |
Strangely I can't find this information anywhere online -- I've thoroughly looked at the datasheet, and I've searched things like "Z80 program counter initial value" -- but I can't find anything!
My question is simply: when the Z80 just turns on, what value does the program counter take? (i.e., what instruction does it start executing from?)
Logically, I'd assume it initialises to 0, but I want to be sure of this.
z80
New contributor
add a comment |
Strangely I can't find this information anywhere online -- I've thoroughly looked at the datasheet, and I've searched things like "Z80 program counter initial value" -- but I can't find anything!
My question is simply: when the Z80 just turns on, what value does the program counter take? (i.e., what instruction does it start executing from?)
Logically, I'd assume it initialises to 0, but I want to be sure of this.
z80
New contributor
Strangely I can't find this information anywhere online -- I've thoroughly looked at the datasheet, and I've searched things like "Z80 program counter initial value" -- but I can't find anything!
My question is simply: when the Z80 just turns on, what value does the program counter take? (i.e., what instruction does it start executing from?)
Logically, I'd assume it initialises to 0, but I want to be sure of this.
z80
z80
New contributor
New contributor
New contributor
asked 5 hours ago
Jacob GarbyJacob Garby
1483
1483
New contributor
New contributor
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Yes, it's zero - like the 8080 it descends from.
Excerpt from Zilog's March 1978 Product Specification (datasheet), page 2, Pin Description, here the /RESET
signal (emphasis mine):
Input, active low. RESET initializes the CPU as follows:
reset interrupt enable flip-flop, clear PC and registers
I and R and set interrupt to 8080A mode.
Similar the description in the 1977 Z80 Technical Manual (03-0029-01) on page 9.
Thanks! I actually didn't know that the 8080 started at zero either, but it makes complete sense.
– Jacob Garby
5 hours ago
Does anything not start at zero?
– dashnick
2 hours ago
7
@dashnick Many don't just start, but take a vector form a predefined location like 6500 and 6800 start at the vector residing at FFFE/FF, 68k takes the initial PC from Vector 1 (address 4..7). Other do start form some address where the IOC locates a loader record, and so on. Starting from Zero is only one of many ways.
– Raffzahn
1 hour ago
4
Intels 8086 employs an interesting combination by starting a offset zero, like 8080/Z80, but in segment FFFF, thus at absolute address FFFF0.
– Raffzahn
1 hour ago
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "648"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Jacob Garby is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f9448%2fwhere-does-the-z80-processor-start-executing-from%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Yes, it's zero - like the 8080 it descends from.
Excerpt from Zilog's March 1978 Product Specification (datasheet), page 2, Pin Description, here the /RESET
signal (emphasis mine):
Input, active low. RESET initializes the CPU as follows:
reset interrupt enable flip-flop, clear PC and registers
I and R and set interrupt to 8080A mode.
Similar the description in the 1977 Z80 Technical Manual (03-0029-01) on page 9.
Thanks! I actually didn't know that the 8080 started at zero either, but it makes complete sense.
– Jacob Garby
5 hours ago
Does anything not start at zero?
– dashnick
2 hours ago
7
@dashnick Many don't just start, but take a vector form a predefined location like 6500 and 6800 start at the vector residing at FFFE/FF, 68k takes the initial PC from Vector 1 (address 4..7). Other do start form some address where the IOC locates a loader record, and so on. Starting from Zero is only one of many ways.
– Raffzahn
1 hour ago
4
Intels 8086 employs an interesting combination by starting a offset zero, like 8080/Z80, but in segment FFFF, thus at absolute address FFFF0.
– Raffzahn
1 hour ago
add a comment |
Yes, it's zero - like the 8080 it descends from.
Excerpt from Zilog's March 1978 Product Specification (datasheet), page 2, Pin Description, here the /RESET
signal (emphasis mine):
Input, active low. RESET initializes the CPU as follows:
reset interrupt enable flip-flop, clear PC and registers
I and R and set interrupt to 8080A mode.
Similar the description in the 1977 Z80 Technical Manual (03-0029-01) on page 9.
Thanks! I actually didn't know that the 8080 started at zero either, but it makes complete sense.
– Jacob Garby
5 hours ago
Does anything not start at zero?
– dashnick
2 hours ago
7
@dashnick Many don't just start, but take a vector form a predefined location like 6500 and 6800 start at the vector residing at FFFE/FF, 68k takes the initial PC from Vector 1 (address 4..7). Other do start form some address where the IOC locates a loader record, and so on. Starting from Zero is only one of many ways.
– Raffzahn
1 hour ago
4
Intels 8086 employs an interesting combination by starting a offset zero, like 8080/Z80, but in segment FFFF, thus at absolute address FFFF0.
– Raffzahn
1 hour ago
add a comment |
Yes, it's zero - like the 8080 it descends from.
Excerpt from Zilog's March 1978 Product Specification (datasheet), page 2, Pin Description, here the /RESET
signal (emphasis mine):
Input, active low. RESET initializes the CPU as follows:
reset interrupt enable flip-flop, clear PC and registers
I and R and set interrupt to 8080A mode.
Similar the description in the 1977 Z80 Technical Manual (03-0029-01) on page 9.
Yes, it's zero - like the 8080 it descends from.
Excerpt from Zilog's March 1978 Product Specification (datasheet), page 2, Pin Description, here the /RESET
signal (emphasis mine):
Input, active low. RESET initializes the CPU as follows:
reset interrupt enable flip-flop, clear PC and registers
I and R and set interrupt to 8080A mode.
Similar the description in the 1977 Z80 Technical Manual (03-0029-01) on page 9.
edited 4 hours ago
George Phillips
3,5211522
3,5211522
answered 5 hours ago
RaffzahnRaffzahn
54k6132218
54k6132218
Thanks! I actually didn't know that the 8080 started at zero either, but it makes complete sense.
– Jacob Garby
5 hours ago
Does anything not start at zero?
– dashnick
2 hours ago
7
@dashnick Many don't just start, but take a vector form a predefined location like 6500 and 6800 start at the vector residing at FFFE/FF, 68k takes the initial PC from Vector 1 (address 4..7). Other do start form some address where the IOC locates a loader record, and so on. Starting from Zero is only one of many ways.
– Raffzahn
1 hour ago
4
Intels 8086 employs an interesting combination by starting a offset zero, like 8080/Z80, but in segment FFFF, thus at absolute address FFFF0.
– Raffzahn
1 hour ago
add a comment |
Thanks! I actually didn't know that the 8080 started at zero either, but it makes complete sense.
– Jacob Garby
5 hours ago
Does anything not start at zero?
– dashnick
2 hours ago
7
@dashnick Many don't just start, but take a vector form a predefined location like 6500 and 6800 start at the vector residing at FFFE/FF, 68k takes the initial PC from Vector 1 (address 4..7). Other do start form some address where the IOC locates a loader record, and so on. Starting from Zero is only one of many ways.
– Raffzahn
1 hour ago
4
Intels 8086 employs an interesting combination by starting a offset zero, like 8080/Z80, but in segment FFFF, thus at absolute address FFFF0.
– Raffzahn
1 hour ago
Thanks! I actually didn't know that the 8080 started at zero either, but it makes complete sense.
– Jacob Garby
5 hours ago
Thanks! I actually didn't know that the 8080 started at zero either, but it makes complete sense.
– Jacob Garby
5 hours ago
Does anything not start at zero?
– dashnick
2 hours ago
Does anything not start at zero?
– dashnick
2 hours ago
7
7
@dashnick Many don't just start, but take a vector form a predefined location like 6500 and 6800 start at the vector residing at FFFE/FF, 68k takes the initial PC from Vector 1 (address 4..7). Other do start form some address where the IOC locates a loader record, and so on. Starting from Zero is only one of many ways.
– Raffzahn
1 hour ago
@dashnick Many don't just start, but take a vector form a predefined location like 6500 and 6800 start at the vector residing at FFFE/FF, 68k takes the initial PC from Vector 1 (address 4..7). Other do start form some address where the IOC locates a loader record, and so on. Starting from Zero is only one of many ways.
– Raffzahn
1 hour ago
4
4
Intels 8086 employs an interesting combination by starting a offset zero, like 8080/Z80, but in segment FFFF, thus at absolute address FFFF0.
– Raffzahn
1 hour ago
Intels 8086 employs an interesting combination by starting a offset zero, like 8080/Z80, but in segment FFFF, thus at absolute address FFFF0.
– Raffzahn
1 hour ago
add a comment |
Jacob Garby is a new contributor. Be nice, and check out our Code of Conduct.
Jacob Garby is a new contributor. Be nice, and check out our Code of Conduct.
Jacob Garby is a new contributor. Be nice, and check out our Code of Conduct.
Jacob Garby is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Retrocomputing Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f9448%2fwhere-does-the-z80-processor-start-executing-from%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown