VisUAL已开发为一种跨平台工具,可简化学习ARM汇编语言的过程。除了模拟ARM UAL指令集的子集外,它还提供了汇编语言编程所特有的关键概念的可视化,因此有助于使对ARM汇编的编程更加容易访问。它是专门设计用作伦敦帝国学院电气与电子工程系教授的计算机体系结构入门课程的教学工具。
除了单步执行代码外,用户还可以通过浏览过去的寄存器值来浏览程序历史。此功能可以帮助您更轻松地调试和理解复杂的代码。
ARM汇编中的指针可能很难理解,特别是因为ARM汇编在加载/存储指令时有9种不同的指针行为。 VisUAL提供了一个信息窗格,该窗格在需要时显示有用的指针信息。
VisUAL可以通过将它们作为动画播放来演示移位操作。动画使用来自演示的移位指令的实际数据值。
所有内存访问操作(字对齐或字节对齐)都可以可视化。显示了基地址和偏移地址,并突出显示了所有已更改的值。
可以可视化以堆栈形式加载/存储多个指令的指令。描述了堆栈行为,并显示了堆栈以及堆栈开始和结尾处的堆栈指针。
颜色编码的高亮线用于指示何时进行分支。对于条件指令,突出显示条件检查中涉及的状态位。箭头指向分支目的地,用作视觉提示,以指示即将发生另一行代码的分支。
只要将链接寄存器设置为进入子例程,链接的子例程返回点将突出显示,并保持突出显示状态,直到子例程退出。
与提供神秘的编译器错误消息相反,VisUAL提供了特定于上下文的错误消息,其中包含对预期结果的确切解释。另外,每当发生运行时错误时,就会将有问题的指令以及该指令中的哪些操作导致错误告知用户。
错误键入的代码可能导致无限循环,可能会导致代码发生故障。 VisUAL检测可能的无限循环并提示用户选择适当的响应。
通过使用查看内存内容窗口,可以实时监视内存中定义的数据变化。除了指针和存储器访问可视化提供的动态观点之外,这还允许从静态观点快速调试存储器访问指令。
符号窗口提供了已定义的所有代码和数据符号的列表。这提供了一种在执行期间查找符号的简便方法。
VisUAL允许通过命令行执行汇编代码,并将程序状态记录到XML文件中。这对于高级用户测试大量代码很有用。有关如何使用它的详细信息,请参见日志记录指南。