|
|
1.1 root 1: 1.1.1.2 ! root 2: void glue(glue(test_, OP), b)(long op0, long op1) 1.1 root 3: { 4: long res, s1, s0, flags; 5: s0 = op0; 6: s1 = op1; 7: res = s0; 8: flags = 0; 9: asm ("push %4\n\t" 10: "popf\n\t" 1.1.1.2 ! root 11: stringify(OP)"b %b2\n\t" 1.1 root 12: "pushf\n\t" 13: "pop %1\n\t" 14: : "=a" (res), "=g" (flags) 15: : "q" (s1), "0" (res), "1" (flags)); 16: printf("%-10s A=" FMTLX " B=" FMTLX " R=" FMTLX " CC=%04lx\n", 17: stringify(OP) "b", s0, s1, res, flags & CC_MASK); 18: } 19: 1.1.1.2 ! root 20: void glue(glue(test_, OP), w)(long op0h, long op0, long op1) 1.1 root 21: { 22: long res, s1, flags, resh; 23: s1 = op1; 24: resh = op0h; 25: res = op0; 26: flags = 0; 27: asm ("push %5\n\t" 28: "popf\n\t" 1.1.1.2 ! root 29: stringify(OP) "w %w3\n\t" 1.1 root 30: "pushf\n\t" 31: "pop %1\n\t" 32: : "=a" (res), "=g" (flags), "=d" (resh) 33: : "q" (s1), "0" (res), "1" (flags), "2" (resh)); 34: printf("%-10s AH=" FMTLX " AL=" FMTLX " B=" FMTLX " RH=" FMTLX " RL=" FMTLX " CC=%04lx\n", 35: stringify(OP) "w", op0h, op0, s1, resh, res, flags & CC_MASK); 36: } 37: 1.1.1.2 ! root 38: void glue(glue(test_, OP), l)(long op0h, long op0, long op1) 1.1 root 39: { 40: long res, s1, flags, resh; 41: s1 = op1; 42: resh = op0h; 43: res = op0; 44: flags = 0; 45: asm ("push %5\n\t" 46: "popf\n\t" 1.1.1.2 ! root 47: stringify(OP) "l %k3\n\t" 1.1 root 48: "pushf\n\t" 49: "pop %1\n\t" 50: : "=a" (res), "=g" (flags), "=d" (resh) 51: : "q" (s1), "0" (res), "1" (flags), "2" (resh)); 52: printf("%-10s AH=" FMTLX " AL=" FMTLX " B=" FMTLX " RH=" FMTLX " RL=" FMTLX " CC=%04lx\n", 53: stringify(OP) "l", op0h, op0, s1, resh, res, flags & CC_MASK); 54: } 55: 56: #if defined(__x86_64__) 1.1.1.2 ! root 57: void glue(glue(test_, OP), q)(long op0h, long op0, long op1) 1.1 root 58: { 59: long res, s1, flags, resh; 60: s1 = op1; 61: resh = op0h; 62: res = op0; 63: flags = 0; 64: asm ("push %5\n\t" 65: "popf\n\t" 1.1.1.2 ! root 66: stringify(OP) "q %3\n\t" 1.1 root 67: "pushf\n\t" 68: "pop %1\n\t" 69: : "=a" (res), "=g" (flags), "=d" (resh) 70: : "q" (s1), "0" (res), "1" (flags), "2" (resh)); 71: printf("%-10s AH=" FMTLX " AL=" FMTLX " B=" FMTLX " RH=" FMTLX " RL=" FMTLX " CC=%04lx\n", 72: stringify(OP) "q", op0h, op0, s1, resh, res, flags & CC_MASK); 73: } 74: #endif 75: 76: #undef OP
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.