User Tools

Site Tools


sd:isa

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
sd:isa [2026/05/13 15:11] appledogsd:isa [2026/06/10 04:36] (current) appledog
Line 38: Line 38:
 | 67 | JC      | JC @label     | Jump if carry set   | None | | 67 | JC      | JC @label     | Jump if carry set   | None |
 | 68 | JNC     | JNC @label    | Jump if carry clear | None | | 68 | JNC     | JNC @label    | Jump if carry clear | None |
-| 84 | CALL    | CALL @label   | Call subroutine (push IP, jump) | |+| 84 | [[#call|CALL]]    | CALL @label   | Call subroutine (push IP, jump) | |
 | 85 | RET                   | Return from subroutine (pop IP) | | | 85 | RET                   | Return from subroutine (pop IP) | |
 | 86 | INT     | INT 0x10      | Software interrupt | | | 86 | INT     | INT 0x10      | Software interrupt | |
Line 193: Line 193:
 == Dictionary == Dictionary
 here you will find information about each opcode. here you will find information about each opcode.
 +
 +<wrap #call /><wrap #call /><wrap #callr /><wrap #callr />
 +**''CALL addr / CALL reg / CALLR reg''**\\ CALL pushes the return address of the next instruction and jumps to the location.
 +
 +The CALLR instruction takes a register operand and dispatches based on the register's size: 16-bit registers use the current bank combined with a 16-bit address, 8-bit registers work similarly, and 24-bit registers provide a full 24-bit address. For function pointers stored in 32-bit register pairs like AB, CALLR will convert the address to 24 bits by discarding the high byte.
  
 <wrap #sez /><wrap #sen /><wrap #sec /><wrap #sev /> <wrap #sez /><wrap #sen /><wrap #sec /><wrap #sev />
sd/isa.1778685093.txt.gz · Last modified: by appledog

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki