Apple II manual RTLOG1, Mdend, Normx

Page 99

335

1F41

45

09

 

 

EOR M1

 

336

1F43

30

04

 

 

BMI RTS1

YES,RETURN WITH MANT1 NORMALIZED

337

1F45

A5

08

 

 

LDA X1

EXP1 ZERO?

338

1F47

D0

ED

 

 

BNE NORM1

NO, CONTINUE NORMALIZING

339

1F49

60

 

 

RTS1

RTS

RETURN

340

 

 

 

 

*

 

 

341

 

 

 

 

*

 

 

342

 

 

 

 

*

EXP/MANT2-EXP/MANT1 RESULT IN EXP/MANT1

343

 

 

 

 

*

 

 

344

1F4A

20

8F

1F

FSUB

JSR FCOMPL

CMPL MANT1 CLEARS CARRY UNLESS ZERO

345

1F4D

20

5D

1F

SWPALG

JSR ALGNSW

RIGHT SHIFT MANT1 OR SWAP WITH MANT2 ON CARRY

346

 

 

 

 

*

 

 

347

 

 

 

 

*

ADD EXP/MANT1

AND EXP/MANT2 RESULT IN EXP/MANT1

348

 

 

 

 

*

 

 

349

1F50

A5

04

 

FADD

LDA X2

 

350

1F52

C5

08

 

 

CMP X1

COMPARE EXP1 WITH EXP2

351

1F54

D0

F7

 

 

BNE SWPALG

IF UNEQUAL, SWAP ADDENDS OR ALIGN MANTISSAS

352

1F56

20

00

1F

 

JSR ADD

ADD ALIGNED MANTISSAS

353

1F59

50

E3

 

ADDEND

BVC NORM

NO OVERFLOW, NORMALIZE RESULTS

354

1F5B

70

05

 

 

BVS RTLOG

OV: SHIFT MANT1 RIGHT. NOTE CARRY IS CORRECT

SIGN

 

 

 

 

 

 

 

355

1F5D

90

BD

 

ALGNSW

BCC SWAP

SWAP IF CARRY CLEAR, ELSE SHIFT RIGHT ARITH.

356

1F5F

A5

09

 

RTAR

LDA M1

SIGN OF MANT1 INTO CARRY FOR

357

1F61

0A

 

 

 

ASL

RIGHT ARITH SHIFT

358

1F62

E6

08

 

RTLOG

INC X1

INCR EXP1 TO COMPENSATE FOR RT SHIFT

359

1F64

F0

7E

 

 

BEQ OVFL

EXP1 OUT OF RANGE.

360

1F66

A2

FA

 

RTLOG1

LDX =$FA

INDEX FOR 6 BYTE RIGHT SHIFT

361

1F68

A9

80

 

ROR1

LDA =$80

 

362

1F6A

B0

01

 

 

BCS ROR2

 

363

1F6C

0A

 

 

 

ASL

 

364

1F6D

56

0F

 

ROR2

LSR E+3,X

SIMULATE ROR E+3,X

365

1F6F

15

0F

 

 

ORA E+3,X

 

366

1F71

95

0F

 

 

STA E+3,X

 

367

1F73

E8

 

 

 

INX

NEXT BYTE OF SHIFT

368

1F74

D0

F2

 

 

BNE ROR1

LOOP UNTIL DONE

369

1F76

60

 

 

 

RTS

RETURN

370

 

 

 

 

*

 

 

371

 

 

 

 

*

 

 

372

 

 

 

 

*

EXP/MANT1 X EXP/MANT2 RESULT IN EXP/MANT1

373

 

 

 

 

*

 

 

374

1F77

20

0D

1F

FMUL

JSR MD1

ABS. VAL OF MANT1, MANT2

375

1F7A

65

08

 

 

ADC X1

ADD EXP1 TO EXP2 FOR PRODUCT EXPONENT

376

1F7C

20

CD 1F

 

JSR MD2

CHECK PRODUCT EXP AND PREPARE FOR MUL

377

1F7F

18

 

 

 

CLC

CLEAR CARRY

