Getting Started

Once you started your application, you will see a sample Hex code already loaded in the window. You can open an existing Hex Code file, or directly copy paste your Hex code to this box.

Main_ Hex Pad 1

You can check your hex code's validity by clicking the Validate button. So, once you have loaded your hex code, you can click the 'Parse' button and this application will parse the hex code and show 2 new Tabs. One tab is called 'Memory Map View' and another tab is called 'Parsed View'.

Memory Map View

The Memory Map view is the window that will give you a complete idea about how the instruction set resides in Code Memory. For example, if you have an instruction in one memory block and then, if you have the next instruction after some empty space in memory, then, this window will show you those empty spaces. It will show the memory address in order, so the view will start from the address 0000.

In this memory map view, you will see the instruction code is decompiled to Assembly code and the code is placed in the address box, and also you can understand which part is Instruction Code and Which part is data. If you place your mouse over the boxes, you will get more information like, which data is 'Special Function Register', which address is Interrupt Vector etc. Not only that, all instruction code has a help icon, if you click that icon, a popup window will show up which is a dictionary of the 8-bit instruction code.

memory_map_explained

Parsed View

The Parsed view is the view that tells how what your hex code mean, byte by byte. The view is same as Memory map view. The difference is that, in memory map view, you will see the empty spaces of the memory too. In memory map view, the instructions are shown in the order as they fill up in the memory. In the parsed view, you won't see the order as it appears in the memory. Rather, in the parsed view, you will see the order as it appears in the hex code.

The parsed view simply disassemble the hex code serially as it appears in the hex code no matter what the memory address is.

The Parsed view window is not very different than the Memory Map View. You will find the same design pattern for instruction code, data, tooltip, reference dictionary things in this view same like the Memory Map view. The only difference is, it won't show the instruction code serially according to the address, rather it will show the table as it encountered in the hex code. So, in your hex code, if you have instruction for a higher memory address at the beginning and lower memory address at the end, the parsed view will show the instruction code for the higher memory address at the beginning and the lower memory address at the end. Also, the Parsed view won't show you the empty spaces. So, the Parsed view is good for a quick Decompiled Understanding of your hex code where the Memory Map view is good for realizing the complete physical picture of the code memory.

decompiled-assembly-code

Visual Learning Aid:

Once the Hex code is disassembled, you will be able to learn lots of things about the Microcontroller just by placing your mouse over the user interfaces. For example, Notice how the tooltip is explaining the code as "Instruction" or "Data".

tooltip 2

Here is another Tooltip example on Address block:

tooltip 3

Invoking the Assembly Reference Window

Once the Hex code is disassembled, you will see a info button beside every Assembly Mnemonic. Clicking the Info button will open the Assembly reference window as shown below.

assembly-reference-window

This assembly reference window will give you all the details about the instruction code. Not only that, you can query for other instruction in that reference dictionary window.

You can also invoke that assembly reference window from here.

assembly-reference-button

Conclusion

8051 Disassembler is a very simple application where there is nothing to learn about the app if you are already familiar with INTEL 8051 Microcontroller programming and if you know that your C or Assembly compiler generates Hex Code for uploading to your Microcontroller. So, once you know that, then, this tool is a helping tool that will let you visualize your compiler generated Hex code and therefore let you understand deeply about the 8-bit Instruction Set for the 8051 Microcontroller.

Last updated on Oct 3, 2018