Difference between revisions of "Instruction Set/call1"
m (Protected "Instruction Set/call1": generated ([Edit=<protect-level-bot>] (indefinite) [Move=<protect-level-bot>] (indefinite))) | |||
(One intermediate revision by the same user not shown) | |||
Line 4: | Line 4: | ||
</div> | </div> | ||
− | function call | + | Call function with one return value. |
+ | |||
+ | An optimization for the common case of one return value functions. There are only gang encodings of this, for functions with more arguments than the one slot [[Instruction_Set/call|call]] operations can accomodate. | ||
+ | |||
+ | As with all ganged call operations, the target address is always in the last gang slot. | ||
+ | |||
+ | <b>related operations:</b> [[Instruction_Set/calltr1|calltr1]], [[Instruction_Set/callfl1|callfl1]], [[Instruction_Set/retn|retn]] | ||
+ | |||
---- | ---- | ||
<code style="font-size:130%"><b style="color:#050">call1</b>(<span style="color:#009">[[Domains#p|p]]</span> <span title="call argument from calls window">target</span>, <span style="color:#009">[[Domains#args|args]]</span> <span title="zero or more call arguments from calls window">args</span>) → [[Domains|op]] r</code> | <code style="font-size:130%"><b style="color:#050">call1</b>(<span style="color:#009">[[Domains#p|p]]</span> <span title="call argument from calls window">target</span>, <span style="color:#009">[[Domains#args|args]]</span> <span title="zero or more call arguments from calls window">args</span>) → [[Domains|op]] r</code> | ||
Line 27: | Line 34: | ||
| [[Cores/Tin/Encoding#call1|Tin]] || F0 || 1 | | [[Cores/Tin/Encoding#call1|Tin]] || F0 || 1 | ||
|- | |- | ||
− | | [[Cores/Copper/Encoding#call1|Copper]] || F0 | + | | [[Cores/Copper/Encoding#call1|Copper]] || F0 || 1 |
|- | |- | ||
| [[Cores/Silver/Encoding#call1|Silver]] || F0 F1 F2 || 1 | | [[Cores/Silver/Encoding#call1|Silver]] || F0 F1 F2 || 1 | ||
|- | |- | ||
− | | [[Cores/Gold/Encoding#call1|Gold]] || F0 | + | | [[Cores/Gold/Encoding#call1|Gold]] || F0 || 1 |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
Line 62: | Line 65: | ||
| [[Cores/Tin/Encoding#call1|Tin]] || F0 || 1 | | [[Cores/Tin/Encoding#call1|Tin]] || F0 || 1 | ||
|- | |- | ||
− | | [[Cores/Copper/Encoding#call1|Copper]] || F0 | + | | [[Cores/Copper/Encoding#call1|Copper]] || F0 || 1 |
|- | |- | ||
| [[Cores/Silver/Encoding#call1|Silver]] || F0 F1 F2 || 1 | | [[Cores/Silver/Encoding#call1|Silver]] || F0 F1 F2 || 1 | ||
|- | |- | ||
− | | [[Cores/Gold/Encoding#call1|Gold]] || F0 | + | | [[Cores/Gold/Encoding#call1|Gold]] || F0 || 1 |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
[[Instruction_Set|Instruction Set, alphabetical]], [[Instruction Set by Category]], [http://millcomputing.com/instructions.html?collapse=7#ops Instruction Set, sortable, filterable] | [[Instruction_Set|Instruction Set, alphabetical]], [[Instruction Set by Category]], [http://millcomputing.com/instructions.html?collapse=7#ops Instruction Set, sortable, filterable] |
Latest revision as of 14:12, 23 February 2021
Call function with one return value.
An optimization for the common case of one return value functions. There are only gang encodings of this, for functions with more arguments than the one slot call operations can accomodate.
As with all ganged call operations, the target address is always in the last gang slot.
related operations: calltr1, callfl1, retn
call1(p target, args args) → op r
encoding:
call1(op q, off target, count argc)
,
call1(op q, off target, count argc, lit argv)
,
call1(op q, off target, count argc, lit argv, lit argv)
Core | In Slots | Latencies |
---|---|---|
Tin | F0 | 1 |
Copper | F0 | 1 |
Silver | F0 F1 F2 | 1 |
Gold | F0 | 1 |
call1(lbl target, args args) → op r
encoding:
call1(off target, count argc)
,
call1(off target, count argc, lit argv)
,
call1(off target, count argc, lit argv, lit argv)
,
call1(off target, count argc, lit argv, lit argv, lit argv)
Core | In Slots | Latencies |
---|---|---|
Tin | F0 | 1 |
Copper | F0 | 1 |
Silver | F0 F1 F2 | 1 |
Gold | F0 | 1 |
Instruction Set, alphabetical, Instruction Set by Category, Instruction Set, sortable, filterable