]> gitweb.factorcode.org Git - factor.git/commitdiff
Docs: docs for cpu.* vocabs
authorBjörn Lindqvist <bjourne@gmail.com>
Tue, 6 May 2014 16:10:24 +0000 (18:10 +0200)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sun, 11 May 2014 00:13:48 +0000 (17:13 -0700)
basis/cpu/architecture/architecture-docs.factor
basis/cpu/x86/x86-docs.factor

index 0cb5e4c803961a245e8520c665e412c4ff9e3b93..bf92698646cc22eb9003b3f2a8fba8db83de348d 100644 (file)
@@ -1,4 +1,4 @@
-USING: help.markup help.syntax math ;
+USING: assocs cpu.x86.assembler help.markup help.syntax math system ;
 IN: cpu.architecture
 
 HELP: immediate-arithmetic?
@@ -16,3 +16,11 @@ HELP: vm-stack-space
 
 HELP: complex-addressing?
 { $description "Specifies if " { $link %slot } ", " { $link %set-slot } " and " { $link %write-barrier } " accept the 'scale' and 'tag' parameters, and if %load-memory and %store-memory work." } ;
+
+HELP: %load-immediate
+{ $values { "reg" "a register symbol" } { "val" "a value" } }
+{ $description "Emits code for loading an immediate value into a register. On " { $link x86 } ", if val is 0, then an " { $link XOR } " instruction is emitted instead of " { $link MOV } "." } ;
+
+HELP: param-regs
+{ $values { "abi" "a calling convention symbol" } { "regs" assoc } }
+{ $description "Retrieves the order in which machine registers are used for parameters for the given calling convention." } ;
index a2be230077941d015f1b7ee79efb48140acb6405..611ceb3736e61513ee5a3943dbacc8894a5a049a 100644 (file)
@@ -13,7 +13,7 @@ HELP: ds-reg
 
 HELP: (%inc)
 { $description
-  "Generates machine code for increasing or decreasing the given register a number of cell sizes bytes."
+  "Emits machine code for increasing or decreasing the given register a number of cell sizes bytes."
 }
 { $examples
   { $unchecked-example
@@ -26,12 +26,29 @@ HELP: (%inc)
 HELP: load-zone-offset
 { $values { "nursery-ptr" "a register symbol" } }
 { $description
-  "Generates machine code for loading the address to the nursery into the machine register."
+  "Emits machine code for loading the address to the nursery into the machine register."
 }
 { $examples
   { $unchecked-example
-    "USING: cpu.x86 make prettyprint ;"
+    "USING: cpu.x86 make ;"
     "[ RCX load-zone-offset ] B{ } make disassemble"
     "0000000001b48f80: 498d4d10  lea rcx, [r13+0x10]"
   }
 } ;
+
+HELP: copy-register*
+{ $values
+  { "dst" "a register symbol" }
+  { "src" "a register symbol" }
+  { "rep" "a value representation singleton" }
+}
+{ $description
+  "Emits machine code for copying from a register to another."
+}
+{ $examples
+  { $unchecked-example
+    "USING: cpu.x86 make ;"
+    "[ XMM1 XMM2 double-rep copy-register* ] B{ } make disassemble"
+    "0000000533c61fe0: 0f28ca  movaps xmm1, xmm2"
+  }
+} ;