sd:isa
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| sd:isa [2026/06/16 12:35] – appledog | sd:isa [2026/06/18 04:53] (current) – appledog | ||
|---|---|---|---|
| Line 178: | Line 178: | ||
| === Tier 4: Acceleration (LLVM / Forth / Hardware) | === Tier 4: Acceleration (LLVM / Forth / Hardware) | ||
| - | Instructions added to remove work from a specific hot path rather than to add | + | Instructions added to remove work from a specific hot path rather than to add expressiveness. Each one has a primary consumer noted below. |
| - | expressiveness. Each one has a primary consumer noted below. | + | |
| + | Canidates for inclusion: LEA, fused CMP-Bcc and CMP-Jcc, conditional move, LD_IDX16 | ||
| | # | hex | Mnemonic | Example | | # | hex | Mnemonic | Example | ||
| Line 516: | Line 517: | ||
| <codify armasm> | <codify armasm> | ||
| - | LDFLX $F000 ; loop start | + | LDFLX $F000 ; |
| - | LDA #1 | + | LDA #1 ; start at 1 |
| - | STA [FLX] | + | STA [FLX] ; write starting counter at first four bytes |
| - | LDA #1000 | + | LDA #1000 ; go until 1000 |
| - | STA [FLX+4] | + | STA [FLX+4] |
| loop: | loop: | ||
| - | LSTEPM | + | LSTEPM |
| JNZ @loop | JNZ @loop | ||
| </ | </ | ||
| - | Unlike a DEC loop it counts upward and supports an arbitrary start. | + | Unlike a DEC loop it counts upward and supports an arbitrary start. |
| - | for Forth and has been generalized by [[# | + | |
| - | LSTEPM | + | Only used by Forth. It is recommended to use LSTEP instead; this instruction |
| <wrap #ttos /> | <wrap #ttos /> | ||
sd/isa.1781613331.txt.gz · Last modified: by appledog
