Research Article

Automatic Optimizer Generation Method Based on Location and Context Information to Improve Mobile Services

Table 1

Optimization results.

Hash.safHash.saf (optimized)hanoi.safhanoi.saf (optimized)

%Line 143:%Line 143:%Line 25:%Line 25:
scanf(“%s”, operation);scanf(“%s”, operation);if (num == 1) move(from, to); if (num == 1) move(from, to);
     ldp     ldp     lod.i   1 12     lod.i   1 12
     ldc.p  @0×0247     ldc.p    @0 × 0247     ldc.i    1     ldc.i.1
     lda   1 0     lda    1 0     eq.i     jne.i   0
     call   scanf     call    scanf     fjp     0%Line 25:
%Line 146:%Line 146:%Line 25: if (num == 1) move(from, to);
|| operation == ‘c’)|| operation == ‘c’)if (num == 1) move(from, to);     ldp
22:   nop22:   nop     ldp     lod.i   1 0
     lda   1 0     ldele.c   1 0 0     lod.i   1 0     lod.i   1 4
     ldc.i  0     cvc.i     lod.i   1 4     call     move
     cvi.ui     ldc.c    97     call     move     ujp     1
     cvui.p     cvc.i     ujp    10:    nop
     add.p     eq.i0:   nop%Line 26:
     ldi.c     dup%Line 26:else transfer(from, spare, to,
     cvc.i     tjp     25else transfer(from, spare, to,num-1);
     ldc.c  97     popnum-1);     ldp
     cvc.i     ldele.c   1 0 0     ldp     lod.i   1 0
     eq.i     cvc.i     lod.i   1 0     lod.i   1 8
     dup     ldc.c    98     lod.i   1 8     lod.i   1 4
     tjp   25     cvc.i     lod.i   1 4     lod.i   1 12
     pop     eq.i     lod.i   1 12     ldc.i.1
     lda   1 0     ldc.i    1     sub.i
     ldc.i   0     sub.i     call    transfer
     cvi.ui     call    transfer
     cvui.p
     add.p
     ldi.c
     cvc.i
     ldc.c   98
     cvc.i
     eq.i