jmp main .origin 85 .data 100,101,103,106,110,115,121,128,136,145,155,166,178,191,205 .data 75,95,64,17,47,82,18,35,87,10,20,4,82,47,65,19,1,23,75,3,34, 88,2,77,73,7,63,67,99,65,4,28,6,16,70,92,41,41,26,56,83,40,80,70, 33,41,48,72,33,47,32,37,16,94,29,53,71,44,65,25,43,91,52,97,51,14, 70,11,33,28,77,73,17,78,39,68,17,57,91,71,52,38,17,14,91,43,58,50, 27,29,48,63,66,4,68,89,53,67,30,73,16,69,87,40,31,4,62,98,27,23, 9,70,98,73,93,38,53,60,4,23 main: mov $85,r3 mov $13,r1 oloop: cmp $0,r1 jl overoloop mov $0,r2 mov r1,r0 add $1,r0 mov 0(r3,r0),r4 ;; get ptr into row below iloop: cmp r2,r1 jl overiloop mov 0(r4,r2),r5 ;; elem below mov r2,r0 add $1,r0 mov 0(r4,r0),r15 ;; elem below and over cmp r15,r5 jl r15big mov r5,r15 r15big: mov 0(r3,r1),r14 ;; ptr into cur row add r15,0(r14,r2) add $1,r2 jmp iloop overiloop: sub $1,r1 jmp oloop overoloop: mov $100,r0 mov (r0),r0 trap $SysPutNum mov $10,r0 trap $SysPutChar trap $SysHalt
Sunday, November 17, 2013
Problem 18 - WIND
The WIND is another fictional machine introduced in my CS237 class, with an Intel-like instruction set. I re-solved problem 18 in WIND, in order to re-use my original solution to problem 18 (in Prolog) for problem 67. While WIND instructions don't exactly run super quickly (the only interpreter is one written in Java, the fastest of languages), but luckily this program was fast enough that it still ran in about .5 seconds (taking about 14000 assembly instructions)
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment