WATCH error?
Hi,
I wonder if I'm doing anything wrong. I've been trying to set up a watch for one bit in a register and didn't know why the value shown was always wrong until I·saw the program listing from the compiler:
At the bottom, looking at the watch statements, flags.1 points to address $108 instead of $008. Why is that? I tried udec and ubin with similar results.
Thanks
Christian
I wonder if I'm doing anything wrong. I've been trying to set up a watch for one bit in a register and didn't know why the value shown was always wrong until I·saw the program listing from the compiler:
1 07FA 0F7F device sx28l,oschs3
2 07FA 0F7F device turbo,stackx,optionx
3 =00000000 IRC_CAL IRC_SLOW
4 07FF 0A4C reset main_program
5 =0007A120 freq 500_000
6
7 ;***********************************
8 ;Bank definition
9 ;***********************************
10 =00000008 global_org = $08
11 =00000010 bank0_org = $10
12 =00000030 bank1_org = $30
13
14 ;**********************************
15 ;Variable space
16 ;**********************************
17
18 ;Global area
19 =00000008 org global_org
20
21 =00000008 flags ds 1
22 =00000008 time_elapsed equ flags.0 ;Time to collect another sample
23 =00000008.1 half_deg equ flags.1 ;.5 degrees more
24 =00000009 time_cntLB ds 1
25 =0000000A time_cntHB ds 1
26 =0000000B wait_cnt ds 1
27 =0000000C temp_value ds 1
28 =0000000D temporary ds 1
29
30 =00000007.5 DS_RST equ rc.5 ;Reset line for DS1620
31 =00000007.6 DS_CLK equ rc.6 ;Clock line for DS1620
32 =00000007.7 DS_DQ equ rc.7 ;Data line for DS1620
33
34 ;Messaging data area BANK 0
35 =00000010 org bank0_org
36 =00000010 mesg_data ds 1
37 =00000011 mesg_in_data ds 1
38 =00000012 bit_counter ds 1
39
40 =0000000C watch temp_value,8,udec
41 =00000010 watch mesg_data.0,1,udec
42 =00000108 watch flags.1,1,udec
43 =00000008 watch flags,8,ubin
At the bottom, looking at the watch statements, flags.1 points to address $108 instead of $008. Why is that? I tried udec and ubin with similar results.
Thanks
Christian

Comments
If I recall correctly, the "1" in "$108" tells the SX-Key which bit to watch. Try changing the bit number and you should see that value change to match it. Also, there was a problem watching individual bits that I thoought was fixed. I'll have to see if it's there is still a problem. In the meantime, just watch the entire byte and check for the status of the bit by eye.
Thanks, PeterM
I forgot to add one thing, when I change the bit in the watch window, instead of changing bit 1 in register $008, I can see bit 1 in register $118 change instead.
I'm using SX-Key v3.2.3, is there a newer version than this?
Thanks
Christian
I believe there still is a problem, and as I recall (not positive) it's different for registers in bank 0 versus other banks.
Could you please explain how they should work ? As I recall, they dont work like the description in the manual.
Cheers,
Peter (pjv)
- Sparks