Jump to content

BBC Micro Assembly Language Programming

From RetroTechCollection

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

[edit | edit source]