===========================================================================
| 6365 | |
| 6366 | //=========================================================================== |
| 6367 | Update_t CmdRegisterSet (int nArgs) |
| 6368 | { |
| 6369 | if (nArgs < 2) // || ((g_aArgs[2].sArg[0] != '0') && !g_aArgs[2].nValue)) |
| 6370 | { |
| 6371 | return Help_Arg_1( CMD_REGISTER_SET ); |
| 6372 | } |
| 6373 | else |
| 6374 | { |
| 6375 | char *pName = g_aArgs[1].sArg; |
| 6376 | int iParam; |
| 6377 | if (FindParam( pName, MATCH_EXACT, iParam, _PARAM_REGS_BEGIN, _PARAM_REGS_END )) |
| 6378 | { |
| 6379 | int iArg = 2; |
| 6380 | if (g_aArgs[ iArg ].eToken == TOKEN_EQUAL) |
| 6381 | iArg++; |
| 6382 | |
| 6383 | if (iArg > nArgs) |
| 6384 | return Help_Arg_1( CMD_REGISTER_SET ); |
| 6385 | |
| 6386 | BYTE b = (BYTE)(g_aArgs[ iArg ].nValue & 0xFF); |
| 6387 | WORD w = (WORD)(g_aArgs[ iArg ].nValue & 0xFFFF); |
| 6388 | |
| 6389 | switch (iParam) |
| 6390 | { |
| 6391 | case PARAM_REG_A : regs.a = b; break; |
| 6392 | case PARAM_REG_PC: regs.pc = w; g_nDisasmCurAddress = regs.pc; DisasmCalcTopBotAddress(); break; |
| 6393 | case PARAM_REG_SP: regs.sp = b | 0x100; break; |
| 6394 | case PARAM_REG_X : regs.x = b; break; |
| 6395 | case PARAM_REG_Y : regs.y = b; break; |
| 6396 | case PARAM_FLAGS : regs.ps = b; break; |
| 6397 | default: return Help_Arg_1( CMD_REGISTER_SET ); |
| 6398 | } |
| 6399 | } |
| 6400 | } |
| 6401 | |
| 6402 | // g_nDisasmCurAddress = regs.pc; |
| 6403 | // DisasmCalcTopBotAddress(); |
| 6404 | |
| 6405 | return UPDATE_ALL; // 1 |
| 6406 | } |
| 6407 | |
| 6408 | |
| 6409 | // Output _________________________________________________________________________________________ |
nothing calls this directly
no test coverage detected