Skip to content

Address of functions missing in dissassembly #90

@FuzzyLitchi

Description

@FuzzyLitchi

The affected pages are these two.
https://docs.rust-embedded.org/embedonomicon/exceptions.html
https://docs.rust-embedded.org/embedonomicon/memory-layout.html

In chapter 2, it says "This is the disassembly of the .text section. We see that the reset handler, named Reset, is located at address 0x8." but that cannot be seen in the disassembly. In chapter 4 there is a similar mistake; the book says "The address of the Reset handler can be seen in the disassembly above, being 0x44." but this can't be seen.

A different oddity is that in Chapter 4 it says that address 0x0000_0045 means "jump to address 0x44". This lines up with what I expect from the explanation. We read the address, the lowest bit is 1, so function is run in "thumb mode" and we consider the actual address to be 0x44 since that is 0x45 with the lowest bit set to 0.
But then it says the address 0x83, which is 0b1000_0011, should be understood as 0x84 which is 0b1000_0100. This doesn't make sense to me.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions