clc.c
来自「The Valgrind distribution has multiple t」· C语言 代码 · 共 62 行
C
62 行
#include <stdio.h>typedef unsigned long long int ULong;ULong do_clc ( void ){ ULong res; __asm__ __volatile__( "pushq $0x8d5\n\t" /* OSZACP */ "popfq\n\t" "clc\n\t" "pushfq\n\t" "popq %0" : "=r"(res) : : "memory", "cc" ); return res;}ULong do_stc ( void ){ ULong res; __asm__ __volatile__( "pushq $0x0\n\t" "popfq\n\t" "stc\n\t" "pushfq\n\t" "popq %0" : "=r"(res) : : "memory", "cc" ); return res;}ULong do_cmc ( void ){ ULong res; __asm__ __volatile__( "pushq $0x0\n\t" "popfq\n\t" "stc\n\t" "cmc\n\t" "pushfq\n\t" "popq %0" : "=r"(res) : : "memory", "cc" ); return res;}int main ( void ){ printf("clc: 0x%016llx\n", 0x8d5 & do_clc()); printf("stc: 0x%016llx\n", 0x8d5 & do_stc()); printf("cmc: 0x%016llx\n", 0x8d5 & do_cmc()); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?