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

相关内容

热门资讯

商务部:2026年重点做好提振... 转自:证券日报    本报记者 刘萌    据商务部消息,全国商务工作会议1月10日至11日在京召开...
兵团大数据招商一年引来超百亿元... 本报乌鲁木齐讯(全媒体记者 张美玲) “兵团招商人员通过大数据电子招商平台,为我们精准匹配了五师...
“个人医保云”试点申报启动将提... 转自:证券日报    新华社北京1月11日电(记者 彭韵佳)国家医保局1月11日发布文件,开展“个人...
“个人医保云”试点申报启动 新华社北京1月11日电(记者 彭韵佳) 国家医保局1月11日发布文件,开展“个人医保云”建设试点...
专业引领、街区共治,社区规划师... 近年来,上海全力推进旧区改造和社区更新,推进过程中往往面临多元利益诉求交织的复杂局面,如何广泛协商,...