Programming the 6502 microprocessor and its relatives in assembly and other languages.
JimDrew
Posts: 107 Joined: 14 Oct 2012
Post
by JimDrew » Thu Jun 25, 2015 10:35 pm
There is an error in the information on this website concerning interrupts. Please see:
http://homepage.ntlworld.com/cyborgsyst ... 02.htm#INT
Look at the last line under the "How can I DISable Interrupts?" section:
# This is done with the STI instruction.
Looks like someone was thinking 80x86 when they wrote that.
BigDumbDinosaur
Posts: 9426 Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:
Post
by BigDumbDinosaur » Fri Jun 26, 2015 4:54 am
There is an error in the information on this website concerning interrupts. Please see:
http://homepage.ntlworld.com/cyborgsyst ... 02.htm#INT
Look at the last line under the "How can I DISable Interrupts?" section:
# This is done with the STI instruction.
Looks like someone was thinking 80x86 when they wrote that.
That page has a number of errors that have persisted for a number of years. Better to read Garth's interrupt primer, which is accurate.
Hobbit1972
Posts: 80 Joined: 10 Feb 2015
Location: Germany
Post
by Hobbit1972 » Fri Jun 26, 2015 6:05 am
The SO pin:
Input, the pin effect the register. I think it's edge sensitive, but don't remember which edge.
The falling edge of SO pin will set the oVerflow bit.
giszo
Posts: 1 Joined: 28 Sep 2015
Post
by giszo » Tue Sep 29, 2015 6:51 am
I was reading the instruction reference of ASL while I noticed that the example is incorrect.
The pseudocode of the logic is saying that the highest bit is shifted into the Carry flag (P.C = B.7), but the below example is setting Carry to zero, while the highest bit before the shift operation was one.
Code: Select all
Before:
P.C = ? B = 1 1 1 0 1 1 1 0
After:
P.C = 0 B = 1 1 0 1 1 1 0 0