This report lists grammar, spelling, style, and formatting issues found by reviewing all internal DokuWiki links in toc.txt. External URLs, todo, and versions were not reviewed as editorial content.
Scope: Authors, Preface, Project Information, Introduction, Computer Architectures and all linked chapters, Programming in Assembler for IoT and Embedded Systems and chapter_4_*, Programming in Assembler for Mobiles and ARM and linked chapters, Programming in Assembler for PC and linked chapters, plus Rules for book development.
Date: 2026-06-19
Likely copy-paste, editor leftovers, or clear typos. These should be fixed before the next PDF generation.
| Page | Location | Issue | Suggested fix |
|---|---|---|---|
| Best Practices on Structural Programming | Interrupt vector layout, example line | Norwegian text embedded in English: `Example:Vis mindreKodeblokk er utvidet` | Replace with `Example:` followed by the code block only |
| Specific Elements of AVR Architecture | Figure caption `avr_architecture` | Test caption: `AVR Architecture Raivo test` | Use a proper caption, e.g. `AVR Architecture` |
| Addressing Modes | Program memory post-increment section | `As shown in Fing` | `As shown in Fig` |
| Addressing Modes | Same section | `elmp Z+` | `elpm Z+` |
| Addressing Modes | Code example | `LMP Z+` | `LPM Z+` |
| Evolution of x86 Processors | Pentium section | `I can operate with the clock frequency` | `It can operate with the clock frequency` |
| Compatibility with HLL Compilers (C++, C#) and Operating Systems | Opening paragraph | `to have the main application is written` | `to have the main application written` or `to write the main application` |
| Interrupt Controller, Interrupts | Opening paragraph | `instead is an interrupt controller in the system collects` | `instead, an interrupt controller in the system collects` |
| Interrupt Controller, Interrupts | Interrupt handling figure description | `Next jumps to the interrupt handler` | `Next, it jumps to the interrupt handler` or `Then it jumps` |
| Interrupt Controller, Interrupts | Non-maskable interrupts | `If an interrupt cannot be disabled, is called` | `If an interrupt cannot be disabled, it is called` |
| Interrupt Controller, Interrupts | Aborts list item | `program of computer behaviour` | `program or computer behaviour` |
| Preface | Target audience paragraph | `persons … possess … and knows the general concept` | `persons … possess … and know the general concept` (subject-verb agreement) |
| Page | Issue | Suggested fix | |
|---|---|---|---|
| Introduction | `microampers` | `microamperes` or `microamps` | |
| 3 Levels of Programming: C++, Libraries, Assembler | Comment in code: `agrument %0` | `argument %0` | |
| ARM Assembly Language Specifics | Image alt text | `MMachine code` → `Machine code` | |
| ARM Assembly Language Specifics | Shift options table | `ROtate Right` | `Rotate Right` |
| Instruction Set of x64 - Essentials | CMPXCHG section | `cmpxch16b` | `cmpxchg16b` |
| Fundamentals of Addressing Modes | Jump addressing example | `hypothetic jump` (line 78; line 6 already uses `hypothetical`) | Use `hypothetical` consistently |
| Project Information | Consortium image caption | `Consortium Partner's Logos` | `Consortium Partners' Logos` (plural possessive) |
| Rules for book development | Note plugin example | `some useful tip for reades` | `some useful tip for readers` |
| Page | Issue | Suggested fix | |
|---|---|---|---|
| Introduction | ESP32 paragraph: comma splice — `…the only programming language available is assembler, it is compact enough…` | Split into two sentences or join with `;` / `and` | |
| Programming in Assembler for Mobiles and ARM | `graphics processing unit(GPU)` and `digital signal processor(DSP)` | Add space before opening parenthesis | |
| Programming in Assembler for Mobiles and ARM | `The cortex-R series` | `The Cortex-R series` (consistent product naming) | |
| Programming in Assembler for Mobiles and ARM | `Cortex-X series processors … It supports up to 14 cores` | `They support up to 14 cores` (plural subject) | |
| Overview of ARM and Mobile Device Architecture | `new malwares` | `new malware` (uncountable) | |
| Overview of ARM and Mobile Device Architecture | `Such malware, like “Spectre” and “Meltdown”, perform` | `performs` (if subject is `malware`) | |
| Energy Efficient Coding | `The Linux exposes CPU frequency scaling` | `Linux exposes CPU frequency scaling` | |
| Energy Efficient Coding | Closing paragraph | Incomplete sentence: `By changing the stored path in gov_path variable and gov_value value.` | Complete the main clause |
| Addressing Modes | Displacement addressing | `The addressing with displacement calculated the sum` | `The addressing with displacement calculates the sum` |
| Addressing Modes | Direct single register addressing | `The example of such instruction can be register incrementation` | `An example of such an instruction is register increment` |
| Specific Elements of AVR Architecture | Other architectures intro | `We depict some of them shortly` | `We briefly describe some of them` |
| Data Types and Encoding | Opening paragraph | `This course will discuss` | `This chapter will discuss` or `This book discusses` |
| Instruction Set | Opening paragraph | `This course will discuss` | Same as above |
| Programming in Assembler for IoT and Embedded Systems | `Programming in an assembler requires` | `Programming in assembler requires` | |
| Programming in Assembler for IoT and Embedded Systems | `an assembler enables efficient use` | `assembler enables efficient use` | |
| Principles of Instructions Encoding | Repeat prefixes | `behaviour of instruction` | `behaviour of the instruction` |
| Instruction Set of x64 - Essentials | Undefined instructions | `invalid opcode exception (#UD) throw` | `invalid opcode exception (#UD) is raised` or `is thrown` |
| Memory, Types and Their Functions | Volatile memories section | `Volatile memory is used … Their content is lost` | `Its content is lost` (subject is singular `memory`) |
| 3 Levels of Programming: C++, Libraries, Assembler | Example heading | `Blink inbuilt LED` | `Blink built-in LED` |
| Hardware Debugging | PDI description | `PDI (Program and Debug Interface) PDI is` | Remove duplicate `PDI` or add punctuation after the definition |
| Page | Issue | Suggested fix | |
|---|---|---|---|
| Components of Processor: Registers, ALU, Bus Control, Instruction Decoder | Page title | `======Components of Processor` — missing space after `======` | `====== Components of Processor … ======` |
| Memory, Types and Their Functions | Page title | `====== Memory, Types and Their Functions======` — spacing around closing `======` | `====== Memory, Types and Their Functions ======` |
| Modern Processors: Cache, Pipeline, Superscalar, Branch Prediction, Hyperthreading | Figure `pipeline8086` alt text | Image alt: `2-stage pipeline in 8086 microprocessor` | Caption and body text describe a 4-stage pipeline — align alt text and caption with the text |
| CISC, RISC | CISC/RISC table | `Non destroying instructions` | `Non-destroying instructions` |
| Specific Elements of AVR Architecture | Subheading | `====Other Architectures====` | `==== Other Architectures ====` |
| ARM Assembly Language Specifics | GNU ARM ASM reference | `{ https://sourceware.org/binutils/docs-2.26/as/}` | Use proper DokuWiki link syntax |
| Best Practices on Structural Programming | HAL section heading | ` 1. Hardware Abstraction Layer (HAL) *` | Remove extra asterisks for consistent markup |
The book rules (Writing rules) specify UK English. The following US forms appear in reviewed pages (official document titles may stay as published):
| Page | US form found | UK form |
|---|---|---|
| Evolution of the Hardware | `revolutionizing` | `revolutionising` |
| Software Tools for AVR | `optimization` | `optimisation` |
These are not strict errors but worth standardising across the book:
The reviewed material is largely accurate and professional, especially in the computer architecture chapters (Computer Architectures). Most issues are:
Highest priority fixes: Best Practices on Structural Programming (Norwegian text), Addressing Modes (`Fing`, `elmp`, `LMP`), Evolution of x86 Processors (`I` → `It`), and Interrupt Controller, Interrupts (interrupt section grammar).
This page is a working proofread report generated by AI. It is not part of the printed book.