378

1F80

20

66

1F

MUL1

JSR RTLOG1

MANT1 AND E RIGHT.(PRODUCT AND MPLIER)

379

1F83

90

03

 

 

BCC MUL2

IF CARRY CLEAR, SKIP PARTIAL PRODUCT

380

1F85

20

00

1F

 

JSR ADD

ADD MULTIPLICAN TO PRODUCT

381

1F88

88

 

 

MUL2

DEY

NEXT MUL ITERATION

382

1F89

10

F5

 

 

BPL MUL1

LOOP UNTIL DONE

383

1F8B

46

03

 

MDEND

LSR SIGN

TEST SIGN (EVEN/ODD)

384

1F8D

90

AF

 

NORMX

BCC NORM

IF EXEN, NORMALIZE PRODUCT, ELSE COMPLEMENT

385

1F8F

38

 

 

FCOMPL SEC

SET CARRY FOR SUBTRACT

386

1F90

A2

03

 

 

LDX =$03

INDEX FOR 3 BYTE SUBTRACTION

387

1F92

A9

00

 

COMPL1

LDA =$00

CLEAR A

388

1F94

F5

08

 

 

SBC X1,X

SUBTRACT BYTE OF EXP1

389

1F96

95

08

 

 

STA X1,X

RESTORE IT

390

1F98

CA

 

 

 

DEX

NEXT MORE SIGNIFICANT BYTE

391

1F99

D0

F7

 

 

BNE COMPL1

LOOP UNTIL DONE

392

1F9B

F0

BC

 

 

BEQ ADDEND

NORMALIZE (OR SHIFT RIGHT IF OVERFLOW)

393

 

 

 

 

*

 

 

394

 

 

 

 

*

 

 

395

 

 

 

 

*

EXP/MANT2 / EXP/MANT1 RESULT IN EXP/MANT1

 

 

 

 

 

 

 

 

