Okay, we'll start small. "length_s_i" is backwards - should be "length_i_s".
Patch fixes code and test.
Index: basic_opcodes.ops
===================================================================
RCS file: /home/perlcvs/parrot/basic_opcodes.ops,v
retrieving revision 1.6
diff -u -r1.6 basic_opcodes.ops
--- basic_opcodes.ops 2001/09/10 21:47:25 1.6
+++ basic_opcodes.ops 2001/09/11 01:13:43
@@ -311,7 +311,7 @@
}
// LEN Ix, Sx
-AUTO_OP length_s_i {
+AUTO_OP length_i_s {
INT_REG(P1) = string_length(STR_REG(P2));
}
Index: opcode_table
===================================================================
RCS file: /home/perlcvs/parrot/opcode_table,v
retrieving revision 1.6
diff -u -r1.6 opcode_table
--- opcode_table 2001/09/10 21:26:09 1.6
+++ opcode_table 2001/09/11 01:13:44
@@ -44,7 +44,7 @@
set_s_sc 2 i i
print_s 1 i
-length_s_i 2 i i
+length_i_s 2 i i
chopn_s_ic 2 i i
# Comparators
Index: t/test2.pasm
===================================================================
RCS file: /home/perlcvs/parrot/t/test2.pasm,v
retrieving revision 1.1
diff -u -r1.1 test2.pasm
--- t/test2.pasm 2001/09/10 22:18:43 1.1
+++ t/test2.pasm 2001/09/11 01:13:44
@@ -2,7 +2,7 @@
set_i_ic I1, 0
set_s_sc S1, "Hello World"
REDO: eq_i_ic I1, I2, DONE, NEXT
-NEXT: length_s_i I1, S1
+NEXT: length_i_s I1, S1
print_s S1
chopn_s_ic S1, 1
branch_ic REDO
--
Bryan C. Warnock
[EMAIL PROTECTED]