| 169 | } |
| 170 | |
| 171 | void debug_step(int mode, uint32_t addr) { |
| 172 | switch (mode) { |
| 173 | case DBG_STEP_IN: |
| 174 | debug.step = true; |
| 175 | break; |
| 176 | case DBG_STEP_OVER: |
| 177 | debug.step = true; |
| 178 | debug.stepOver = true; |
| 179 | break; |
| 180 | case DBG_STEP_OUT: |
| 181 | gui_debug_close(); |
| 182 | debug.stepOut = debug.stackIndex; |
| 183 | break; |
| 184 | case DBG_STEP_NEXT: |
| 185 | case DBG_RUN_UNTIL: |
| 186 | gui_debug_close(); |
| 187 | debug.tempExec = addr; |
| 188 | break; |
| 189 | case DBG_BASIC_STEP_IN: |
| 190 | case DBG_BASIC_STEP_NEXT: |
| 191 | gui_debug_close(); |
| 192 | debug.stepBasic = true; |
| 193 | debug.stepBasicNext = (mode == DBG_BASIC_STEP_NEXT); |
| 194 | debug.stepBasicFromPC = debug.basicLastHookPC; |
| 195 | debug.stepBasicBegin = addr; |
| 196 | debug.stepBasicEnd = addr >> 16; |
| 197 | debug_get_executing_basic_prgm(debug.stepBasicPrgm); |
| 198 | break; |
| 199 | } |
| 200 | } |
| 201 | |
| 202 | void debug_clear_step(void) { |
| 203 | debug.step = debug.stepOver = false; |
no test coverage detected