mirror of
https://github.com/pkivolowitz/asm_book.git
synced 2026-06-23 15:36:45 +08:00
making markdown lint happier
This commit is contained in:
parent
42e79c31dc
commit
d99e803796
2 changed files with 6 additions and 7 deletions
|
|
@ -463,7 +463,6 @@ That is, subtract 8 from the stack pointer and copy `x21` to that location. Then
|
||||||
|
|
||||||
**The stack pointer in ARM V8 can only be manipulated in multiples of 16.**
|
**The stack pointer in ARM V8 can only be manipulated in multiples of 16.**
|
||||||
|
|
||||||
|
|
||||||
### Line 4
|
### Line 4
|
||||||
|
|
||||||
When a function is passed parameters, up to 8 of them can be found in the first 8 scratch registers (`x0` through `x7`). For example, recall:
|
When a function is passed parameters, up to 8 of them can be found in the first 8 scratch registers (`x0` through `x7`). For example, recall:
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,6 @@ For simplicity, let us assume that both `a` and `b` are defined as
|
||||||
language. If `a` or `b` are not pointers and are not longs, `w` registers would sneak
|
language. If `a` or `b` are not pointers and are not longs, `w` registers would sneak
|
||||||
in somewhere. See [Interlude - Registers](./section_1/regs/README.md) for more information.
|
in somewhere. See [Interlude - Registers](./section_1/regs/README.md) for more information.
|
||||||
|
|
||||||
|
|
||||||
## `if` in `AARCH64`
|
## `if` in `AARCH64`
|
||||||
|
|
||||||
Here is the above `if` statement rendered into ARM V8 assembly language:
|
Here is the above `if` statement rendered into ARM V8 assembly language:
|
||||||
|
|
@ -67,7 +66,8 @@ Handling of `>=` and `<=` follow from the above.
|
||||||
Using the state of the condition bits (which are set by the faux subtraction of `x1`
|
Using the state of the condition bits (which are set by the faux subtraction of `x1`
|
||||||
from `x0` performed by `cmp`), branch (a jump or goto) if the previous computation shows
|
from `x0` performed by `cmp`), branch (a jump or goto) if the previous computation shows
|
||||||
`less than or equal to` zero. Notice
|
`less than or equal to` zero. Notice
|
||||||
the use of the *opposite* condition as found in the `C` code. This use of the opposite condition is not a hard and fast rule. In this case, it allows the body of the `if`
|
the use of the *opposite* condition as found in the `C` code.
|
||||||
|
This use of the opposite condition is not a hard and fast rule. In this case, it allows the body of the `if`
|
||||||
statement to be written directly below the branch so as to emulate the skipping of
|
statement to be written directly below the branch so as to emulate the skipping of
|
||||||
the code block contained between the `if` statement's braces.
|
the code block contained between the `if` statement's braces.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue