Difference between revisions of "Instruction Set/call0"

From Mill Computing Wiki
Jump to: navigation, search
(Created page with "{{DISPLAYTITLE:call0}} <div style="font-size:80%;line-height:90%;margin-bottom:2em">realizing  flow stream Decode|flow bloc...")
 
 
(3 intermediate revisions by the same user not shown)
Line 4:Line 4:
 
</div>
 
</div>
  
function call
+
Call function with no return values.
 +
 
 +
An optimization for the common case of zero 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/calltr0|calltr0]], [[Instruction_Set/callfl0|callfl0]], [[Instruction_Set/retn|retn]]
 +
 
 
----
 
----
 
<code style="font-size:130%"><b style="color:#050">call0</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>)</code>
 
<code style="font-size:130%"><b style="color:#050">call0</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>)</code>
Line 25:Line 32:
 
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]]
 
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]]
 
|-
 
|-
| [[Cores/Tin/Encoding#938|Tin]] || F0 || 1
+
| [[Cores/Tin/Encoding#call0|Tin]] || F0 || 1
 
|-
 
|-
| [[Cores/Copper/Encoding#938|Copper]] || F0 F1 || 1
+
| [[Cores/Copper/Encoding#call0|Copper]] || F0 || 1
 
|-
 
|-
| [[Cores/Silver/Encoding#938|Silver]] || F0 F1 F2 || 1
+
| [[Cores/Silver/Encoding#call0|Silver]] || F0 F1 F2 || 1
 
|-
 
|-
| [[Cores/Gold/Encoding#938|Gold]] || F0 F1 F2 F3 || 1
+
| [[Cores/Gold/Encoding#call0|Gold]] || F0 || 1
|-
+
| [[Cores/Decimal8/Encoding#938|Decimal8]] || F0 F1 F2 || 1
+
|-
+
| [[Cores/Decimal16/Encoding#938|Decimal16]] || F0 F1 F2 || 1
+
 
|}
 
|}
  
Line 60:Line 63:
 
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]]
 
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]]
 
|-
 
|-
| [[Cores/Tin/Encoding#939|Tin]] || F0 || 1
+
| [[Cores/Tin/Encoding#call0|Tin]] || F0 || 1
 
|-
 
|-
| [[Cores/Copper/Encoding#939|Copper]] || F0 F1 || 1
+
| [[Cores/Copper/Encoding#call0|Copper]] || F0 || 1
 
|-
 
|-
| [[Cores/Silver/Encoding#939|Silver]] || F0 F1 F2 || 1
+
| [[Cores/Silver/Encoding#call0|Silver]] || F0 F1 F2 || 1
 
|-
 
|-
| [[Cores/Gold/Encoding#939|Gold]] || F0 F1 F2 F3 || 1
+
| [[Cores/Gold/Encoding#call0|Gold]] || F0 || 1
|-
+
| [[Cores/Decimal8/Encoding#939|Decimal8]] || F0 F1 F2 || 1
+
|-
+
| [[Cores/Decimal16/Encoding#939|Decimal16]] || F0 F1 F2 || 1
+
 
|}
 
|}
 +
 +
 +
[[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:10, 23 February 2021

realizing  flow stream  flow block  call phase   operation  

native on: all

Call function with no return values.

An optimization for the common case of zero 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: calltr0, callfl0, retn


call0(p target, args args)

operands: like Inv :


encoding: call0(op q, off target, count argc) , call0(op q, off target, count argc, lit argv) , call0(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

call0(lbl target, args args)

operands: like Inv :


encoding: call0(off target, count argc) , call0(off target, count argc, lit argv) , call0(off target, count argc, lit argv, lit argv) , call0(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