simplified in-source navigation

Bug #579330 reported by Onkar Shinde
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gnusim8085
New
Wishlist
Unassigned

Bug Description

source navigation would be simplified if there was a simple combo box (dropdown menu) that enumerates all labels in the source code and provides the user with the possibility to directly jump to a given label, possibly differentiating between different types of labels (i.e. functions)

Tags: ui
Revision history for this message
Bug Importer (bug-importer) wrote :

Logged In: NO

more generally phrased, it would be useful if all SYMBOLS could be enumerated in such a combo box, so that symbols can be chosen from the list and users can jump to the corresponding label in the source code

Revision history for this message
Bug Importer (bug-importer) wrote :

Logged In: NO

if ALL symbols are to be shown, it might make sense to consider also providing details about the type of symbol, for functions this could probably be "guessed" if there are anywhere calls to the symbol, and/or if there are any "ret" instructions after the label

Revision history for this message
Bug Importer (bug-importer) wrote :

Logged In: NO

loops can probably also be determined by looking for comparisons followed by conditional jumps to a previously defined label, for example if there are labels with matching conditional jumps (i.e. after a comparison), a loop can be derived:

start: nop ; entry point
      mvi a,250 ; 250 iterations
loop: nop ; loop entry point
      dcr a ; decrement loop counter by 1
      cpi 0 ; compare against 0
      jnz loop ; if comparison is not true, jump to beginning of loop
      ; loop exit
hlt

Revision history for this message
Bug Importer (bug-importer) wrote :

Logged In: NO

For any given loop, it's not just conditional jumps that may jump back to the start of the loop body, but rather these could also be unconditional jumps by default, so that conditional jumps would be only used to jump OUT of the loop, and NOT back to the beginning of the loop.

Revision history for this message
Bug Importer (bug-importer) wrote :

Logged In: NO

I think this belongs to the UI item

Revision history for this message
Bug Importer (bug-importer) wrote :

this should be fairly easy to add if we can make this feature depend on the assembly process, because there are labels will be automatically parsed and resolved, so adding these tokens to a combo box for easier navigation should be pretty straight forward

Revision history for this message
Bug Importer (bug-importer) wrote :

this same dropdown menu is already created and used in gnusim8085, just check out the "choose a symbol" dialog box that you get when you pick an instruction from the instructions listing-it already provides combo boxes for labels, variables and macros

Revision history for this message
Bug Importer (bug-importer) wrote :

another possible distinction could be "Interrupt service routine", functions that are ISRs could be recognized automatically and be marked accordingly in the function/label list, so that we can append "(ISR)" to it

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.