Apple II manual See if WE RAN Past END of Buffer Limit

Models: II

1 257
Download 257 pages 49.17 Kb
Page 196
Image 196

3380

F8F6 60

 

 

 

RTS

 

 

3381

F8F7 18

 

 

AT01

CLC

 

 

3382

F8F8 60

 

 

 

RTS

 

 

3383

F8F9

 

 

 

 

 

 

 

3384

F8F9

 

 

 

;SEE IF WE

RAN PAST END OF BUFFER LIMIT

3385

F8F9 A5 E1

 

ATEND

LDA

BOTLN

 

3386

F8FB A6 E2

 

 

LDX

BOTLN+1

 

3387

F8FD E4 E6

 

 

CPX

END+1

;HIGH BYTE > OR = ?

3388

F8FF 90 F6

 

 

BCC

AT01

 

3389

F901

D0

F2

 

 

BNE

AT02

 

3390

F903

C5

E5

 

 

CMP

END

;LOW BYTE > OR = ?

3391

F905

90

F0

 

 

BCC

AT01

 

3392

F907

B0

EC

 

 

BCS

AT02

 

3393

F909

 

 

 

 

 

 

 

3394

F909

 

 

 

; SAVE CURRENT LINE (NEWLN) IN S1

3395

F909

A5

DF

 

NOWS1

LDA

NOWLN

 

3396

F90B A6 E0

 

 

LDX

NOWLN+1

 

3397

F90D 4C 16 F9

 

JMP

ADDS1A

 

3398

F910

 

 

 

 

 

 

 

3399

F910

 

 

 

; MOVE ADDR INTO S1

 

3400

F910

AD 1C A4

ADDRS1 LDA

ADDR

 

3401

F913

AE 1D A4

 

LDX

ADDR+1

 

3402

F916

8D

1A

A4

ADDS1A

STA

S1

 

3403

F919

8E

1B

A4

 

STX

S1+1

 

3404

F91C 60

 

 

 

RTS

 

 

3405

F91D

 

 

 

 

 

 

 

3406

F91D

 

 

 

; SUBTRACT

ONE FROM CURRENT LINE (NOWLN)

3407

F91D C6 DF

 

SUB

DEC

NOWLN

 

3408

F91F A5 DF

 

 

LDA

NOWLN

 

3409

F921

C9

FF

 

 

CMP

#$FF

 

3410

F923

D0

02

 

 

BNE

SUB1

 

3411

F925

C6

E0

 

 

DEC

NOWLN+1

 

3412

F927

60

 

 

SUB1

RTS

 

 

3413

F928

 

 

 

 

 

 

 

3414

F928

 

 

 

; ADD ACC TO CURRENT LINE (NOWLN)

3415

F928

A9

01

 

AD1

LDA

#1

 

3416

F92A 18

 

 

ADDA

CLC

 

 

3417

F92B 65 DF

 

 

ADC

NOWLN

 

3418

F92D 85 DF

 

 

STA

NOWLN

 

3419

F92F 90 02

 

 

BCC

ADDA1

 

3420

F931

E6

E0

 

 

INC

NOWLN+1

 

3421

F933

60

 

 

ADDA1

RTS

 

 

3422

F934

 

 

 

 

 

 

 

3423

F934

A5

DF

 

SAVNOW LDA NOWLN

;SAVE CURRENT LINE INTO ADDR

3424

F936

8D

1C

A4

 

STA

ADDR

 

3425

F939

A5

E0

 

 

LDA

NOWLN+1

 

3426

F93B 8D 1D A4

 

STA

ADDR+1

 

3427

F93E 60

 

 

REP2

RTS

 

 

3428

F93F

 

 

 

 

 

 

 

3429

F93F

 

 

 

;MOVE CURRENT TEXT AROUND TO HAVE

3430

F93F

 

 

 

;SPACE

TO PUT IN THE NEW BUFFER

3431

F93F A4 EA

 

REPLAC LDY

LENGTH

 

3432

F941

C4

E9

 

 

CPY

OLDLEN

;COMPARE OLD AND NEW LENGTHS

3433

F943

D0

1A

 

 

BNE

R2W

;BRANCH IF DIFF

3434

F945

F0

07

 

 

BEQ

R87

;LENGTHS ARE EQUAL. JUST REPLACE

3435

F947

A9

0D

 

R8

LDA

#CR

 

3436

F949

91

DF

 

 

STA

(NOWLN),Y

 

3437

F94B 20 4A FA

 

JSR

GOGO

 

3438

F94E

 

 

 

 

 

 

 

3439

F94E

 

 

 

;LENGTH = OLDLEN

 

3440

F94E 88

 

 

R87

DEY

 

 

3441

F94F C0 FF

 

 

CPY

#$FF

 

 

 

 

 

 

 

 

 

 

Page 196
Image 196
Apple II manual See if WE RAN Past END of Buffer Limit