Mercurial > repos > blastem
comparison backend_x86.c @ 2400:c97609fe8315
Implement watchpoints in Z80 debugger
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 23 Dec 2023 23:03:31 -0800 |
parents | bf4f1a8d1d48 |
children |
comparison
equal
deleted
inserted
replaced
2399:68eba54b60f7 | 2400:c97609fe8315 |
---|---|
136 cmp_rdispr(code, opts->context_reg, opts->watchpoint_range_off, adr_reg, opts->address_size); | 136 cmp_rdispr(code, opts->context_reg, opts->watchpoint_range_off, adr_reg, opts->address_size); |
137 code_ptr watch_lb = code->cur + 1; | 137 code_ptr watch_lb = code->cur + 1; |
138 jcc(code, CC_C, code->cur + 2); | 138 jcc(code, CC_C, code->cur + 2); |
139 cmp_rdispr(code, opts->context_reg, opts->watchpoint_range_off + (opts->address_size == SZ_D ? 4 : 2), adr_reg, opts->address_size); | 139 cmp_rdispr(code, opts->context_reg, opts->watchpoint_range_off + (opts->address_size == SZ_D ? 4 : 2), adr_reg, opts->address_size); |
140 code_ptr watch_ub = code->cur + 1; | 140 code_ptr watch_ub = code->cur + 1; |
141 jcc(code, CC_NC, code->cur + 2); | 141 jcc(code, CC_A, code->cur + 2); |
142 | 142 |
143 push_r(code, opts->scratch1); | 143 push_r(code, opts->scratch1); |
144 push_r(code, opts->scratch2); | 144 push_r(code, opts->scratch2); |
145 call(code, opts->save_context); | 145 call(code, opts->save_context); |
146 call_args_abi(code, check_watchpoints, 3, opts->scratch2, opts->context_reg, opts->scratch1); | 146 call_args_abi(code, check_watchpoints, 3, opts->scratch2, opts->context_reg, opts->scratch1); |