From 1892608f1ecb81ea328bfdc80b87cce3f3ce7113 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Mon, 13 May 2019 00:03:40 -0700 Subject: [PATCH] . Correct some confusing log messages. --- subx/013direct_addressing.cc | 18 +++++++++--------- subx/014indirect_addressing.cc | 22 +++++++++++----------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/subx/013direct_addressing.cc b/subx/013direct_addressing.cc index 87983e3d..b2a4bbca 100644 --- a/subx/013direct_addressing.cc +++ b/subx/013direct_addressing.cc @@ -770,11 +770,11 @@ void test_compare_r32_with_r32_greater() { run( "== 0x1\n" // code segment // op ModR/M SIB displacement immediate - " 39 d8 \n" // compare EBX with EAX + " 39 d8 \n" // compare EAX with EBX // ModR/M in binary: 11 (direct mode) 011 (src EBX) 000 (dest EAX) ); CHECK_TRACE_CONTENTS( - "run: compare EBX with r/m32\n" + "run: compare r/m32 with EBX\n" "run: r/m32 is EAX\n" "run: SF=0; ZF=0; CF=0; OF=0\n" ); @@ -784,7 +784,7 @@ void test_compare_r32_with_r32_greater() { case 0x39: { // set SF if r/m32 < r32 const uint8_t modrm = next(); const uint8_t reg2 = (modrm>>3)&0x7; - trace(Callstack_depth+1, "run") << "compare " << rname(reg2) << " with r/m32" << end(); + trace(Callstack_depth+1, "run") << "compare r/m32 with " << rname(reg2) << end(); const int32_t* signed_arg1 = effective_address(modrm); const int32_t signed_arg2 = Reg[reg2].i; const int32_t signed_difference = *signed_arg1 - signed_arg2; @@ -808,11 +808,11 @@ void test_compare_r32_with_r32_lesser() { run( "== 0x1\n" // code segment // op ModR/M SIB displacement immediate - " 39 d8 \n" // compare EBX with EAX + " 39 d8 \n" // compare EAX with EBX // ModR/M in binary: 11 (direct mode) 011 (src EBX) 000 (dest EAX) ); CHECK_TRACE_CONTENTS( - "run: compare EBX with r/m32\n" + "run: compare r/m32 with EBX\n" "run: r/m32 is EAX\n" "run: SF=1; ZF=0; CF=0; OF=0\n" ); @@ -824,11 +824,11 @@ void test_compare_r32_with_r32_lesser_unsigned() { run( "== 0x1\n" // code segment // op ModR/M SIB displacement immediate - " 39 d8 \n" // compare EBX with EAX + " 39 d8 \n" // compare EAX with EBX // ModR/M in binary: 11 (direct mode) 011 (src EBX) 000 (dest EAX) ); CHECK_TRACE_CONTENTS( - "run: compare EBX with r/m32\n" + "run: compare r/m32 with EBX\n" "run: r/m32 is EAX\n" "run: SF=1; ZF=0; CF=1; OF=0\n" ); @@ -840,11 +840,11 @@ void test_compare_r32_with_r32_equal() { run( "== 0x1\n" // code segment // op ModR/M SIB displacement immediate - " 39 d8 \n" // compare EBX with EAX + " 39 d8 \n" // compare EAX and EBX // ModR/M in binary: 11 (direct mode) 011 (src EBX) 000 (dest EAX) ); CHECK_TRACE_CONTENTS( - "run: compare EBX with r/m32\n" + "run: compare r/m32 with EBX\n" "run: r/m32 is EAX\n" "run: SF=0; ZF=1; CF=0; OF=0\n" ); diff --git a/subx/014indirect_addressing.cc b/subx/014indirect_addressing.cc index 4b891f99..89e1d88f 100644 --- a/subx/014indirect_addressing.cc +++ b/subx/014indirect_addressing.cc @@ -358,13 +358,13 @@ void test_compare_mem_at_r32_with_r32_greater() { run( "== 0x1\n" // code segment // op ModR/M SIB displacement immediate - " 39 18 \n" // compare EBX with *EAX + " 39 18 \n" // compare *EAX with EBX // ModR/M in binary: 00 (indirect mode) 011 (src EAX) 000 (dest EAX) "== 0x2000\n" // data segment "0d 0c 0b 0a\n" // 0x0a0b0c0d ); CHECK_TRACE_CONTENTS( - "run: compare EBX with r/m32\n" + "run: compare r/m32 with EBX\n" "run: effective address is 0x00002000 (EAX)\n" "run: SF=0; ZF=0; CF=0; OF=0\n" ); @@ -377,13 +377,13 @@ void test_compare_mem_at_r32_with_r32_lesser() { run( "== 0x1\n" // code segment // op ModR/M SIB displacement immediate - " 39 18 \n" // compare EBX with *EAX + " 39 18 \n" // compare *EAX with EBX // ModR/M in binary: 00 (indirect mode) 011 (src EAX) 000 (dest EAX) "== 0x2000\n" // data segment "07 0c 0b 0a\n" // 0x0a0b0c0d ); CHECK_TRACE_CONTENTS( - "run: compare EBX with r/m32\n" + "run: compare r/m32 with EBX\n" "run: effective address is 0x00002000 (EAX)\n" "run: SF=1; ZF=0; CF=0; OF=0\n" ); @@ -396,13 +396,13 @@ void test_compare_mem_at_r32_with_r32_equal() { run( "== 0x1\n" // code segment // op ModR/M SIB displacement immediate - " 39 18 \n" // compare EBX with *EAX + " 39 18 \n" // compare *EAX and EBX // ModR/M in binary: 00 (indirect mode) 011 (src EAX) 000 (dest EAX) "== 0x2000\n" // data segment "0d 0c 0b 0a\n" // 0x0a0b0c0d ); CHECK_TRACE_CONTENTS( - "run: compare EBX with r/m32\n" + "run: compare r/m32 with EBX\n" "run: effective address is 0x00002000 (EAX)\n" "run: SF=0; ZF=1; CF=0; OF=0\n" ); @@ -420,13 +420,13 @@ void test_compare_r32_with_mem_at_r32_greater() { run( "== 0x1\n" // code segment // op ModR/M SIB displacement immediate - " 3b 18 \n" // compare *EAX with EBX + " 3b 18 \n" // compare EBX with *EAX // ModR/M in binary: 00 (indirect mode) 011 (src EAX) 000 (dest EAX) "== 0x2000\n" // data segment "07 0c 0b 0a\n" // 0x0a0b0c0d ); CHECK_TRACE_CONTENTS( - "run: compare r/m32 with EBX\n" + "run: compare EBX with r/m32\n" "run: effective address is 0x00002000 (EAX)\n" "run: SF=0; ZF=0; CF=0; OF=0\n" ); @@ -436,7 +436,7 @@ void test_compare_r32_with_mem_at_r32_greater() { case 0x3b: { // set SF if r32 < r/m32 const uint8_t modrm = next(); const uint8_t reg1 = (modrm>>3)&0x7; - trace(Callstack_depth+1, "run") << "compare r/m32 with " << rname(reg1) << end(); + trace(Callstack_depth+1, "run") << "compare " << rname(reg1) << " with r/m32" << end(); const int32_t signed_arg1 = Reg[reg1].i; const int32_t* signed_arg2 = effective_address(modrm); const int32_t signed_difference = signed_arg1 - *signed_arg2; @@ -466,7 +466,7 @@ void test_compare_r32_with_mem_at_r32_lesser() { "0d 0c 0b 0a\n" // 0x0a0b0c0d ); CHECK_TRACE_CONTENTS( - "run: compare r/m32 with EBX\n" + "run: compare EBX with r/m32\n" "run: effective address is 0x00002000 (EAX)\n" "run: SF=1; ZF=0; CF=0; OF=0\n" ); @@ -485,7 +485,7 @@ void test_compare_r32_with_mem_at_r32_equal() { "0d 0c 0b 0a\n" // 0x0a0b0c0d ); CHECK_TRACE_CONTENTS( - "run: compare r/m32 with EBX\n" + "run: compare EBX with r/m32\n" "run: effective address is 0x00002000 (EAX)\n" "run: SF=0; ZF=1; CF=0; OF=0\n" );