⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 incdec_alt.c

📁 The Valgrind distribution has multiple tools. The most popular is the memory checking tool (called M
💻 C
字号:
/* A test of the alternative (redundant) encodings for {inc,dec}{w,l}. */#include <stdio.h>int r1,r2,r3,r4,r5,r6,r7,r8,a1,a2;extern void foo ( void );asm("\n""foo:\n""\tpushl $0\n""\tpopfl\n""\tmovl a1,%eax\n""\tmovl a2,%edx\n"/* inc %eax */"\t.byte 0xFF\n""\t.byte 0xC0\n""\tmovl %eax,r1\n""\tpushfl\n""\tpopl r2\n"/* inc %dx */"\t.byte 0x66\n""\t.byte 0xFF\n""\t.byte 0xC2\n""\tmovl %edx,r3\n""\tpushfl\n""\tpopl r4\n"/* dec %edx */"\t.byte 0xFF\n""\t.byte 0xCA\n""\tmovl %edx,r5\n""\tpushfl\n""\tpopl r6\n"/* dec %ax */"\t.byte 0x66\n""\t.byte 0xFF\n""\t.byte 0xC8\n""\tmovl %eax,r7\n""\tpushfl\n""\tpopl r8\n""\tret\n");int main ( void ){  a1 = 0x77777777;  a2 = 0x88888888;  r1=r2=r3=r4=r5=r6=r7=r8=0;  foo();  printf("0x%08x\n",r1);  printf("0x%08x\n",r2);  printf("0x%08x\n",r3);  printf("0x%08x\n",r4);  printf("0x%08x\n",r5);  printf("0x%08x\n",r6);  printf("0x%08x\n",r7);  printf("0x%08x\n",r8);  return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -