X-Git-Url: http://cloudbase.mooo.com/gitweb/avrcpm.git/blobdiff_plain/5482d75ffeb537629e1fe0a82c3eb22986dcbbc5..d8fa6a36ffba80be398c90641b3e7e7a79d56d43:/avr/utils.asm diff --git a/avr/utils.asm b/avr/utils.asm index 0e7e0c3..155c027 100644 --- a/avr/utils.asm +++ b/avr/utils.asm @@ -203,20 +203,94 @@ printstr_end: ret ; --------------- Debugging stuff --------------- -; Print a line with the Z80 main registers +; Print a line with the 8080/Z80 registers -;.if INS_DEBUG +printregs: + mov temp,z_flags + rcall printflags + printstring " A =" + mov temp,z_a + rcall printhex + printstring " BC =" + ldd temp2,y+oz_b + ldd temp,y+oz_c + rcall printhexw + printstring " DE =" + ldd temp2,y+oz_d + ldd temp,y+oz_e + rcall printhexw + printstring " HL =" + ldd temp2,y+oz_h + ldd temp,y+oz_l + rcall printhexw + printstring " SP=" + movw temp, z_spl + rcall printhexw + printstring " PC=" + movw temp, z_pcl + rcall printhexw + printstring " " + movw xl,z_pcl + lcall dram_read_pp + rcall printhex + printstring " " + lcall dram_read_pp + rcall printhex + printstring " " + lcall dram_read + rcall printhex + printstring " " +#if EM_Z80 + ldd temp,y+oz_f2 + rcall printflags + printstring " a'=" + ldd temp,y+oz_a2 + rcall printhex + printstring " bc'=" + ldd temp2,y+oz_b2 + ldd temp,y+oz_c2 + rcall printhexw + printstring " de'=" + ldd temp2,y+oz_d2 + ldd temp,y+oz_e2 + rcall printhexw + printstring " hl'=" + ldd temp2,y+oz_h2 + ldd temp,y+oz_l2 + rcall printhexw + printstring " IX=" + ldd temp2,y+oz_xh + ldd temp,y+oz_xl + rcall printhexw + printstring " IY=" + ldd temp2,y+oz_yh + ldd temp,y+oz_yl + rcall printhexw + printstring " I=" + ldd temp,y+oz_i + rcall printhex + + printstring " " +#endif + ret + + +#if EM_Z80 +zflags_to_ch: + .db "SZ H VNC",0,0 +#else zflags_to_ch: .db "SZ H PNC",0,0 +#endif -printregs: +printflags: + push temp2 + mov temp2,temp printnewline - push zl push zh ldiw z,zflags_to_ch*2 - mov temp2,z_flags pr_zfl_next: lpm temp,z+ tst temp @@ -232,43 +306,8 @@ pr_zfl_noflag: pr_zfl_end: pop zh pop zl - - printstring " A =" - mov temp,z_a - rcall printhex - printstring " BC =" - lds temp2,z_b - lds temp, z_c - rcall printhexw - printstring " DE =" - lds temp2,z_d - lds temp, z_e - rcall printhexw - printstring " HL =" - lds temp2,z_h - lds temp, z_l - rcall printhexw - printstring " SP =" - movw temp, z_spl - rcall printhexw - printstring " PC =" - movw temp, z_pcl - rcall printhexw - printstring " " - movw xl,z_pcl - mem_read - rcall printhex - printstring " " - adiw x,1 - mem_read - rcall printhex - printstring " " - adiw x,1 - mem_read - rcall printhex - printstring " " + pop temp2 ret -;.endif ; vim:set ts=8 noet nowrap