diff options
Diffstat (limited to '021div.cc')
-rw-r--r-- | 021div.cc | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/021div.cc b/021div.cc deleted file mode 100644 index 15ed89d8..00000000 --- a/021div.cc +++ /dev/null @@ -1,38 +0,0 @@ -//: helper for division operations: sign-extend EAX into EDX - -:(before "End Initialize Op Names") -put_new(Name, "99", "sign-extend EAX into EDX (cdq)"); - -:(code) -void test_cdq() { - Reg[EAX].i = 10; - run( - "== code 0x1\n" - "99\n" - ); - CHECK_TRACE_CONTENTS( - "run: sign-extend EAX into EDX\n" - "run: EDX is now 0x00000000\n" - ); -} - -:(before "End Single-Byte Opcodes") -case 0x99: { // sign-extend EAX into EDX - trace(Callstack_depth+1, "run") << "sign-extend EAX into EDX" << end(); - Reg[EDX].i = (Reg[EAX].i < 0) ? -1 : 0; - trace(Callstack_depth+1, "run") << "EDX is now 0x" << HEXWORD << Reg[EDX].u << end(); - break; -} - -:(code) -void test_cdq_negative() { - Reg[EAX].i = -10; - run( - "== code 0x1\n" - "99\n" - ); - CHECK_TRACE_CONTENTS( - "run: sign-extend EAX into EDX\n" - "run: EDX is now 0xffffffff\n" - ); -} |