As far as i know, the res[rn] argument means it's a resource argument but i don't get why my r1 reg has the 0x2 value in it, which seems like a bad resource identifier. I probably don't understand the proper use of res[rn] though, could it be an array or some indirect addressing to a resource array? I haven't read the whole architecture document, but i haven't seen better info about the res[rn] argument. Also, what are the codes right next to the instruction like (lru6)
Code: Select all
<wakeCore>:
0x000145d6: 00 f0 46 6c: ldw (lru6) r1, cp[0x6]
0x000145da: bc 91: add (2rus) r3, r11, 0x0
0x000145dc: d9 16: setd (r2r) res[r1], r2
0x000145de: c5 ae: out (r2r) res[r1], r1
0x000145e0: d5 4e: outct (rus) res[r1], 0x1
0x000145e2: c1 b6: in (2r) r0, res[r1]
0x000145e4: d5 ce: chkct (rus) res[r1], 0x1
0x000145e6: 40 69: ldc (ru6) r5, 0x0
0x000145e8: 05 af: out (r2r) res[r1], r5
0x000145ea: d5 4e: outct (rus) res[r1], 0x1
0x000145ec: 06 f0 c8 62: ldaw (lru6) r11, dp[0x188]
Code: Select all
Currently logging to "gdb.txt".
Future logs will be written to test.log.
Logs will be appended to the log file.
Output will be logged and displayed.
Currently logging to "gdb.txt".
Future logs will be written to test.log.
Logs will be appended to the log file.
Output will be logged and displayed.
2 tile[1] core[0] 0x0001710a in waitForZero ()
* 1 tile[0] core[0] 0x0001460e in _DoException ()
[Switching to thread 1 (tile[0] core[0])]#0 0x0001460e in _DoException ()
r0 0x0 0
r1 0x2 2
r2 0x40000002 1073741826
r3 0x156bc 87740
r4 0xf 15
r5 0x14fe8 85992
r6 0x0 0
r7 0x0 0
r8 0x0 0
r9 0x0 0
r10 0x0 0
r11 0x156bc 87740
cp 0x14e98 85656
dp 0x15068 86120
sp 0x1fef0 130800
lr 0x144c2 83138 main + 42
pc 0x1460e 83470 _DoException + 2
sr 0x51 81
spc 0x145e4 83428 wakeCore + 14
ssr 0x0 0
et 0x4 4
ed 0x2 2
sed 0x0 0
kep 0x10080 65664
ksp 0x0 0