The point of interest is 28304, as per the previous e-mail to the list.

0x00028304 <grt.signals.update_signals+440>:    ldd  [ %g1 ], %o4

===

Information about this RISC instruction can be found here:

http://www.cs.unm.edu/~maccabe/classes/341/labman/node9.html

If the assembly language instruction only uses a single register in the
address specification (e.g., register indirect addressing), the register
is encoded in one of the source register fields, ie sr1 or sr2, while %r0
is encoded in the other.

===

(gdb) info register g1
g1 0x6c76a 444266
(gdb) info register 04
g4 0x69080 430208

===

I hope this help at least a little. Let me know what else might be needed.
Again I apologize if this information is not helpful. I don't know any
people that know assembly language for SPARC.

S.

============================================================================

Dump of assembler code for function grt.signals.update_signals:
0x0002814c <grt.signals.update_signals+0>:      save  %sp, -120, %sp
0x00028150 <grt.signals.update_signals+4>:      sethi  %hi(0x68c00), %g1
0x00028154 <grt.signals.update_signals+8>:      ld  [ %g1 + 0x338 ], %g2        
! 0x68f38 <grt__signals__clear_list>
0x00028158 <grt.signals.update_signals+12>:     cmp  %g2, 0
0x0002815c <grt.signals.update_signals+16>:     be  0x281d0 
<grt.signals.update_signals+132>
0x00028160 <grt.signals.update_signals+20>:     clr  [ %g1 + 0x338 ]
0x00028164 <grt.signals.update_signals+24>:     sethi  %hi(0x69000), %g3
0x00028168 <grt.signals.update_signals+28>:     sethi  %hi(0x69800), %o5
0x0002816c <grt.signals.update_signals+32>:     sethi  %hi(0x69800), %g4
0x00028170 <grt.signals.update_signals+36>:     ldub  [ %g3 + 0x6c ], %g1
0x00028174 <grt.signals.update_signals+40>:     cmp  %g1, 0
0x00028178 <grt.signals.update_signals+44>:     be,a   0x281bc 
<grt.signals.update_signals+112>
0x0002817c <grt.signals.update_signals+48>:     clrb  [ %g2 + 0x2d ]
0x00028180 <grt.signals.update_signals+52>:     ldub  [ %g2 + 0x2d ], %g1
0x00028184 <grt.signals.update_signals+56>:     cmp  %g1, 0
0x00028188 <grt.signals.update_signals+60>:     be,a   0x281a0 
<grt.signals.update_signals+84>
0x0002818c <grt.signals.update_signals+64>:     ldub  [ %g2 + 0x2c ], %g1
0x00028190 <grt.signals.update_signals+68>:     ld  [ %o5 + 0x194 ], %g1
0x00028194 <grt.signals.update_signals+72>:     inc  %g1
0x00028198 <grt.signals.update_signals+76>:     st  %g1, [ %o5 + 0x194 ]
0x0002819c <grt.signals.update_signals+80>:     ldub  [ %g2 + 0x2c ], %g1
0x000281a0 <grt.signals.update_signals+84>:     cmp  %g1, 0
0x000281a4 <grt.signals.update_signals+88>:     be,a   0x281bc 
<grt.signals.update_signals+112>
0x000281a8 <grt.signals.update_signals+92>:     clrb  [ %g2 + 0x2d ]
0x000281ac <grt.signals.update_signals+96>:     ld  [ %g4 + 0x198 ], %g1
0x000281b0 <grt.signals.update_signals+100>:    inc  %g1
0x000281b4 <grt.signals.update_signals+104>:    st  %g1, [ %g4 + 0x198 ]
0x000281b8 <grt.signals.update_signals+108>:    clrb  [ %g2 + 0x2d ]
0x000281bc <grt.signals.update_signals+112>:    clrb  [ %g2 + 0x2c ]
0x000281c0 <grt.signals.update_signals+116>:    ld  [ %g2 + 0x38 ], %g2
0x000281c4 <grt.signals.update_signals+120>:    cmp  %g2, 0
0x000281c8 <grt.signals.update_signals+124>:    bne,a   0x28174 
<grt.signals.update_signals+40>
0x000281cc <grt.signals.update_signals+128>:    ldub  [ %g3 + 0x6c ], %g1
0x000281d0 <grt.signals.update_signals+132>:    sethi  %hi(0x68c00), %g1
0x000281d4 <grt.signals.update_signals+136>:    ld  [ %g1 + 0x300 ], %l0        
! 0x68f00 <__ghdl_signal_active_chain>
0x000281d8 <grt.signals.update_signals+140>:    sethi  %hi(0x68c00), %g2
0x000281dc <grt.signals.update_signals+144>:    ld  [ %g2 + 0x32c ], %g2        
! 0x68f2c <grt__signals__signal_end>
0x000281e0 <grt.signals.update_signals+148>:    st  %g2, [ %g1 + 0x300 ]
0x000281e4 <grt.signals.update_signals+152>:    b  0x281f0 
<grt.signals.update_signals+164>
0x000281e8 <grt.signals.update_signals+156>:    ldub  [ %l0 + 0x50 ], %g1
0x000281ec <grt.signals.update_signals+160>:    ldub  [ %l0 + 0x50 ], %g1
0x000281f0 <grt.signals.update_signals+164>:    cmp  %g1, 0xd
0x000281f4 <grt.signals.update_signals+168>:    be  0x28480 
<grt.signals.update_signals+820>
0x000281f8 <grt.signals.update_signals+172>:    sethi  %hi(0x68c00), %g2
0x000281fc <grt.signals.update_signals+176>:    ld  [ %l0 + 0x28 ], %l5
0x00028200 <grt.signals.update_signals+180>:    clr  [ %l0 + 0x28 ]
0x00028204 <grt.signals.update_signals+184>:    ld  [ %l0 + 0x34 ], %g3
0x00028208 <grt.signals.update_signals+188>:    cmp  %g3, -2
---Type <return> to continue, or q <return> to quit---
0x0002820c <grt.signals.update_signals+192>:    be  0x282f0 
<grt.signals.update_signals+420>
0x00028210 <grt.signals.update_signals+196>:    nop
0x00028214 <grt.signals.update_signals+200>:    bg  0x2822c 
<grt.signals.update_signals+224>
0x00028218 <grt.signals.update_signals+204>:    cmp  %g3, -1
0x0002821c <grt.signals.update_signals+208>:    cmp  %g3, -3
0x00028220 <grt.signals.update_signals+212>:    bne  0x28440 
<grt.signals.update_signals+756>
0x00028224 <grt.signals.update_signals+216>:    sethi  %hi(0x68c00), %g1
0x00028228 <grt.signals.update_signals+220>:    b,a   0x28330 
<grt.signals.update_signals+484>
0x0002822c <grt.signals.update_signals+224>:    be  0x28244 
<grt.signals.update_signals+248>
0x00028230 <grt.signals.update_signals+228>:    cmp  %g3, 0
0x00028234 <grt.signals.update_signals+232>:    be,a   0x28428 
<grt.signals.update_signals+732>
0x00028238 <grt.signals.update_signals+236>:    sethi  %hi(0x51c00), %g1
0x0002823c <grt.signals.update_signals+240>:    b  0x28440 
<grt.signals.update_signals+756>
0x00028240 <grt.signals.update_signals+244>:    sethi  %hi(0x68c00), %g1
0x00028244 <grt.signals.update_signals+248>:    call  0x259a0 
<grt.signals.mark_active>
0x00028248 <grt.signals.update_signals+252>:    mov  %l0, %o0
0x0002824c <grt.signals.update_signals+256>:    ld  [ %l0 + 0x5c ], %g1
0x00028250 <grt.signals.update_signals+260>:    ld  [ %g1 ], %o0
0x00028254 <grt.signals.update_signals+264>:    cmp  %o0, 0
0x00028258 <grt.signals.update_signals+268>:    be  0x28274 
<grt.signals.update_signals+296>
0x0002825c <grt.signals.update_signals+272>:    ld  [ %o0 + 8 ], %l1
0x00028260 <grt.signals.update_signals+276>:    call  0x30b2c <__gnat_free>
0x00028264 <grt.signals.update_signals+280>:    nop
0x00028268 <grt.signals.update_signals+284>:    ld  [ %l0 + 0x5c ], %g1
0x0002826c <grt.signals.update_signals+288>:    clr  [ %g1 ]
0x00028270 <grt.signals.update_signals+292>:    ld  [ %l0 + 0x5c ], %g1
0x00028274 <grt.signals.update_signals+296>:    st  %l1, [ %g1 ]
0x00028278 <grt.signals.update_signals+300>:    ldub  [ %l1 ], %g1
0x0002827c <grt.signals.update_signals+304>:    cmp  %g1, 1
0x00028280 <grt.signals.update_signals+308>:    be,a   0x282bc 
<grt.signals.update_signals+368>
0x00028284 <grt.signals.update_signals+312>:    sethi  %hi(0x51c00), %g1
0x00028288 <grt.signals.update_signals+316>:    bcs,a   0x282a4 
<grt.signals.update_signals+344>
0x0002828c <grt.signals.update_signals+320>:    ldd  [ %l1 + 0x18 ], %g2
0x00028290 <grt.signals.update_signals+324>:    cmp  %g1, 2
0x00028294 <grt.signals.update_signals+328>:    bne  0x282e8 
<grt.signals.update_signals+412>
0x00028298 <grt.signals.update_signals+332>:    sethi  %hi(0x51c00), %g1
0x0002829c <grt.signals.update_signals+336>:    b  0x282d4 
<grt.signals.update_signals+392>
0x000282a0 <grt.signals.update_signals+340>:    or  %g1, 0x350, %i0     ! 
0x51f50 <_end+214716>
0x000282a4 <grt.signals.update_signals+344>:    std  %g2, [ %l0 + 8 ]
0x000282a8 <grt.signals.update_signals+348>:    mov  %l0, %o0
0x000282ac <grt.signals.update_signals+352>:    call  0x268b8 
<grt.signals.set_effective_value>
0x000282b0 <grt.signals.update_signals+356>:    add  %l0, 8, %o1
0x000282b4 <grt.signals.update_signals+360>:    b  0x281ec 
<grt.signals.update_signals+160>
---Type <return> to continue, or q <return> to quit---
0x000282b8 <grt.signals.update_signals+364>:    mov  %l5, %l0
0x000282bc <grt.signals.update_signals+368>:    or  %g1, 0x3c0, %i2
0x000282c0 <grt.signals.update_signals+372>:    sethi  %hi(0x52400), %g1
0x000282c4 <grt.signals.update_signals+376>:    or  %g1, 0x38, %i3      ! 
0x52438 <C.444.5151>
0x000282c8 <grt.signals.update_signals+380>:    std  %i2, [ %fp + -24 ]
0x000282cc <grt.signals.update_signals+384>:    call  0x24b6c 
<grt.errors.internal_error>
0x000282d0 <grt.signals.update_signals+388>:    add  %fp, -24, %o0
0x000282d4 <grt.signals.update_signals+392>:    sethi  %hi(0x52400), %g1
0x000282d8 <grt.signals.update_signals+396>:    or  %g1, 0x30, %i1      ! 
0x52430 <C.445.5154>
0x000282dc <grt.signals.update_signals+400>:    std  %i0, [ %fp + -24 ]
0x000282e0 <grt.signals.update_signals+404>:    call  0x24bc0 
<grt.errors.error>0x000282e4 <grt.signals.update_signals+408>:    add  %fp, 
-24, %o0
0x000282e8 <grt.signals.update_signals+412>:    call  0x275c0 
<grt.signals.error_trans_error>
0x000282ec <grt.signals.update_signals+416>:    mov  %l1, %o0
0x000282f0 <grt.signals.update_signals+420>:    call  0x259a0 
<grt.signals.mark_active>
0x000282f4 <grt.signals.update_signals+424>:    mov  %l0, %o0
0x000282f8 <grt.signals.update_signals+428>:    ld  [ %l0 + 0x5c ], %g2
0x000282fc <grt.signals.update_signals+432>:    ld  [ %g2 + 4 ], %g3
0x00028300 <grt.signals.update_signals+436>:    ld  [ %g3 + 0x18 ], %g1
0x00028304 <grt.signals.update_signals+440>:    ldd  [ %g1 ], %o4
0x00028308 <grt.signals.update_signals+444>:    std  %o4, [ %l0 + 8 ]
0x0002830c <grt.signals.update_signals+448>:    ld  [ %g2 ], %g2
0x00028310 <grt.signals.update_signals+452>:    ld  [ %g3 + 0x18 ], %g1
0x00028314 <grt.signals.update_signals+456>:    ldd  [ %g1 ], %o4
0x00028318 <grt.signals.update_signals+460>:    std  %o4, [ %g2 + 0x18 ]
0x0002831c <grt.signals.update_signals+464>:    mov  %l0, %o0
0x00028320 <grt.signals.update_signals+468>:    call  0x268b8 
<grt.signals.set_effective_value>
0x00028324 <grt.signals.update_signals+472>:    add  %l0, 8, %o1
0x00028328 <grt.signals.update_signals+476>:    b  0x281ec 
<grt.signals.update_signals+160>
0x0002832c <grt.signals.update_signals+480>:    mov  %l5, %l0
0x00028330 <grt.signals.update_signals+484>:    call  0x259a0 
<grt.signals.mark_active>
0x00028334 <grt.signals.update_signals+488>:    mov  %l0, %o0
0x00028338 <grt.signals.update_signals+492>:    ld  [ %l0 + 0x58 ], %l4
0x0002833c <grt.signals.update_signals+496>:    cmp  %l4, 0
0x00028340 <grt.signals.update_signals+500>:    be  0x2840c 
<grt.signals.update_signals+704>
0x00028344 <grt.signals.update_signals+504>:    nop
0x00028348 <grt.signals.update_signals+508>:    clr  %l2        ! 0x0
0x0002834c <grt.signals.update_signals+512>:    sethi  %hi(0x69800), %i5
0x00028350 <grt.signals.update_signals+516>:    ld  [ %l0 + 0x5c ], %g3
0x00028354 <grt.signals.update_signals+520>:    sll  %l2, 2, %g2
0x00028358 <grt.signals.update_signals+524>:    sll  %l2, 4, %g1
0x0002835c <grt.signals.update_signals+528>:    sub  %g1, %g2, %g1
0x00028360 <grt.signals.update_signals+532>:    ld  [ %g3 + %g1 ], %o0
0x00028364 <grt.signals.update_signals+536>:    ld  [ %o0 + 8 ], %l1
0x00028368 <grt.signals.update_signals+540>:    cmp  %l1, 0
0x0002836c <grt.signals.update_signals+544>:    be  0x283fc 
<grt.signals.update_signals+688>
0x00028370 <grt.signals.update_signals+548>:    mov  %l2, %l3
0x00028374 <grt.signals.update_signals+552>:    ldub  [ %l1 ], %g1
---Type <return> to continue, or q <return> to quit---
0x00028378 <grt.signals.update_signals+556>:    cmp  %g1, 1
0x0002837c <grt.signals.update_signals+560>:    bne  0x2839c 
<grt.signals.update_signals+592>
0x00028380 <grt.signals.update_signals+564>:    nop
0x00028384 <grt.signals.update_signals+568>:    add  %o0, 0x18, %o0
0x00028388 <grt.signals.update_signals+572>:    ld  [ %l1 + 0x18 ], %o1
0x0002838c <grt.signals.update_signals+576>:    call  0x253cc 
<grt.signals.direct_assign>
0x00028390 <grt.signals.update_signals+580>:    ldub  [ %l0 + 0x2f ], %o2
0x00028394 <grt.signals.update_signals+584>:    b  0x28400 
<grt.signals.update_signals+692>
0x00028398 <grt.signals.update_signals+588>:    inc  %l2
0x0002839c <grt.signals.update_signals+592>:    ldd  [ %i5 + 0x250 ], %g2
0x000283a0 <grt.signals.update_signals+596>:    ld  [ %l1 + 0x10 ], %g1
0x000283a4 <grt.signals.update_signals+600>:    cmp  %g1, %g2
0x000283a8 <grt.signals.update_signals+604>:    bne,a   0x28400 
<grt.signals.update_signals+692>
0x000283ac <grt.signals.update_signals+608>:    inc  %l2
0x000283b0 <grt.signals.update_signals+612>:    ld  [ %l1 + 0x14 ], %g1
0x000283b4 <grt.signals.update_signals+616>:    cmp  %g1, %g3
0x000283b8 <grt.signals.update_signals+620>:    bne,a   0x28400 
<grt.signals.update_signals+692>
0x000283bc <grt.signals.update_signals+624>:    inc  %l2
0x000283c0 <grt.signals.update_signals+628>:    cmp  %o0, 0
0x000283c4 <grt.signals.update_signals+632>:    be,a   0x283ec 
<grt.signals.update_signals+672>
0x000283c8 <grt.signals.update_signals+636>:    ld  [ %l0 + 0x5c ], %g3
0x000283cc <grt.signals.update_signals+640>:    call  0x30b2c <__gnat_free>
0x000283d0 <grt.signals.update_signals+644>:    nop
0x000283d4 <grt.signals.update_signals+648>:    ld  [ %l0 + 0x5c ], %g3
0x000283d8 <grt.signals.update_signals+652>:    sll  %l2, 2, %g2
0x000283dc <grt.signals.update_signals+656>:    sll  %l2, 4, %g1
0x000283e0 <grt.signals.update_signals+660>:    sub  %g1, %g2, %g1
0x000283e4 <grt.signals.update_signals+664>:    clr  [ %g3 + %g1 ]
0x000283e8 <grt.signals.update_signals+668>:    ld  [ %l0 + 0x5c ], %g3
0x000283ec <grt.signals.update_signals+672>:    sll  %l3, 2, %g2
0x000283f0 <grt.signals.update_signals+676>:    sll  %l3, 4, %g1
0x000283f4 <grt.signals.update_signals+680>:    sub  %g1, %g2, %g1
0x000283f8 <grt.signals.update_signals+684>:    st  %l1, [ %g3 + %g1 ]
0x000283fc <grt.signals.update_signals+688>:    inc  %l2
0x00028400 <grt.signals.update_signals+692>:    cmp  %l2, %l4
0x00028404 <grt.signals.update_signals+696>:    bne,a   0x28354 
<grt.signals.update_signals+520>
0x00028408 <grt.signals.update_signals+700>:    ld  [ %l0 + 0x5c ], %g3
0x0002840c <grt.signals.update_signals+704>:    call  0x2697c 
<grt.signals.compute_resolved_signal>
0x00028410 <grt.signals.update_signals+708>:    ld  [ %l0 + 0x64 ], %o0
0x00028414 <grt.signals.update_signals+712>:    mov  %l0, %o0
0x00028418 <grt.signals.update_signals+716>:    call  0x268b8 
<grt.signals.set_effective_value>
0x0002841c <grt.signals.update_signals+720>:    add  %l0, 8, %o1
0x00028420 <grt.signals.update_signals+724>:    b  0x281ec 
<grt.signals.update_signals+160>
0x00028424 <grt.signals.update_signals+728>:    mov  %l5, %l0
0x00028428 <grt.signals.update_signals+732>:    or  %g1, 0x3e0, %l6
0x0002842c <grt.signals.update_signals+736>:    sethi  %hi(0x52400), %g1
0x00028430 <grt.signals.update_signals+740>:    or  %g1, 0x28, %l7      ! 
0x52428 <C.447.5171>
0x00028434 <grt.signals.update_signals+744>:    std  %l6, [ %fp + -24 ]
---Type <return> to continue, or q <return> to quit---q
Quit
(gdb)


_______________________________________________
Ghdl-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to