Image 99
Contents Apple II Original ROM Information Qjjj Data0005A0 FDA9A920 EDFDA98D 4CEDFDA9 8D4CEDFD Page Page Page JI@ Page 001AA0 F3FFE8E1 E8E8EFEB FFFFE0FF Ffefeeef 001AC0 FFFFE1E1 EFEEE7E8 EEE7F3FB FBEEE1EF001AE0 E8EEE7E8 Efefeeef Eeefeeee Efeeeeee 001DB0 9CDD9CDE DD9EC3DD Cfcacdcb 00479AAD 001FB0 Ffffffff FFFF2071 E14CBFEF 2003EEA9 Page 60FFFFFF .JJ DDBAF9F0 0DBDBAF9FA60FFFF 02E61FBD JJJAEAEA8AD Page Page Return Page Basl System Monitor CopyrightLOC0 LOC1Mask INY NO, INC Index X-COORD LDY PCH PRMN1 LDA FMT1 DFB Format Above EOR STA A3H FAE2 A2 FB Tabv STA Vtabs to ROW in A-REG STA Bash BCC Clreol Clear to END of Line NXTA4 INC A4L Incr 2-BYTE A4 STA BASL,Y Replace Flashing Screen Fdad A5 3C LT2 LDA A2L,X Copy A2 2 Bytes to Ioprt LDA A2L SET RAM IN/OUT Vectors BCC RD3 Loop Until Done STA A3H,X DFB LIST-1 FFF3 CC BRTBL,X SaveLSR Prepare Carry for BC, BNC Stat LDA R0L JSR STAT2 Push LOW PC Byte VIA R12 JSR LDA IN,YCMP BNE NomoveRTN MloopDCR BNZ MloopBM1 INRBNC BNZLoad DOUBLE-BYTE Indirect ExampleLoad Indirect Store IndirectStore DOUBLE-BYTE Indirect POP IndirectStore POP Indirect ACC SubtractPOP DOUBLE-BYTE Indirect BNC LOOP1 CompareBF A0 SET $A0BF LOOP1 SUBBNZ LOOP2 Return to 6502 ModeDecrement LOOP2LOOP3 SUB Branch if no CarryBranch if Carry SET Branch if PlusReturn from Sweet 16 Subroutine Branch if Minus ONEBranch if not Minus ONE BreakLDA #ADRH STA IND+1 LDA OPTBL,XSTA IND JMP Page Page Sweet 16 Introduction Page Source NVA DSPPrint Dbload Sweet REM Ctrl D Input Enter String a $ , a $Sweet Poke 776 , a REM Poke DestinationPrint Print Goto Call -605 Return REM XAM8 in MonitorMnemr MINI-ASSEMBLERBaum MnemlSBC PCL Form ADDR-PC-2 JSR Cout Position FORM7 STX A1H Save Index BNE ORGCLC STANorm LDA EXP1 ZERO? Shift Dividend Left Floating Point Representation LOW Floating Point PackageNumber Exponent Mantissa StoredHigh LOW EXP Mantissa Floating Point Representation ExamplesFloating Point Subroutine Descriptions Page Page Page Page HIGH-ORDER STY Init MANT1 LDYSTY Calling SequencePage Page Page Page Page Page Seeeeeee MmmmmmmmFsub ORG SET Base page Adresses STA X2,X Common LOG of MANT/EXP1 Result in MANT/EXP1 Ovflw BRK Overflow 1EBB STA X2,X Load EXP/MANT2 with Z 1EBD DEX 1EBE BPL LF3 Addend YES,RETURN with MANT1 NormalizedRight Shift MANT1 or Swap with MANT2 on Carry CMPNormx BCC Norm If EXEN, Normalize PRODUCT, Else Complement Errata for Rankins Floating Point Routines LDX Load X for High Byte of ExponentLDA STA Fmul LOGFadd FsubPage Mantissa MOD 9/76 Load X for Later M2MHL Contin 1EAD LFA LDA Z,X L2E DCM RTLOG1 MdendNormx Object Code Dump Page Lstcom TapdelHsbdry Toutfl=UIRQVC OutvecUrcvec =UBRKVCADC TAXStocom STA ORABPL HASHUS+2 Restore Except A,F JMP BEQSTX CPXTXA Exwrap RTSChksad PHP Outxah PHANibasc and #$0F Nibble in a to Ascii in a BCS INST1 RTI Ldbyte JSR Inbyte Verify MEM E1PARM JMP STD2 MORED2 LDY JSR Brtt INC Ercnt UP to FF MEM3EX CLC SBC P3L BNE Exitgk Ksconf LDA Txtmov LDA BNE INRT2 Outone Newdev LDA Dftxfr LDXLDA Toutfl 8BFF 0D Msfirst Bufadh DdrdigLOADT2 STA Mode BNE Lcerr Last Char not Kgettr LDA H8DFF BCC PACKT3 DUMPT4 LDY DumptDUMPT1 TXA DMPT1A LDAOutbth LDX Outcht STX Register Name PatchHS Tape Boundary Nowln Rockwell InternationalUdrah UddraTMASK1 =MOVAD OldlenLength MovadTABUF2 CurposChecksum TabuffWrite Edge Detect Control not Used Because KB EQS CRBCFD2A0A0A0A0 DB TO,EQSSEI Disable Interrupt RS6 JSR Crlow Clear Display E1AC Have Valid Command Space Comm Nxtadd TYALOAD1A LDA ForLOADK5 LDX JMP LOADK5 Next E46A EE INC Bkflg SET FLG OUTCK1 PHA Outcks LDADUMPT1 LDA Dumpta LDXE5EA TOGTA1 LDA TOGTA2 LDA BCC JD3 MSG Whereo LDY CPY ANY OtherSTA Outflg Outall PHA Output PHAROL Priflg Restore FLG Wrax JSR Numa EAA3 CA DEX Memerr JSR STA STIY+2 Dehalf LDA EC5E 4A LSR Only ROW Debkey LDX Onekey LDAED3B GET a Char from Tape Subroutine Edba LSR Cpiy Make Room for MSB Outtty PHA OUTD1A CPX OUTD2A TXAOUTDD1 PHA LDA First Chip Select Prndot LDA LDA #PRTIME/256 Start T2 for 1.7 Msec BIT Imask See if DOT is SET Newcol LDA NEW Print ROWBkcksm LDA Ckbuff LDAOUTTA2 LDX OUTTA1 PHAZero Leftmost Column F2E1 3E7E7F3E7F7FCOL0DB BGYU76HN MNNDX2 LSR RtmodeGetfmt TAX MNNDX1 LSRPRADR2 LDA PLAPRADR4 DEX BPL PCADJ4 AIM Text Editor LDA END+1 CMP with END AF E7 JMP KEP RUB COMMAND-FIND String JMP CHN1 See if WE RAN Past END of Buffer Limit BEQ REP2 SBC Oldlen GOGO1 RTS ROM Table FB46 8A9AAABACADAStartm JSR Rdaddr LDY IMMED1 LDX Tryjmp LDAOPCMP1 LDA Brnchc JMPConvrt LDA FORMD2 LDX Brcomp LDACompbr LDX Forwrd LDA Backwd LDACuread TXA MATCH1 JMPPATCH4 LDX CURPO2 Dont do Anything if 8D PATC15 JSR Crlf Decode Command Brcomp AddblkADDS1A BkcksmCRA Goerr Namo E8CF NAMO1 RD2 EA5D RD1 E6AC AIM 65 Microcomputer Monitor Program ListingTable of Contents AIM 65 Microcomputer Basic Language Reference ManualIntroduction WIDTH? Installing Basic in the AIM ROM Installation ProcedureEntering Basic Memory SIZE?Printer Control Exiting BasicReentering Basic Basic CursorGetting Started with Basic Basic Command SET ASCCHR$ Listing a Program Direct and Indirect Commands Direct CommandsIndirect Commands Operating on Programs and LinesList Printing Data Deleting a LineReplacing a Line Deleting a ProgramPrint ONE Half Equals 1/2 Number FormatNumber Output Format Variables Assigning Variables with AN Input Statement Input RVariable Names PSTG$ Print A, A*2 LET Z=7 Print Z, Z-AReserved Words Input B Program Using RelationsRemarks Relational TestsPrint Nsqrn LoopingSquare Root Program AN Improved Square Root ProgramSome Other Looping Operations Another Square Root ProgramPrint Nsqrn Next N COUNT-BACKWARD ProgramSort Program Print What is the NumberPrint I,J Next Next J Matrix OperationsStopping a Program Print BAD GUESS, TRY Again RestoreInput N Print Must be IntegerPrint LENA$,LENMICROCOMPUTER Strings$=ROCKWELL R6500 Print A$ Rockwell R6500 LEN FunctionMID$ Function RIGHT$ FunctionData AIM 65,DOG Print B$ Basic for Rockwell R6500Print C$ Basic FOR-ROCKWELL-R6500 VAL and Strs Functions CHR$ FunctionPrint Print X$ Additional String ConsiderationsName Example PURPOSE/USE DIM Input Input X$Print X/1.3 Operators Symbol Sample StatementESC Cntl PrintSymbol Sample Statement PURPOSE/USE NegationRelational Operators Operator Argument Result Not Not If not Q3 thenStatement SYNTAX/FUNCTION Example Clear CommandsPrint Intruder Alert AlertStatement SYNTAX/FUNCTION NEW Statement SYNTAX/FUNCTION FREStatement SYNTAX/FUNCTION List Statement SYNTAX/FUNCTION LoadStatement SYNTAX/FUNCTION Example DEF Statement SYNTAX/FUNCTION Example RUNStatement SYNTAX/FUNCTION Example Save Program StatementsStatement SYNTAX/FUNCTION DIM Statement SYNTAX/FUNCTION ENDStatement SYNTAX/FUNCTION For Statement SYNTAX/FUNCTION IF...THEN Statement SYNTAX/FUNCTION GosubStatement SYNTAX/FUNCTION Goto Statement SYNTAX/FUNCTION IF...GOTOStatement SYNTAX/FUNCTION ON...GOSUB If X0 then Print ERROR, X Negative Goto ExampleStatement SYNTAX/FUNCTION LET Statement SYNTAX/FUNCTION NextStatement SYNTAX/FUNCTION Return Statement SYNTAX/FUNCTION RestoreSymbol SYNTAX/FUNCTION Wait Example Restore ReturnPrint Value ISA Statement SYNTAX/FUNCTION InputStatement SYNTAX/FUNCTION POS Statement SYNTAX/FUNCTION PrintString Functions Statement SYNTAX/FUNCTION ASC Statement SYNTAX/FUNCTION ReadStatement SYNTAX/FUNCTION SPC Statement SYNTAX/FUNCTION TABStatement SYNTAX/FUNCTION RIGHT$ Statement SYNTAX/FUNCTION LEFT$Statement SYNTAX/FUNCTION LEN Statement SYNTAX/FUNCTION MID$Statement SYNTAX/FUNCTION EXP Arithmetic Functions Statement SYNTAX/FUNCTION ABSStatement SYNTAX/FUNCTION ATN Statement SYNTAX/FUNCTION COSPrint Sinx Statement SYNTAX/FUNCTION Example SGNPrint Sgnx Statement SYNTAX/FUNCTION Example SINError Messages ?XX ErrorInverse Hyperbolic Secant TAB, SPC Space HintsPRINTX,Y,Z Speed Hints Storage Allocation InformationOLD This is Probably the Most Important Speed HintConverting Basic Programs not Written for AIM 65 Basic OLD AIMSOH Assembly Language SubroutinesAscii Character Codes Decimal NULPrintx Address Content$AE InputnumbernRecording on Cassette Using the Basic Save Command RUN NUMBER?Storing AIM 65 Basic Programs on Cassette IN= Cassette Operations Using the AIM 65 EditorOUT=T F= OUT=T F=FNAME T=0FAC ATN ImplementationEntered by Alter Memory M OF9CSaving ATN Object Code on Cassette WIDTH? Bytes Free AIM 65 Basic
Related manuals
Manual 19 pages 1.54 Kb

