Intel汇编-内联汇编使用宏函数
创始人
2024-03-30 09:10:40

/*
 * An example of using inline assembly macros in a program
 *
 * 宏函数
 */
#include

#define GREATER(a, b, result)    ({\
    asm("cmp %1, %2\n\t" \
        "jge 0f\n\t" \
        "movl %1, %0\n\t" \
        "jmp 1f\n\t" \
        "0:\n" \
        "movl %2, %0\n\t" \
        "1:\n"
        :"=r"(result) \
        :"r"(a), "r"(b)); })
        

int main()
{
    int data1 = 10;
    int data2 = 20;
    int result;

    GREATER(data1, data2, result);
    printf("a = %d, b = %d result = %d\n", data1, data2, result);

    data1 = 30;
    GREATER(data1, data2, result);
    printf("a = %d, b = %d result = %d\n", data1, data2, result);
    
    return 0;
}

相关内容

热门资讯

中证A500ETF摩根(560... 8月22日,截止午间收盘,中证A500ETF摩根(560530)涨1.19%,报1.106元,成交额...
A500ETF易方达(1593... 8月22日,截止午间收盘,A500ETF易方达(159361)涨1.28%,报1.104元,成交额1...
何小鹏斥资约2.5亿港元增持小... 每经记者|孙磊    每经编辑|裴健如 8月21日晚间,小鹏汽车发布公告称,公司联...
中证500ETF基金(1593... 8月22日,截止午间收盘,中证500ETF基金(159337)涨0.94%,报1.509元,成交额2...
中证A500ETF华安(159... 8月22日,截止午间收盘,中证A500ETF华安(159359)涨1.15%,报1.139元,成交额...