Table of Contents

AI automatic proofread

Prompt: Using the links in toc.txt as the basis, go through all those pages and check whether you can find grammar errors or other problematic spelling issues.

MultiASM TOC proofread report

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


Critical / obvious errors

Likely copy-paste, editor leftovers, or clear typos. These should be fixed before the next PDF generation.

Table 1: Critical issues
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)

Spelling and terminology

Table 2: Spelling and terminology
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`

Grammar and style

Table 3: Grammar and style
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

Formatting and consistency

Table 4: Formatting and consistency
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

UK vs US English

The book rules (Writing rules) specify UK English. The following US forms appear in reviewed pages (official document titles may stay as published):

Table 5: UK vs US English
Page US form found UK form
Evolution of the Hardware `revolutionizing` `revolutionising`
Software Tools for AVR `optimization` `optimisation`
References to vendor documents such as “Intel® 64 and IA-32 Architectures Optimization” and “Software Optimization Guide” should retain the original published titles.

Terminology notes (optional improvements)

These are not strict errors but worth standardising across the book:


Overall assessment

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.