World Library  
Flag as Inappropriate
Email this Article

Atari Assembler Editor

Article Id: WHEBN0002736424
Reproduction Date:

Title: Atari Assembler Editor  
Author: World Heritage Encyclopedia
Language: English
Subject: Atari 8-bit family software, Assemblers, Atari 8-bit computer software, MAC/65, Shepardson Microsystems
Collection: Assemblers, Atari 8-Bit Family Software
Publisher: World Heritage Encyclopedia
Publication
Date:
 

Atari Assembler Editor

Atari Assembler Editor
Original author(s) Kathleen O'Brien
Developer(s) Shepardson Microsystems
Stable release 1.0 / 1981 (1981)
Platform Atari 400/800/XL/XE
Size 8KB
Type Assembler
License Copyright © 1981 Atari Corp. Proprietary software

The Atari Assembler Editor is a cartridge-based development system used to edit, assemble, and debug 6502 programs for the Atari 8-bit computers. It was programmed by Kathleen O'Brien of Shepardson Microsystems. It was the first commercially available assembler for the Atari 8-bit computers.

In the manual, Atari recommends the Assembler Editor as a tool for writing subroutines to speed up BASIC,[1] primarily because assembly times are extremely slow for anything but the smallest programs. The Atari Macro Assembler was offered by Atari to provide better performance and more powerful features, such as macros, but it was disk-based, copy-protected, and did not include an editor or debugger.

Contents

  • Details 1
    • Edit 1.1
    • Debug 1.2
  • Example Code 2
  • Legacy 3
  • References 4
  • External links 5

Details

The Assembler Editor is two-pass 6502 assembler in an 8KB cartridge. Both source and object code can be in memory simultaneously, allowing repeated editing, assembly, and running of the resulting code without accessing a disk or tape drive.[2]

Edit

The cartridge starts in EDIT mode. The programmer enters lines of assembly source into the Atari BASIC-like editor. Source text must be prefixed with a line number, or it is interpreted as a command. Errors are reported with numeric error codes.

Code is assembled with the ASM command.

Debug

The debugger, really a monitor, is entered with the BUG command. The debugger allows the viewing and changing of registers and memory locations, code tracing, single-step and disassembly.

The X command returns to EDIT mode.

Example Code

The following is example code for Hello World! written in Atari assembly language:

10 ; HELLO.ASM
20 ; ---------
30 ;
40 ; THIS ATARI ASSEMBLY PROGRAM
50 ; WILL PRINT THE "HELLO WORLD"
60 ; MESSAGE TO THE SCREEN
70 ;
0100 ; CIO EQUATES
0110 ; ===========
0120     *=  $0340   ;START OF IOCB
0130 IOCB
0140 ;
0150 ICHID *= *+1    ;DEVICE HANDLER
0160 ICDNO *= *+1    ;DEVICE NUMBER
0170 ICCOM *= *+1    ;I/O COMMAND
0180 ICSTA *= *+1    ;I/O STATUS
0190 ICBAL *= *+1    ;LSB BUFFER ADDR
0200 ICBAH *= *+1    ;MSB BUFFER ADDR
0210 ICPTL *= *+1    ;LSB PUT ROUTINE
0220 ICPTH *= *+1    ;MSB PUT ROUTINE
0230 ICBLL *= *+1    ;LSB BUFFER LEN
0240 ICBLH *= *+1    ;MSB BUFFER LEN
0250 ICAX1 *= *+1    ;AUX BYTE 1
0260 ICAX2 *= *+1    ;AUX BYTE 1
0270 ;
0280 GETREC = 5      ;GET TEXT RECORD
0290 PUTREC = 9      ;PUT TEXT RECORD
0300 ;
0310 CIOV =  $E456   ;CIO ENTRY VECTOR
0320 RUNAD = $02E0   ;RUN ADDRESS
0330 EOL   = $9B     ;END OF LINE
0340 ;
0350 ; SETUP FOR CIO
0360 ; -------------
0370     *= $0600
0380 START LDX #0    ;IOCB 0
0390     LDA #PUTREC ;WANT OUTPUT
0400     STA ICCOM,X ;ISSUE CMD
0410     LDA #MSG&255 ;LOW BYTE OF MSG
0420     STA ICBAL,X ; INTO ICBAL
0430     LDA #MSG/256 ;HIGH BYTE
0440     STA ICBAH,X ; INTO ICBAH
0450     LDA #0      ;LENGTH OF MSG
0460     STA ICBLH,X ; HIGH BYTE
0470     LDA #$FF    ;255 CHAR LENGTH
0480     STA ICBLL,X ; LOW BYTE
0490 ;
0500 ; CALL CIO TO PRINT
0510 ; -----------------
0520     JSR CIOV    ;CALL CIO
0530     RTS         ;EXIT TO DOS
0540 ;
0550 ; OUR MESSAGE
0560 ; -----------
0570 MSG .BYTE "HELLO WORLD!",EOL
0580 ;
0590 ; INIT RUN ADDRESS
0600 ; ----------------
0610     *=  RUNAD
0620     .WORD START
0630     .END

ASM
BUG
G600
X

Legacy

Optimized Systems Software purchased the original rights to the Atari Assembler Editor from Shepardson Microsystems and released an improved version as EASMD, which was superseded by MAC/65 in 1982. The Assembler Editor continued to be available from Atari and increased in popularity as the price dropped to US$10 or $5 in the latter half of the 1980s.[3]

References

  1. ^ Atari Assembler Editor User Manual (PDF). p. 63. 
  2. ^ Hague, James. "A Personal History of Compilation Speed, Part 1". Programming in the 21st Century. 
  3. ^ Ratcliff, Matthew J. W. (November 20, 1989). "Atari Assembler Editor Reference". 

External links

  • AtariAge - Atari 800/XL/XE Atari Assembler Editor CXL4003
  • Hi-Res Vol. 1, No. 1 - November 1983 Advanced User Forum by Russ Wetmore (Assemblers Reviewed)
  • AMAC Info Atari Macro Assembler Info
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.