?? writeiic.asm
字號:
#include "common.h"
global section banknumber:0,baseaddress:$0,length:$8000
init_data segment
public _addlh
_addlh:
;DW_C(14336)
dw 14336
public _address
_address:
;DW_C(226)
dw 226
public _dlength
_dlength:
;DW_C(228)
dw 228
public _rorw
_rorw:
;DW_C(231)
dw 231
public _namep
_namep:
;DW_C(24576)
dw 24576
public _rwiic
init_data endsg
global endsc
banked section banknumber:0,baseaddress:$4040,length:$8000
program segment
_rwiic proc
;ENTER_CC(0,6)
ldx #<6
stx tmp0
ldx #>6
stx tmp0+1
jsr enter
#codeline 12 "C:\WinIDE\writeiic\writeiic.C"
lda $e7
bne go
jmp readd
go: jmp writed
setscl: lda $18
ora #$40
sta $18
sta $04bd
rts
clrscl: lda $18
and #$bf
sta $18
sta $04bd
rts
setsda: lda $18
ora #$20
sta $18
sta $04bd
rts
clrsda: lda $18
and #$df
sta $18
sta $04bd
rts
start: lda $04bd
and #$9f
sta $04bd
lda $04ba
ora #$60
sta $07
sta $04ba
jsr setsda
nop
nop
jsr setscl
nop
nop
jsr clrsda
nop
nop
jsr clrscl
nop
nop
rts
sdata: lda $04ba
ora #$20
sta $07
sta $04ba
ldx #08
s1: asl $e0
bcc s2
jsr setsda
nop
nop
s3: jsr setscl
nop
nop
jsr clrscl
nop
nop
dex
bne s1
beq s4
s2: jsr clrsda
lda #01
bne s3
s4: lda $04ba
and #$df
sta $07
sta $04ba
jsr setscl
nop
nop
jsr clrscl
rts
ddata: lda $04ba
and #$df
sta $07
sta $04ba
ldx #08
s5: jsr setscl
nop
nop
lda $18
asl a
asl a
asl a
rol $e1
jsr clrscl
dex
bne s5
lda $04ba
ora #$20
sta $07
sta $04ba
jsr clrsda
nop
nop
jsr setscl
nop
nop
jsr clrscl
rts
stop: lda $04ba
ora #$20
sta $07
sta $04ba
jsr clrsda
nop
nop
jsr setscl
nop
nop
jsr setsda
nop
nop
jsr clrscl
rts
writed: lda #$00
sta $e5
sta $e6
tay
ww: jsr start
lda #$a0
clc
adc $e5
sta $e0
jsr sdata
lda $e6
sta $e0
jsr sdata
lda #$08
sta $e8
s6: lda ($e2),y
sta $e0
jsr sdata
iny
dec $e8
bne s6
jsr stop
nop
nop
tya
bne ww
inc $e5
inc $e3
lda $e3
cmp $e4
bne ww
jmp out
readd: jsr start
lda #$a0
sta $e0
jsr sdata
lda #$00
sta $e0
jsr sdata
jsr start
ldy #$00
s7: jsr ddata
lda $e1
sta ($e2),y
iny
bne s7
inc $e3
lda $e3
cmp $e4
bne s7
out: nop
L2:
;LEAVE
jmp leave
#codeline 182 "C:\WinIDE\writeiic\writeiic.C"
_rwiic endp
public _bintoeep
_bintoeep proc
;ENTER_CC(0,11)
ldx #<11
stx tmp0
ldx #>11
stx tmp0+1
jsr enter
#codeline 184 "C:\WinIDE\writeiic\writeiic.C"
;ASGNW_CA(1,(fp),7)
lda #<(1)
ldy #7
sta (fp),y
lda #>(1)
ldy #7+1
sta (fp),y
#codeline 187 "C:\WinIDE\writeiic\writeiic.C"
L5:
;INDIRB_AD((fp),7,tmp2)
clc
ldy #(7)
lda (fp),y
sta tmp2
ldy #(7+1)
lda (fp),y
sta tmp2+1
;1e5_DC(tmp2,0,L6)
lda tmp2
ora tmp2+1
bne $+5
jmp L6
#codeline 188 "C:\WinIDE\writeiic\writeiic.C"
L4:
;CALLV_CC(_ClearScreen,0)
lda #0
ldy #0
jsr _ClearScreen
#codeline 189 "C:\WinIDE\writeiic\writeiic.C"
;ARGW_CI(1,(sp),0)
lda #<(1)
ldy #0
sta (sp),y
lda #>(1)
ldy #0+1
sta (sp),y
;ARGW_CI(1,(sp),2)
lda #<(1)
ldy #2
sta (sp),y
lda #>(1)
ldy #2+1
sta (sp),y
;CALLV_CC(_gotoxy,4)
lda #0
ldy #4
jsr _gotoxy
#codeline 190 "C:\WinIDE\writeiic\writeiic.C"
;ARGW_CI(L7,(sp),0)
lda #<(L7)
ldy #0
sta (sp),y
lda #>(L7)
ldy #0+1
sta (sp),y
;CALLV_CC(_printf,2)
lda #0
ldy #2
jsr _printf
#codeline 191 "C:\WinIDE\writeiic\writeiic.C"
;ARGW_CI(1,(sp),0)
lda #<(1)
ldy #0
sta (sp),y
lda #>(1)
ldy #0+1
sta (sp),y
;ARGW_CI(2,(sp),2)
lda #<(2)
ldy #2
sta (sp),y
lda #>(2)
ldy #2+1
sta (sp),y
;CALLV_CC(_gotoxy,4)
lda #0
ldy #4
jsr _gotoxy
#codeline 192 "C:\WinIDE\writeiic\writeiic.C"
;ARGW_CI(L8,(sp),0)
lda #<(L8)
ldy #0
sta (sp),y
lda #>(L8)
ldy #0+1
sta (sp),y
;CALLV_CC(_printf,2)
lda #0
ldy #2
jsr _printf
#codeline 193 "C:\WinIDE\writeiic\writeiic.C"
;ARGW_CI(1,(sp),0)
lda #<(1)
ldy #0
sta (sp),y
lda #>(1)
ldy #0+1
sta (sp),y
;ARGW_CI(5,(sp),2)
lda #<(5)
ldy #2
sta (sp),y
lda #>(5)
ldy #2+1
sta (sp),y
;CALLV_CC(_gotoxy,4)
lda #0
ldy #4
jsr _gotoxy
#codeline 194 "C:\WinIDE\writeiic\writeiic.C"
;ARGW_CI(L9,(sp),0)
lda #<(L9)
ldy #0
sta (sp),y
lda #>(L9)
ldy #0+1
sta (sp),y
;CALLV_CC(_printf,2)
lda #0
ldy #2
jsr _printf
#codeline 195 "C:\WinIDE\writeiic\writeiic.C"
;ARGW_CI(10,(sp),0)
lda #<(10)
ldy #0
sta (sp),y
lda #>(10)
ldy #0+1
sta (sp),y
;ARGW_CI(6,(sp),2)
lda #<(6)
ldy #2
sta (sp),y
lda #>(6)
ldy #2+1
sta (sp),y
;CALLV_CC(_gotoxy,4)
lda #0
ldy #4
jsr _gotoxy
#codeline 196 "C:\WinIDE\writeiic\writeiic.C"
;ARGW_CI(0,(sp),0)
lda #<(0)
ldy #0
sta (sp),y
lda #>(0)
ldy #0+1
sta (sp),y
;CALLV_CC(_UpdateLCD,2)
lda #0
ldy #2
jsr _UpdateLCD
#codeline 198 "C:\WinIDE\writeiic\writeiic.C"
;CALLW_CCD(_getchar,0,tmp2)
lda #0
ldy #0
jsr _getchar
stx tmp2
sta tmp2+1
;ASGNC_DA(tmp2,(fp),6)
lda tmp2
ldy #6
sta (fp),y
#codeline 199 "C:\WinIDE\writeiic\writeiic.C"
;INDIRB_AD((fp),6,tmp2)
ldy #(6)
lda (fp),y
sta tmp2
;56_DD(tmp2,tmp2)
ldx #0
lda tmp2
sta tmp2
stx tmp2+1
;ASGNW_DA(tmp2,(fp),9)
lda tmp2
ldy #9
sta (fp),y
lda tmp2+1
ldy #9+1
sta (fp),y
;INDIRB_AD((fp),9,tmp2)
clc
ldy #(9)
lda (fp),y
sta tmp2
ldy #(9+1)
lda (fp),y
sta tmp2+1
;1e5_DC(tmp2,110,L22)
lda tmp2
eor #<(110)
sta op2
lda tmp2+1
eor #>(110)
ora op2
bne $+5
jmp L22
;205_DC(tmp2,110,L24)
lda #<(110)
cmp tmp2
lda #>(110)
sbc tmp2+1
bvc $+4
eor #$80
bpl $+5
jmp L24
L23:
;INDIRB_AD((fp),9,tmp2)
clc
ldy #(9)
lda (fp),y
sta tmp2
ldy #(9+1)
lda (fp),y
sta tmp2+1
;1e5_DC(tmp2,100,L16)
lda tmp2
eor #<(100)
sta op2
lda tmp2+1
eor #>(100)
ora op2
bne $+5
jmp L16
;JUMP_C(L10)
jmp L10
L24:
;INDIRB_AD((fp),9,tmp2)
clc
ldy #(9)
lda (fp),y
sta tmp2
ldy #(9+1)
lda (fp),y
sta tmp2+1
;1e5_DC(tmp2,117,L13)
lda tmp2
eor #<(117)
sta op2
lda tmp2+1
eor #>(117)
ora op2
bne $+5
jmp L13
;225_DC(tmp2,117,L10)
lda tmp2
cmp #<(117)
lda tmp2+1
sbc #>(117)
bvc $+4
eor #$80
bpl $+5
jmp L10
L25:
;INDIRB_AD((fp),9,tmp2)
clc
ldy #(9)
lda (fp),y
sta tmp2
ldy #(9+1)
lda (fp),y
sta tmp2+1
;1e5_DC(tmp2,121,L21)
lda tmp2
eor #<(121)
sta op2
lda tmp2+1
eor #>(121)
ora op2
bne $+5
jmp L21
;JUMP_C(L10)
jmp L10
#codeline 200 "C:\WinIDE\writeiic\writeiic.C"
L13:
;INDIRB_CD(_namep,tmp2)
lda _namep
sta tmp2
lda _namep+1
sta tmp2+1
;235_DC(tmp2,19968,L14)
lda tmp2
eor #<(19968)
sta op2
lda tmp2+1
eor #>(19968)
ora op2
beq $+5
jmp L14
;JUMP_C(L11)
jmp L11
#codeline 201 "C:\WinIDE\writeiic\writeiic.C"
#codeline 201 "C:\WinIDE\writeiic\writeiic.C"
L14:
;INDIRB_CD(_namep,tmp2)
lda _namep
sta tmp2
lda _namep+1
sta tmp2+1
;135_DCD(tmp2,-16,tmp2)
lda tmp2
clc
adc #<(-16)
sta tmp2
lda tmp2+1
adc #>(-16)
sta tmp2+1
;ASGNW_DC(tmp2,_namep)
lda tmp2
sta _namep
lda tmp2+1
sta _namep+1
;JUMP_C(L11)
jmp L11
#codeline 202 "C:\WinIDE\writeiic\writeiic.C"
L16:
;INDIRB_CD(_namep,tmp2)
lda _namep
sta tmp2
lda _namep+1
sta tmp2+1
;235_DC(tmp2,20464,L17)
lda tmp2
eor #<(20464)
sta op2
lda tmp2+1
eor #>(20464)
ora op2
beq $+5
jmp L17
;JUMP_C(L11)
jmp L11
#codeline 203 "C:\WinIDE\writeiic\writeiic.C"
#codeline 203 "C:\WinIDE\writeiic\writeiic.C"
L17:
;INDIRB_CD(_namep,tmp2)
lda _namep
sta tmp2
lda _namep+1
sta tmp2+1
;135_DCD(tmp2,16,tmp2)
lda tmp2
clc
adc #<(16)
sta tmp2
lda tmp2+1
adc #>(16)
sta tmp2+1
;ASGNW_DC(tmp2,_namep)
lda tmp2
sta _namep
lda tmp2+1
sta _namep+1
#codeline 204 "C:\WinIDE\writeiic\writeiic.C"
;INDIRB_CD(_namep,tmp2)
lda _namep
sta tmp2
lda _namep+1
sta tmp2+1
;INDIRB_ZD(tmp2,tmp2)
ldy #0
lda (tmp2),y
sta tmp2
;56_DD(tmp2,tmp2)
ldx #0
lda tmp2
sta tmp2
stx tmp2+1
;235_DC(tmp2,0,L11)
lda tmp2
ora tmp2+1
beq $+5
jmp L11
;INDIRB_CD(_namep,tmp2)
lda _namep
sta tmp2
lda _namep+1
sta tmp2+1
;135_DCD(tmp2,-16,tmp2)
lda tmp2
clc
adc #<(-16)
sta tmp2
lda tmp2+1
adc #>(-16)
sta tmp2+1
;ASGNW_DC(tmp2,_namep)
lda tmp2
sta _namep
lda tmp2+1
sta _namep+1
#codeline 205 "C:\WinIDE\writeiic\writeiic.C"
;JUMP_C(L11)
jmp L11
#codeline 206 "C:\WinIDE\writeiic\writeiic.C"
L21:
;ASGNW_CA(0,(fp),7)
lda #<(0)
ldy #7
sta (fp),y
lda #>(0)
ldy #7+1
sta (fp),y
;JUMP_C(L11)
jmp L11
#codeline 207 "C:\WinIDE\writeiic\writeiic.C"
L22:
;ASGNW_CA(0,(fp),7)
lda #<(0)
ldy #7
sta (fp),y
lda #>(0)
ldy #7+1
sta (fp),y
#codeline 208 "C:\WinIDE\writeiic\writeiic.C"
#codeline 209 "C:\WinIDE\writeiic\writeiic.C"
L10:
L11:
;INDIRB_AD((fp),6,tmp2)
ldy #(6)
lda (fp),y
sta tmp2
;56_DD(tmp2,tmp2)
ldx #0
lda tmp2
sta tmp2
stx tmp2+1
;235_DC(tmp2,121,L5)
lda tmp2
eor #<(121)
sta op2
lda tmp2+1
eor #>(121)
ora op2
beq $+5
jmp L5
;CALLV_CC(_ClearScreen,0)
lda #0
ldy #0
jsr _ClearScreen
#codeline 210 "C:\WinIDE\writeiic\writeiic.C"
;ARGW_CI(2,(sp),0)
lda #<(2)
ldy #0
sta (sp),y
lda #>(2)
ldy #0+1
sta (sp),y
;ARGW_CI(2,(sp),2)
lda #<(2)
ldy #2
sta (sp),y
lda #>(2)
ldy #2+1
sta (sp),y
;ARGW_CI(L28,(sp),4)
lda #<(L28)
ldy #4
sta (sp),y
lda #>(L28)
ldy #4+1
sta (sp),y
;ARGW_CI(1,(sp),6)
lda #<(1)
ldy #6
sta (sp),y
lda #>(1)
ldy #6+1
sta (sp),y
;CALLV_CC(_outtextxy,8)
lda #0
ldy #8
jsr _outtextxy
#codeline 212 "C:\WinIDE\writeiic\writeiic.C"
;INDIRB_CD(_namep,tmp2)
lda _namep
sta tmp2
lda _namep+1
sta tmp2+1
;135_DCD(tmp2,8,tmp3)
lda tmp2
clc
adc #<(8)
sta tmp3
lda tmp2+1
adc #>(8)
sta tmp3+1
;INDIRB_ZD(tmp3,tmp3)
ldy #0
lda (tmp3),y
sta tmp3
;56_DD(tmp3,tmp3)
ldx #0
lda tmp3
sta tmp3
stx tmp3+1
;135_DCD(tmp2,9,tmp2)
lda tmp2
clc
adc #<(9)
sta tmp2
lda tmp2+1
adc #>(9)
sta tmp2+1
;INDIRB_ZD(tmp2,tmp2)
ldy #0
lda (tmp2),y
sta tmp2
;56_DD(tmp2,tmp2)
ldx #0
lda tmp2
sta tmp2
stx tmp2+1
;155_DCD(tmp2,8,tmp2)
ldx #<(8)
lda tmp2
sta tmp
lda tmp2+1
jsr lshwtmp
stx tmp2
sta tmp2+1
;135_DDD(tmp3,tmp2,tmp2)
lda tmp3
clc
adc tmp2
sta tmp2
lda tmp3+1
adc tmp2+1
sta tmp2+1
;ASGNW_DC(tmp2,_addst)
lda tmp2
sta _addst
lda tmp2+1
sta _addst+1
#codeline 214 "C:\WinIDE\writeiic\writeiic.C"
;INDIRB_CD(_rorw,tmp2)
lda _rorw
sta tmp2
lda _rorw+1
sta tmp2+1
;ASGNC_CZ(255,tmp2)
lda #<(255)
ldy #0
sta (tmp2),y
#codeline 216 "C:\WinIDE\writeiic\writeiic.C"
;CALLV_CC(_rwiic,0)
lda #0
ldy #0
jsr _rwiic
#codeline 217 "C:\WinIDE\writeiic\writeiic.C"
;CALLV_CC(_ClearScreen,0)
lda #0
ldy #0
jsr _ClearScreen
#codeline 218 "C:\WinIDE\writeiic\writeiic.C"
;ARGW_CI(2,(sp),0)
lda #<(2)
ldy #0
sta (sp),y
lda #>(2)
ldy #0+1
sta (sp),y
;ARGW_CI(2,(sp),2)
lda #<(2)
ldy #2
sta (sp),y
lda #>(2)
ldy #2+1
sta (sp),y
;ARGW_CI(L29,(sp),4)
lda #<(L29)
ldy #4
sta (sp),y
lda #>(L29)
ldy #4+1
sta (sp),y
;ARGW_CI(1,(sp),6)
lda #<(1)
ldy #6
sta (sp),y
lda #>(1)
ldy #6+1
sta (sp),y
;CALLV_CC(_outtextxy,8)
lda #0
ldy #8
jsr _outtextxy
#codeline 219 "C:\WinIDE\writeiic\writeiic.C"
;ARGW_CI(19,(sp),0)
lda #<(19)
ldy #0
sta (sp),y
lda #>(19)
ldy #0+1
sta (sp),y
;ARGW_CI(19,(sp),2)
lda #<(19)
ldy #2
sta (sp),y
lda #>(19)
ldy #2+1
sta (sp),y
;CALLV_CC(_gotoxy,4)
lda #0
ldy #4
jsr _gotoxy
#codeline 220 "C:\WinIDE\writeiic\writeiic.C"
;CALLV_CC(_getchar,0)
lda #0
ldy #0
jsr _getchar
#codeline 221 "C:\WinIDE\writeiic\writeiic.C"
#codeline 223 "C:\WinIDE\writeiic\writeiic.C"
#codeline 224 "C:\WinIDE\writeiic\writeiic.C"
;JUMP_C(L5)
jmp L5
#codeline 224 "C:\WinIDE\writeiic\writeiic.C"
L6:
L3:
;LEAVE
jmp leave
#codeline 225 "C:\WinIDE\writeiic\writeiic.C"
_bintoeep endp
public _dattoeep
_dattoeep proc
;ENTER_CC(0,6)
ldx #<6
stx tmp0
ldx #>6
stx tmp0+1
jsr enter
#codeline 228 "C:\WinIDE\writeiic\writeiic.C"
L32:
;LEAVE
jmp leave
#codeline 230 "C:\WinIDE\writeiic\writeiic.C"
_dattoeep endp
public _eeptoram
_eeptoram proc
;ENTER_CC(0,6)
ldx #<6
stx tmp0
ldx #>6
stx tmp0+1
jsr enter
#codeline 232 "C:\WinIDE\writeiic\writeiic.C"
L33:
;LEAVE
jmp leave
#codeline 234 "C:\WinIDE\writeiic\writeiic.C"
_eeptoram endp
public _eeptodat
_eeptodat proc
;ENTER_CC(0,6)
ldx #<6
stx tmp0
ldx #>6
stx tmp0+1
jsr enter
#codeline 236 "C:\WinIDE\writeiic\writeiic.C"
L34:
;LEAVE
jmp leave
#codeline 237 "C:\WinIDE\writeiic\writeiic.C"
_eeptodat endp
public _ramtoeep
_ramtoeep proc
;ENTER_CC(0,6)
ldx #<6
stx tmp0
ldx #>6
stx tmp0+1
jsr enter
#codeline 239 "C:\WinIDE\writeiic\writeiic.C"
L35:
;LEAVE
jmp leave
#codeline 241 "C:\WinIDE\writeiic\writeiic.C"
_ramtoeep endp
public _menu1
_menu1 proc
;ENTER_CC(0,11)
ldx #<11
stx tmp0
ldx #>11
stx tmp0+1
jsr enter
#codeline 243 "C:\WinIDE\writeiic\writeiic.C"
;ASGNW_CA(1,(fp),7)
lda #<(1)
ldy #7
sta (fp),y
lda #>(1)
ldy #7+1
sta (fp),y
#codeline 246 "C:\WinIDE\writeiic\writeiic.C"
;CALLV_CC(_ClearScreen,0)
lda #0
ldy #0
jsr _ClearScreen
#codeline 247 "C:\WinIDE\writeiic\writeiic.C"
;ARGW_CI(2,(sp),0)
lda #<(2)
ldy #0
sta (sp),y
lda #>(2)
ldy #0+1
sta (sp),y
;ARGW_CI(2,(sp),2)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -