Skip to content

Assembly Language Examples

danieltan1517 edited this page Jan 2, 2026 · 21 revisions

Min using cmovle

This code example makes use of the cmovle assembly instruction to compare two 64-bit integer values and return the minimum between integer variables a and b.

min :: (a: int, b: int) -> int {
    ret: int;
    #asm {
        a === di;
        b === si;
        ret === a;
        cmp.64     a, b;
        mov.64     ret, b;
        cmovle.64  ret, a;
    }
    return ret;
}

Max using cmovge

This code example makes use of the cmovge assembly instruction to compare two 64-bit integer values and return the maximum between integer variables a and b.

max :: (a: int, b: int) -> int {
    ret: int;
    #asm {
        a === di;
        b === si;
        ret === a;
        cmp.64     a, b;
        mov.64     ret, b;
        cmovge.64  ret, a;
    }
    return ret;
}

Clone this wiki locally