Seems I've missed something somewhere in the documentation.
I'm not yet familiar with the X86 machine instructions, but they're clearly not doing what I expected.
Here the relevant part of the listing:
Code: Select all
0000000E 397 CALLS #2,get_lnm ; Small routine written in C.
00000015 398
00000015 399 BLBC R0,5300$
00000018 400 PUSHAB tmp1_BUF ; Where trans goes as ASCIZ.
0000001E 401 CALLS #1,DECC$ATOI
And here's the relevant debug info:
Code: Select all
stepped to TMAR+43: callq -000000D8
stepped to TMAR+48: movq %rax,(%rbx)
DBG> ex %rax
0\%RAX: 00000000000001BC
stepped to TMAR+4B: movq %rdx,08(%rbx)
stepped to TMAR+4F: btq $00,(%rbx)
stepped to TMAR+54: jae 0000004D
DBG> ex %rbx
0\%RBX: 000000007ACC7F00
DBG> ex @%rbx
000000007ACC7F00: 0000000000000001
stepped to TMAR+5A: movq 00000027(%rip),%r10
stepped to TMAR+61: pushq %r10
Thanks, Don
Added in 3 minutes 38 seconds:
I tried playing with a .USE_LINKAGE for the get_lnm routine but what I tried didn't make any difference.