fixed assembling immediate mode

This commit is contained in:
FeralChild64 committed 2021-01-23 19:43:39 +01:00
1 parent 88f6be8a0f
commit ecb8155976
3 files changed
+50 -80

No files matched your search

+14 -3
View File
@@ -476,6 +476,10 @@ Dump_Row:
Mon_Assemble:
; ***********
lda #$0D
jsr DBG_print_char
jsr DBG_print_Buf_Index
LDA #$00
STA Addr_Mode
JSR Get_Val_To_LAC ; get 1st. parameter
@@ -581,12 +585,14 @@ Mon_Assemble:
; XXX start debugging from here
@labc LDA #0
@labc jsr DBG_print_Buf_Index
LDA #0
@labd STA Mode_Flags
LDA #0
STA Addr_Mode
JSR Got_Val_To_LAC
JSR Get_Val_To_LAC
BEQ @labg ; no operand
jsr DBG_print_long_ac
LDA Addr_Mode
LBNE Mon_Error ; -> overflow
LDY #2 ; Y=2 word operand
@@ -603,6 +609,7 @@ Mon_Assemble:
@labg
@lpnop JSR Get_Char ; get delimiter
LBEQ @adjust ; end of operand
jsr DBG_print_char
CMP #' '
BEQ @lpnop
@@ -841,7 +848,11 @@ Mon_Assemble:
@store1 LDA Op_Code
JSR Put_To_Memory_LPC
@print JSR PRIMM
@print pha
lda #$0D
jsr DBG_print_char
pla
JSR PRIMM
!pet 13,$91,"a ", KEY_ESC, 'q', 0
JSR Print_Code
INC Op_Size
+29 -74
View File
@@ -13,8 +13,8 @@ DBG_print_Buf_Index:
phy
phz
jsr PRIMM
!pet $0D, "buf idx : ", 0
lda #':'
jsr CHROUT
lda Buf_Index
jsr Print_Hex
@@ -28,6 +28,25 @@ DBG_print_Buf_Index:
rts
DBG_print_char:
php
pha
phx
phy
phz
jsr CHROUT
plz
ply
plx
pla
plp
rts
DBG_print_long_ac:
php
@@ -36,8 +55,14 @@ DBG_print_long_ac:
phy
phz
jsr PRIMM
!pet $0D, "long ac : ", 0
lda #'*'
jsr CHROUT
lda Dig_Cnt
jsr Print_Hex
lda #'*'
jsr CHROUT
lda Long_AC+3
jsr Print_Hex
@@ -48,15 +73,6 @@ DBG_print_long_ac:
lda Long_AC+0
jsr Print_Hex
jsr PRIMM
!pet " addr mode : ", 0
lda Addr_Mode
jsr Print_Hex
jsr PRIMM
!pet " :: ", 0
plz
ply
plx
@@ -64,64 +80,3 @@ DBG_print_long_ac:
plp
rts
DBG_print_hex:
php
pha
phx
phy
phz
pha
jsr PRIMM
!pet $0D, "hex : ", 0
pla
jsr Print_Hex
plz
ply
plx
pla
plp
rts
DBG_print_CP1:
php
pha
phx
phy
phz
jsr PRIMM
!pet $0D, "checkpoint 1", 0
jmp DBG_END
DBG_print_CP2:
php
pha
phx
phy
phz
jsr PRIMM
!pet $0D, "checkpoint 2", 0
; FALLTROUGH
DBG_END:
plz
ply
plx
pla
plp
rts
+7 -3
View File
@@ -42,13 +42,13 @@ Get_Val_To_LAC:
jsr Get_Char
beq @exit ; branch if terminated
cmp #'0'
bcc @exit
bcc @exit_invalid_digit
cmp #':'
bcc @valid_digit ; 0-9
cmp #'A'
bcc @exit
bcc @exit_invalid_digit
cmp #'G'
bcs @exit
bcs @exit_invalid_digit
sbc #$07 ; hex conversion
@valid_digit:
@@ -120,6 +120,10 @@ Get_Val_To_LAC:
jmp Mon_Error ; number too large
@exit_invalid_digit:
dec Buf_Index
@exit:
lda Long_AC+3