mirror of
https://github.com/fadden/6502bench.git
synced 2024-09-10 13:54:52 +00:00
The "smart" PLP handler tries to recover the flags from an earlier PHP. The non-smart version just marks all the flags as indeterminate. This doesn't work well on the 65816 in native mode, because having the M/X flags in an indeterminate state is rarely what you want. Code rarely uses PLP to reset the flags to a specific state, preferring explicit SEP/REP. The analyzer is more likely to get the correct answer by simply leaving the flags in their prior state. A test case has been added to 20052-branches-and-banks, which now has "smart PLP" disabled.
13 lines
732 B
ArmAsm
13 lines
732 B
ArmAsm
;ACME can't handle 65816 code that lives outside bank zero
|
|
* = $0000
|
|
!pseudopc $1000 {
|
|
!hex 18fbe2305c000044000102cf000044af000044ad0000a50030f562b2ffd0b082
|
|
!hex a9ff1700170044cfc0ff44f005303c8239005c0020002c0020f41700f44400d0
|
|
!hex 03dc0810ea201220201520200f20225634125c103254cf1032548006eaea6016
|
|
!hex 3254af163254af7d3254af163254af7d3254ad1732ad1532ad7e32ad7c32ea20
|
|
!hex 1632201732201832207d32207e32207f32eaa200fc1932fc7a32206e32207132
|
|
!hex 206832206b3220743220773280187c19327c7a326c08106c0810dc0810dc0810
|
|
!hex 7d3254eaea60200e20eac23008a90000e230a90028a9eaeae23008a900c230a9
|
|
!hex 000028a9eaeac230ea6b
|
|
} ;!pseudopc
|