Difference between revisions of "Instruction Set/call"

From Mill Computing Wiki
Jump to: navigation, search
Line 26:Line 26:
 
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]]
 
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]]
 
|-
 
|-
| [[Cores/Tin/Encoding#1114|Tin]] || F0 || 1
+
| [[Cores/Tin/Encoding#call|Tin]] || F0 || 1
 
|-
 
|-
| [[Cores/Copper/Encoding#1114|Copper]] || F0 F1 || 1
+
| [[Cores/Copper/Encoding#call|Copper]] || F0 F1 || 1
 
|-
 
|-
| [[Cores/Silver/Encoding#1114|Silver]] || F0 F1 F2 || 1
+
| [[Cores/Silver/Encoding#call|Silver]] || F0 F1 F2 || 1
 
|-
 
|-
| [[Cores/Gold/Encoding#1114|Gold]] || F0 F1 F2 F3 || 1
+
| [[Cores/Gold/Encoding#call|Gold]] || F0 F1 F2 F3 || 1
 
|-
 
|-
| [[Cores/Decimal8/Encoding#1114|Decimal8]] || F0 F1 F2 || 1
+
| [[Cores/Decimal8/Encoding#call|Decimal8]] || F0 F1 F2 || 1
 
|-
 
|-
| [[Cores/Decimal16/Encoding#1114|Decimal16]] || F0 F1 F2 || 1
+
| [[Cores/Decimal16/Encoding#call|Decimal16]] || F0 F1 F2 || 1
 
|}
 
|}
  
Line 63:Line 63:
 
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]]
 
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]]
 
|-
 
|-
| [[Cores/Tin/Encoding#1115|Tin]] || F0 || 1
+
| [[Cores/Tin/Encoding#call|Tin]] || F0 || 1
 
|-
 
|-
| [[Cores/Copper/Encoding#1115|Copper]] || F0 F1 || 1
+
| [[Cores/Copper/Encoding#call|Copper]] || F0 F1 || 1
 
|-
 
|-
| [[Cores/Silver/Encoding#1115|Silver]] || F0 F1 F2 || 1
+
| [[Cores/Silver/Encoding#call|Silver]] || F0 F1 F2 || 1
 
|-
 
|-
| [[Cores/Gold/Encoding#1115|Gold]] || F0 F1 F2 F3 || 1
+
| [[Cores/Gold/Encoding#call|Gold]] || F0 F1 F2 F3 || 1
 
|-
 
|-
| [[Cores/Decimal8/Encoding#1115|Decimal8]] || F0 F1 F2 || 1
+
| [[Cores/Decimal8/Encoding#call|Decimal8]] || F0 F1 F2 || 1
 
|-
 
|-
| [[Cores/Decimal16/Encoding#1115|Decimal16]] || F0 F1 F2 || 1
+
| [[Cores/Decimal16/Encoding#call|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]

Revision as of 02:38, 16 December 2014

realizing  flow stream  flow block  call phase   operation  

native on: all

The general purpose unconditional abstract call operations you will be using when writing general assembly code. Depending on the number and order of arguments and the number of return values the assembler will pick the most dense from a myriad of different encodings. This can result in gangs or it can be a short single operation.


call(lit n, p target, args args) → ops r0 ...

operands: like Inv :

An indirect call to a dynamically computed address.

encoding: call(lit n, p target, off argv, count argc)
encoding: call(lit n, p target, off argv, count argc, lit argv)
alternate encoding: call0, call1, calln,

Core In Slots Latencies
Tin F0 1
Copper F0 F1 1
Silver F0 F1 F2 1
Gold F0 F1 F2 F3 1
Decimal8 F0 F1 F2 1
Decimal16 F0 F1 F2 1

call(lit n, lbl target, args args) → ops r0 ...

operands: like Inv :

Function is known at compile time.

encoding: call(lit n, off target, count argc)
encoding: call(lit n, off target, count argc, lit argv)
encoding: call(lit n, off target, count argc, lit argv, lit argv)
alternate encoding: call0, call1, calln,

Core In Slots Latencies
Tin F0 1
Copper F0 F1 1
Silver F0 F1 F2 1
Gold F0 F1 F2 F3 1
Decimal8 F0 F1 F2 1
Decimal16 F0 F1 F2 1


Instruction Set, alphabetical, Instruction Set by Category, Instruction Set, sortable, filterable