mirror of
https://github.com/fadden/6502bench.git
synced 2024-11-29 10:50:28 +00:00
Show large adjustments in hex
We emit address adjustments like "LDA thing+1", which are usually small values. Sometimes they're large, e.g. "LDA thing-61440", which is harder to understand than "LDA thing-$F000". So now we show small adjustments in decimal, and large adjustments in hex. The current definition of "small" is abs(adjust) < 256.
This commit is contained in:
parent
6c27b032bc
commit
5548469ba1
@ -639,18 +639,27 @@ namespace Asm65 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Formats an adjustment, as "+decimal" or "-decimal". If no adjustment
|
/// Formats an adjustment. Small values are formatted as "+decimal" or "-decimal",
|
||||||
/// is required, an empty string is returned.
|
/// larger values are formatted as hex. If no adjustment is required, an empty string
|
||||||
|
/// is returned.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="adjValue">Adjustment value.</param>
|
/// <param name="adjValue">Adjustment value.</param>
|
||||||
/// <returns>Formatted string.</returns>
|
/// <returns>Formatted string.</returns>
|
||||||
public string FormatAdjustment(int adjValue) {
|
public string FormatAdjustment(int adjValue) {
|
||||||
if (adjValue == 0) {
|
if (adjValue == 0) {
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
|
} else if (Math.Abs(adjValue) >= 256) {
|
||||||
|
// not using mHexPrefix here, since dec vs. hex matters
|
||||||
|
if (adjValue < 0) {
|
||||||
|
return "-$" + (-adjValue).ToString(mHexValueFormats[0]);
|
||||||
|
} else {
|
||||||
|
return "+$" + adjValue.ToString(mHexValueFormats[0]);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// This formats in decimal with a leading '+' or '-'. To avoid adding a plus
|
||||||
|
// on zero, we'd use "+#;-#;0", but we took care of the zero case above.
|
||||||
|
return adjValue.ToString("+0;-#");
|
||||||
}
|
}
|
||||||
// This formats in decimal with a leading '+' or '-'. To avoid adding a plus
|
|
||||||
// on zero, we'd use "+#;-#;0", but we took care of the zero case above.
|
|
||||||
return adjValue.ToString("+0;-#");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -65,12 +65,12 @@ start clc
|
|||||||
lda #zip+64
|
lda #zip+64
|
||||||
lda #absl
|
lda #absl
|
||||||
lda #(absl >> 8)
|
lda #(absl >> 8)
|
||||||
lda #absl-4096
|
lda #absl-$1000
|
||||||
lda #(absl >> 8)-16
|
lda #(absl >> 8)-16
|
||||||
lda #(absl >> 16)
|
lda #(absl >> 16)
|
||||||
lda #absh
|
lda #absh
|
||||||
lda #(absh >> 8)
|
lda #(absh >> 8)
|
||||||
lda #absh-61440
|
lda #absh-$f000
|
||||||
lda #(absh >> 8)+16
|
lda #(absh >> 8)+16
|
||||||
lda #(absh >> 16)+1
|
lda #(absh >> 16)+1
|
||||||
lda #(start & $ffff)
|
lda #(start & $ffff)
|
||||||
@ -90,11 +90,11 @@ start clc
|
|||||||
.word zip
|
.word zip
|
||||||
.word absl
|
.word absl
|
||||||
.word 0+(absl >> 8)
|
.word 0+(absl >> 8)
|
||||||
.word absl-4096
|
.word absl-$1000
|
||||||
.word 0+(absl >> 8)-16
|
.word 0+(absl >> 8)-16
|
||||||
.word absh
|
.word absh
|
||||||
.word 0+(absh >> 8)
|
.word 0+(absh >> 8)
|
||||||
.word absh-61440
|
.word absh-$f000
|
||||||
.word 0+(absh >> 8)+16
|
.word 0+(absh >> 8)+16
|
||||||
.word 0+(start & $ffff)
|
.word 0+(start & $ffff)
|
||||||
.word 0+(start >> 8)
|
.word 0+(start >> 8)
|
||||||
|
@ -19,11 +19,11 @@ start clc
|
|||||||
lda #<absh
|
lda #<absh
|
||||||
lda #>absh
|
lda #>absh
|
||||||
lda #<absh+64
|
lda #<absh+64
|
||||||
lda #>absh+256
|
lda #>absh+$100
|
||||||
lda #<absl
|
lda #<absl
|
||||||
lda #>absl
|
lda #>absl
|
||||||
lda #<absl-64
|
lda #<absl-64
|
||||||
lda #>absl-256
|
lda #>absl-$100
|
||||||
lda #<start
|
lda #<start
|
||||||
lda #>start
|
lda #>start
|
||||||
lda #^start
|
lda #^start
|
||||||
@ -59,14 +59,14 @@ start clc
|
|||||||
lda #zip+64
|
lda #zip+64
|
||||||
lda #absl
|
lda #absl
|
||||||
lda #>absl
|
lda #>absl
|
||||||
lda #absl-4096
|
lda #absl-$1000
|
||||||
lda #>absl-4096
|
lda #>absl-$1000
|
||||||
lda #^absl
|
lda #^absl
|
||||||
lda #absh
|
lda #absh
|
||||||
lda #>absh
|
lda #>absh
|
||||||
lda #absh+4096
|
lda #absh+$1000
|
||||||
lda #>absh+4096
|
lda #>absh+$1000
|
||||||
lda #^absh+65536
|
lda #^absh+$10000
|
||||||
lda #start
|
lda #start
|
||||||
lda #>start
|
lda #>start
|
||||||
lda #^start
|
lda #^start
|
||||||
@ -84,12 +84,12 @@ start clc
|
|||||||
dw zip
|
dw zip
|
||||||
dw absl
|
dw absl
|
||||||
dw >absl
|
dw >absl
|
||||||
dw absl-4096
|
dw absl-$1000
|
||||||
dw >absl-4096
|
dw >absl-$1000
|
||||||
dw absh
|
dw absh
|
||||||
dw >absh
|
dw >absh
|
||||||
dw absh+4096
|
dw absh+$1000
|
||||||
dw >absh+4096
|
dw >absh+$1000
|
||||||
dw start
|
dw start
|
||||||
dw >start
|
dw >start
|
||||||
dw ^start
|
dw ^start
|
||||||
@ -110,9 +110,9 @@ start clc
|
|||||||
adrl >start
|
adrl >start
|
||||||
adrl ^start
|
adrl ^start
|
||||||
|
|
||||||
:skipdata lda #^biggie-65536
|
:skipdata lda #^biggie-$10000
|
||||||
mvn #^biggie,#^biggie-1114112
|
mvn #^biggie,#^biggie-$110000
|
||||||
mvp #^start,#^start+1114112
|
mvp #^start,#^start+$110000
|
||||||
mvn #18,#1
|
mvn #18,#1
|
||||||
mvp #%00000001,#%00010010
|
mvp #%00000001,#%00010010
|
||||||
per :skipdata
|
per :skipdata
|
||||||
@ -189,12 +189,12 @@ start clc
|
|||||||
asc 'he quick brown fox jumps over the lazy dogs.'
|
asc 'he quick brown fox jumps over the lazy dogs.'
|
||||||
|
|
||||||
:L118E lda #<thirty2+2
|
:L118E lda #<thirty2+2
|
||||||
lda #>thirty2+768
|
lda #>thirty2+$300
|
||||||
lda #^thirty2
|
lda #^thirty2
|
||||||
rep #$30
|
rep #$30
|
||||||
mx %00
|
mx %00
|
||||||
lda #thirty2+3
|
lda #thirty2+3
|
||||||
lda #>thirty2+1024
|
lda #>thirty2+$400
|
||||||
lda #^thirty2
|
lda #^thirty2
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -64,12 +64,12 @@ start: clc
|
|||||||
lda #zip+64
|
lda #zip+64
|
||||||
lda #absl
|
lda #absl
|
||||||
lda #absl >> 8
|
lda #absl >> 8
|
||||||
lda #absl-4096
|
lda #absl-$1000
|
||||||
lda #absl >> 8 -16
|
lda #absl >> 8 -16
|
||||||
lda #absl >> 16
|
lda #absl >> 16
|
||||||
lda #absh
|
lda #absh
|
||||||
lda #absh >> 8
|
lda #absh >> 8
|
||||||
lda #absh-61440
|
lda #absh-$f000
|
||||||
lda #absh >> 8 +16
|
lda #absh >> 8 +16
|
||||||
lda #absh >> 16 +1
|
lda #absh >> 16 +1
|
||||||
lda #start & $ffff
|
lda #start & $ffff
|
||||||
@ -89,11 +89,11 @@ start: clc
|
|||||||
.word zip
|
.word zip
|
||||||
.word absl
|
.word absl
|
||||||
.word absl >> 8
|
.word absl >> 8
|
||||||
.word absl-4096
|
.word absl-$1000
|
||||||
.word absl >> 8 -16
|
.word absl >> 8 -16
|
||||||
.word absh
|
.word absh
|
||||||
.word absh >> 8
|
.word absh >> 8
|
||||||
.word absh-61440
|
.word absh-$f000
|
||||||
.word absh >> 8 +16
|
.word absh >> 8 +16
|
||||||
.word start & $ffff
|
.word start & $ffff
|
||||||
.word start >> 8
|
.word start >> 8
|
||||||
|
@ -36,8 +36,8 @@ L1000 lda CodeWrap+255
|
|||||||
ldx L1000
|
ldx L1000
|
||||||
ldy L1000+1
|
ldy L1000+1
|
||||||
lda _L1148
|
lda _L1148
|
||||||
lda CodeWrap+585
|
lda CodeWrap+$249
|
||||||
lda CodeWrap+592
|
lda CodeWrap+$250
|
||||||
nop
|
nop
|
||||||
lda $1ffe
|
lda $1ffe
|
||||||
lda SameName1-1
|
lda SameName1-1
|
||||||
|
@ -35,8 +35,8 @@ L1000 lda CodeWrap+255
|
|||||||
ldx L1000
|
ldx L1000
|
||||||
ldy L1000+1
|
ldy L1000+1
|
||||||
lda :L1148
|
lda :L1148
|
||||||
lda CodeWrap+585
|
lda CodeWrap+$249
|
||||||
lda CodeWrap+592
|
lda CodeWrap+$250
|
||||||
nop
|
nop
|
||||||
lda $1ffe
|
lda $1ffe
|
||||||
lda SameName1-1
|
lda SameName1-1
|
||||||
@ -112,7 +112,7 @@ L1000 lda CodeWrap+255
|
|||||||
lda $4000
|
lda $4000
|
||||||
lda $4001
|
lda $4001
|
||||||
lda BankWrap+8
|
lda BankWrap+8
|
||||||
lda <BankWrap-65512
|
lda <BankWrap-$ffe8
|
||||||
nop
|
nop
|
||||||
lda ReadOnly
|
lda ReadOnly
|
||||||
lda ReadOnly+1
|
lda ReadOnly+1
|
||||||
|
@ -36,8 +36,8 @@ L1000 lda CodeWrap+255
|
|||||||
ldx L1000
|
ldx L1000
|
||||||
ldy L1000+1
|
ldy L1000+1
|
||||||
lda @L1148
|
lda @L1148
|
||||||
lda CodeWrap+585
|
lda CodeWrap+$249
|
||||||
lda CodeWrap+592
|
lda CodeWrap+$250
|
||||||
nop
|
nop
|
||||||
lda $1ffe
|
lda $1ffe
|
||||||
lda SameName1-1
|
lda SameName1-1
|
||||||
|
@ -37,8 +37,8 @@ L1000: lda CodeWrap+255
|
|||||||
ldx L1000
|
ldx L1000
|
||||||
ldy L1000+1
|
ldy L1000+1
|
||||||
lda L1148
|
lda L1148
|
||||||
lda CodeWrap+585
|
lda CodeWrap+$249
|
||||||
lda CodeWrap+592
|
lda CodeWrap+$250
|
||||||
nop
|
nop
|
||||||
lda $1ffe
|
lda $1ffe
|
||||||
lda SameName1-1
|
lda SameName1-1
|
||||||
|
Loading…
Reference in New Issue
Block a user