Remove obsolescent macro AM_PROG_CC_C_O
[emu8051.git] / src / emuconsole.c
index 147f524..f29146d 100644 (file)
@@ -69,7 +69,7 @@ console_exec(char *Address, char *NumberInst)
                return;
        }
 
-       if (STREQ(Address, "PC"))
+       if (!STREQ(Address, "PC"))
                cpu8051.pc = Ascii2Hex(Address, strlen(Address));
 
        if (NumberInst)
@@ -110,6 +110,9 @@ DisasmN(unsigned int Address, int NumberInst)
        for (Row = 0; Row < NumberInst ; Row++) {
                Address += cpu8051_Disasm(Address, TextTmp);
                printf("%s\n", TextTmp);
+
+               if (Address > 0xFFFF)
+                       return;
        }
 }
 
@@ -269,7 +272,7 @@ console_main(void)
                "  Display Registers content... DR",
                "  Execute..................... EM [address"
                " [number of instructions]]",
-               "  Help........................ H",
+               "  Help........................ H or ?",
                "  Modify External Data Memory. ME address value",
                "  Modify Internal Data Memory. MI address value",
                "  Modify Program Memory....... MP address value",
@@ -394,7 +397,9 @@ console_main(void)
                                goto syntax_error;
                        break;
                case 'H':
-                       if (STREQ(Command, "H") && (strlen(Parameter1) == 0) &&
+               case '?':
+                       if ((STREQ(Command, "H") || STREQ(Command, "?")) &&
+                           (strlen(Parameter1) == 0) &&
                            (strlen(Parameter2) == 0)) {
                                Index = 0;
                                while (Menu[Index] != 0)