BBC Micro Assembly Language Programming
Assembly Language Programming for the BBC Microcomputer is a textbook by Ian Birnbaum, published by Macmillan Publishers Ltd, Houndmills, Basingstoke, in the Macmillan Microcomputer Books series (ISBN 0-333-37096-1). The hosted PDF is the second edition (1984; first edition 1982, reprinted 1982 and three times in 1983; second edition reprinted 1985) in a retypeset remaster dated "first revision September 2017", with a text layer. The printed book has 322 numbered pages plus preliminary pages to xi.
It is not an Acorn publication. It is a course in 6502 assembly language using the BBC Micro's built-in BASIC assembler. A cassette of the book's programs was sold separately (ISBN 0-333-38267-6) and is not part of the file.
Contents
[edit | edit source]| Chapter | Page |
|---|---|
| Prefaces to the first and second editions | ix, xi |
| 1 Preliminary ideas | 1 |
| 2 Assignments | 12 |
| 3 Addition and subtraction | 23 |
| 4 Decision-making in assembly language | 37 |
| 5 Loop structure in assembly language | 59 |
| 6 Indexed addressing | 74 |
| 7 Indirect indexed addressing | 102 |
| 8 Multiplication and division | 124 |
| 9 The stack: subroutines and interrupts | 151 |
| 10 Some utility programs (RETRIEVE, INTSORT, STRINGSORT, REMSPACE, MEMORYHUNT, MC-MONITOR) | 189 |
| Appendices 1–8: 6502 instruction set (225); block diagram of the 6502 (246); indexed indirect addressing (247); floating-point representation (251); flowchart symbols (254); further uses of OPT (255); the user port (256); differences between BASIC 1 and BASIC 2 (268) | 225–268 |
| Answers to exercises | 269 |
| Index; details of cassette | 318, 322 |
What it settles
[edit | edit source]- Appendix 7 (pp. 256–267) describes the 6522 VIA behind the user port and printer port, mapped at &FE60–&FE6F, register by register.
- Appendix 8 (p. 268) is a one-page note on BASIC 2's additions for assembly programmers (the EQU functions and extended OPT) with a table of BASIC 1 equivalents for the BASIC 2 addresses used in chapter 6. To tell the versions apart, type REPORT: a 1982 copyright date means BASIC 2.
What this book does not contain
[edit | edit source]- Any hardware service content: no circuit diagram, parts list, fault-finding or power supply information.
- Operating system internals beyond what the course needs. For OSBYTE, vectors, the VIAs and the video circuits, see BBC Micro Advanced User Guide.
- The cassette's programs.
Download: BBC_Micro_Assembly_Language_Programming.pdf