===========================================================================
| 2389 | |
| 2390 | //=========================================================================== |
| 2391 | Update_t CmdAssemble (int nArgs) |
| 2392 | { |
| 2393 | if (! g_bAssemblerOpcodesHashed) |
| 2394 | { |
| 2395 | AssemblerStartup(); |
| 2396 | g_bAssemblerOpcodesHashed = true; |
| 2397 | } |
| 2398 | |
| 2399 | // 0 : A |
| 2400 | // 1 : A address |
| 2401 | // 2+: A address mnemonic... |
| 2402 | |
| 2403 | if (nArgs > 0) |
| 2404 | g_nAssemblerAddress = g_aArgs[1].nValue; |
| 2405 | |
| 2406 | // move disassembler window to current assembler address |
| 2407 | g_nDisasmCurAddress = g_nAssemblerAddress; // (2) |
| 2408 | WindowUpdateDisasmSize(); // calc cur line |
| 2409 | DisasmCalcTopBotAddress(); |
| 2410 | |
| 2411 | if (! nArgs) |
| 2412 | { |
| 2413 | // return Help_Arg_1( CMD_ASSEMBLE ); |
| 2414 | |
| 2415 | // Start assembler, continue with last assembled address |
| 2416 | AssemblerOn(); |
| 2417 | return UPDATE_CONSOLE_DISPLAY; |
| 2418 | } |
| 2419 | |
| 2420 | if (nArgs == 1) |
| 2421 | { |
| 2422 | int iArg = 1; |
| 2423 | |
| 2424 | // undocumented ASM * |
| 2425 | if ((! strcmp( g_aArgs[ iArg ].sArg, g_aParameters[ PARAM_WILDSTAR ].m_sName )) || |
| 2426 | (! strcmp( g_aArgs[ iArg ].sArg, g_aParameters[ PARAM_MEM_SEARCH_WILD ].m_sName )) ) |
| 2427 | { |
| 2428 | _CmdAssembleHashDump(); |
| 2429 | } |
| 2430 | |
| 2431 | AssemblerOn(); |
| 2432 | return UPDATE_CONSOLE_DISPLAY; |
| 2433 | |
| 2434 | // return Help_Arg_1( CMD_ASSEMBLE ); |
| 2435 | } |
| 2436 | |
| 2437 | if (nArgs > 1) |
| 2438 | { |
| 2439 | return _CmdAssemble( g_nAssemblerAddress, 2, nArgs ); // disasm, memory, watches, zeropage |
| 2440 | } |
| 2441 | |
| 2442 | // return Help_Arg_1( CMD_ASSEMBLE ); |
| 2443 | // g_nAssemblerAddress; // g_aArgs[1].nValue; |
| 2444 | // return ConsoleUpdate(); |
| 2445 | |
| 2446 | return UPDATE_CONSOLE_DISPLAY; |
| 2447 | } |
| 2448 |
nothing calls this directly
no test coverage detected