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;
}

相关内容

热门资讯

【营收拆解】博通 最新营收结构... 博通(AVGO)最新财报显示,公司本季度实现营业收入295.91亿美元。按业务划分:1. 产品收入2...
恶意对比拉踩!长安汽车发布声明 (来源:车联新生态)9月11日,长安汽车不实信息举报中心针对近日网传启源Q06发布会的不实信息发布声...
菲律宾海警:76人死亡,13人... 菲律宾客船起火事故死亡人数升至76人菲律宾海岸警卫队12日说,菲巴拉望省附近海域客船起火事故已造成7...
视频丨让 “看不见的服务” 被... 9月12日起,2026年服贸会迎来公众开放日。只需通过官网或公众号等平台提前预约,就可以亲临北京首钢...
三甲专家社区坐诊 七大专病门诊... 本报讯(大连新闻传媒集团/大连云记者张丽霞)“以后看眼睛,不用再往大医院跑了。”近日,在甘井子区泉水...