II specifications

The Apple II, launched in April 1977, was one of the first highly successful mass-produced microcomputer products. It marked a significant leap in personal computing, setting standards for future developments in the industry. Created by Steve Wozniak and Steve Jobs, the Apple II differentiated itself with its user-friendly design, appealing aesthetics, and robust capabilities.

One of the standout features of the Apple II was its open architecture, which allowed users to expand and enhance the computer's functionality. This design enabled hundreds of third-party hardware and software developers to contribute to its ecosystem, resulting in an array of peripherals, including printers, modems, and storage devices. The Apple II utilized a MOS Technology 6502 microprocessor running at a clock speed of 1 MHz. Initially equipped with 4 KB of RAM, the machine could be expanded to 48 KB, accommodating more complex applications and programs.

The Apple II was also notable for its colorful graphics. It was one of the first computers to support color display, offering a 6-color palette with a resolution of 280x192 pixels in 16 colors when using its Color Graphics Card. This feature significantly enhanced the visual appeal of games and educational software developed for the platform, making computing more accessible and entertaining for various audiences.

Apple's commitment to user experience was evident in the design of the machine. It featured an integrated keyboard and a plastic case, which was both durable and visually appealing. The self-contained design included drive bays for floppy disk drives, allowing for quicker data access than traditional tape drives. It also supported audio output, enabling sound effects and music, a novelty at the time.

The introduction of the Apple DOS operating system further underscored the machine's capabilities. DOS streamlined file management and made it easier for users to navigate and manage their data. The combination of hardware and software positioned the Apple II as an educational tool and a gaming platform, fostering a vibrant software ecosystem.

The Apple II family continued to evolve, with variations like the Apple II+, IIe, and IIgs being introduced over the years. These iterations brought enhancements in memory, processing power, and graphics capabilities. The legacy of the Apple II endures, not only as a foundational product in personal computing but also as a symbol of innovation that paved the way for future advancements in technology. Its impact is still felt today, as it inspired countless developers and shaped the trajectory of the computer industry.