Public feed #528971

Stuff

public text v1 · immutable
Raw Edit
·published 2007-06-01 19:11 UTC
rendered paste body
register        variabel        INPUT                        OUTPUT
R7                a                pm[i] + c
R8                b                mm[i-1] + gap_row[i]        min (a, b, c)
R9                c                pm[i-1] + alg_row[i]        DELETE|ALIGN|INSERT

R10                                $0x0        (*
R11L                                $0x2    (*

(*) Observera! Dessa register är konstanter och assignas endast en gång utanför loopen.

  4   2   1    <- bitar som motsvarar DELETE|ALIGN|INSERT
 -----------
| c | b | a |  <- denoterar vilken(a) variabel(er) som är minst(a)
 -----------

Programmet som räknar ut min(a, b, c) samt ger bitmask enligt protokoll:

1.        CMP         R7, R8
2.        CMOVG        R7, R8
3.        MOV        $0x0, R7
4.        SETGE        R7L
5.        CMOVLE        R11L, R7H
6.        CMP        R8, R9
7.        CMOVG        R8, R9
8.        MOV        0x4, R8
9.        CMOVG        R10, R8
10.        CMOVL        R10, R7
11.        ADD        R7H, R7L
12.        ADD        R7L, R8L