MCPcopy Create free account
hub / github.com/AppleWin/AppleWin / CmdRegisterSet

Function CmdRegisterSet

source/Debugger/Debug.cpp:6367–6406  ·  view source on GitHub ↗

===========================================================================

Source from the content-addressed store, hash-verified

6365
6366//===========================================================================
6367Update_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 _________________________________________________________________________________________

Callers

nothing calls this directly

Calls 3

Help_Arg_1Function · 0.85
FindParamFunction · 0.85
DisasmCalcTopBotAddressFunction · 0.85

Tested by

no test coverage detected