Assembly Language Programming For The BBC Microcomputer was the first book I used to learn 6502 assembly language programming for my BBC Micro. The book begins with a gentle introduction and is example based, encouraging you to type in and understand the short programs before progressing onto larger, more complex and challenging programming techniques.
The book is a modular example based self-study guide that introduces basic concepts and builds upon them leaving exercises for the Assembly language student to consider and code solutions for. The book starts with the basics of programming Assembly language for the BBC Micro and progresses onto more complex tasks, examples and exercises. All the exercises have exemplar solutions towards the end of the book and the appendices cover the 6502 processors instruction set, block diagram of the 6502 architecture, various operating system quirks, and an in depth look at programming the User Port.
You can find out more about Assembly Language Programming For The BBC Microcomputer by searching online with the ISBN number 0333370961.