From 034bba714981e0df1abf9a6b1249cb685d0189ef Mon Sep 17 00:00:00 2001 From: Bernhard Urban Date: Fri, 17 Dec 2010 20:46:57 +0100 Subject: [PATCH] [bench] vm.s asm's now --- 8_benchs/src/vm.s | 103 +++++++++++++++++++++++----------------------- 1 file changed, 52 insertions(+), 51 deletions(-) diff --git a/8_benchs/src/vm.s b/8_benchs/src/vm.s index 1b30daf..a16b5b9 100644 --- a/8_benchs/src/vm.s +++ b/8_benchs/src/vm.s @@ -22,50 +22,6 @@ inputdata: stack: .fill 256, 0 -jumptable: -;0 -.fill 0, vm_eof -.fill 40, vm_default -;42 -.fill 1, vm_mul -;43 -.fill 1, vm_add -;44 -.fill 1, vm_default -;45 -.fill 1, vm_sub -;46-47 -.fill 2, vm_default -;48-57 -.fill 10, vm_consts -;58-59 -.fill 2, vm_default -;60 -.fill 1, vm_lessthan -;61-67 -.fill 7, vm_default -;68 -.fill 1, vm_dup -;69-72 -.fill 4, vm_default -;73 -.fill 1, vm_imm -;74 -.fill 1, vm_jmp -;75-79 -.fill 5, vm_default -;80 -.fill 1, vm_pop -;81-87 -.fill 7, vm_default -;88 -.fill 1, vm_xch -;88-125 -.fill 40, vm_default -;126 -.fill 1, vm_not -;127-255 -.fill 129, vm_default .text main: @@ -195,7 +151,6 @@ vm_lessthan: ;store r8 to sp-1 stw r8, 0-4(r3) br+ vm_loop - ;case D ;68 @@ -212,23 +167,23 @@ vm_dup: ;73 vm_imm: ;load new high byte - ldb r6, 4(pc) + ldb r6, 4(r2) ;shift high byte lls r6, r6, 8 ;load 2nd byte - ldb r7, 3(pc) + ldb r7, 3(r2) ;add to high byte add r6, r6, r7 ;shift lls r6, r6, 8 ;load - ldb r7, 2(pc) + ldb r7, 2(r2) ;add add r6, r6, r7 ;shift lls r6, r6, 8 ;load - ldb r7, 1(pc) + ldb r7, 1(r2) ;add add r6, r6, r7 ;store result to stack @@ -241,13 +196,13 @@ vm_imm: ;74 vm_jmp: ;decrement sp - sub r3, r3, 4 + subi r3, r3, 4 ;load sp ldw r6, 0(r3) ;compare to 0 cmpi r6,0 ;increment pc if == 0 - addieqD r2, r2, 4 + addideq r2, r2, 4 brnq+ vm_loop ;if != 0 ;load pc+1 input @@ -283,3 +238,49 @@ vm_not: not r6 stw r6, 0-4(r3) br+ vm_loop + +.data +jumptable: +;0 +.fill 0, vm_eof +.fill 40, vm_default +;42 +.fill 1, vm_mul +;43 +.fill 1, vm_add +;44 +.fill 1, vm_default +;45 +.fill 1, vm_sub +;46-47 +.fill 2, vm_default +;48-57 +.fill 10, vm_consts +;58-59 +.fill 2, vm_default +;60 +.fill 1, vm_lessthan +;61-67 +.fill 7, vm_default +;68 +.fill 1, vm_dup +;69-72 +.fill 4, vm_default +;73 +.fill 1, vm_imm +;74 +.fill 1, vm_jmp +;75-79 +.fill 5, vm_default +;80 +.fill 1, vm_pop +;81-87 +.fill 7, vm_default +;88 +.fill 1, vm_xch +;88-125 +.fill 40, vm_default +;126 +.fill 1, vm_not +;127-255 +.fill 129, vm_default -- 2.25.1