]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/cpu/ppc/assembler/assembler.factor
factor: trim using lists
[factor.git] / basis / cpu / ppc / assembler / assembler.factor
index 36f737154aa05c60866a1ffce7c248d979d99f31..7c8d479b58be7e256fd1101907d805187d887a5d 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2011 Erik Charlebois.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel namespaces words math math.order locals math.bitwise io.binary make ;
+USING: endian kernel make math math.bitwise ;
 IN: cpu.ppc.assembler
 
 ! This vocabulary implements the V2.06B Power ISA found at http://www.power.org.
@@ -115,16 +115,16 @@ IN: cpu.ppc.assembler
 
 ! 2.4 Branch Instructions
 GENERIC: B ( target_addr/label -- )
-M: integer B ( target_addr -- ) -2 shift 0 0 18 i-insn ;
+M: integer B -2 shift 0 0 18 i-insn ;
 
 GENERIC: BL ( target_addr/label -- )
-M: integer BL ( target_addr -- ) -2 shift 0 1 18 i-insn ;
+M: integer BL -2 shift 0 1 18 i-insn ;
 
 : BA  ( target_addr -- ) -2 shift 1 0 18 i-insn ;
 : BLA ( target_addr -- ) -2 shift 1 1 18 i-insn ;
 
 GENERIC: BC ( bo bi target_addr/label -- )
-M: integer BC ( bo bi target_addr -- ) -2 shift 0 0 16 b-insn ;
+M: integer BC -2 shift 0 0 16 b-insn ;
 
 : BCA  ( bo bi target_addr -- ) -2 shift 1 0 16 b-insn ;
 : BCL  ( bo bi target_addr -- ) -2 shift 0 1 16 b-insn ;
@@ -1949,8 +1949,8 @@ tri* 134 1 63 x-insn ;
 : CLRLDI.   ( ra rs  n -- ) 0 swap RLDICL. ;
 : CLRRDI    ( ra rs  n -- ) 0 swap 63 swap - RLDICR ;
 : CLRRDI.   ( ra rs  n -- ) 0 swap 63 swap - RLDICR. ;
-: CLRLSLDI  ( ra rs  b n -- ) swap over - RLDIC ;
-: CLRLSLDI. ( ra rs  b n -- ) swap over - RLDIC. ;
+: CLRLSLDI  ( ra rs  b n -- ) tuck - RLDIC ;
+: CLRLSLDI. ( ra rs  b n -- ) tuck - RLDIC. ;
 
 ! E.7.2 Operations on Words
 : EXTLWI    ( ra rs  n b -- ) swap 0 1 - RLWINM ;