附录 E dcc 显示的注解和错误信息
附录 E
dcc 显示的注解和错误信息
dcc 在输出的 C 语言文件和汇编语言文件中加入一系列注解,是在每一个子程序的分析期间所收集的信息。这个信息在每个子程序前面显示。dcc 支持下列注解:
l "Takes %d bytes of parameters."
参数共计 %d 字节。
l "Uses register arguments:" (and lists the registers and the formal argument name).
使用寄存器参数:(而且列出寄存器和形式参数名字)。
l "Takes no parameters."
没有参数。
l "Runtime support routine of the compiler."
编译器的运行时支持例程。
l "High-level language prologue code."
高级语言的序言代码。
l "Untranslatable routine. Assembler provided."
无法翻译的例程。只提供汇编代码。
l "Return value in register %s." (register(s) provided).
在寄存器 %s 中返回数值。(给出寄存器(组))
l "Pascal calling convention."
Pascal语言调用约定。
l "C calling convention."
C语言调用约定。
l "Unknown calling convention."
未知调用约定。
l "Incomplete due to an untranslatable opcode"
由于一个无法翻译的操作码而未完成
l "Incomplete due to an indirect jump"
由于一个间接跳转而未完成
l "Indirect call procedure."
间接调用子过程。
l "Contains self-modifying code."
包含自修改代码。
l "Contains coprocessor instructions."
包含协处理器指令。
l "Irreducible control flow graph."
不可归约的控制流向图。
汇编子程序连同所有的 DOS 内核服务也被加注;中断 20h 到 2Fh。附录 F 含有一个 dcc 支持的所有 DOS 中断列表。
dcc 还显示两种不同的错误类型:致命错误和非致命错误。致命错误终止 dcc 的运行,显示的错误信息足够让使用者了解已发生的事。非致命错误不导致 dcc 终止,作为给使用者的警告。
dcc 支持的致命错误是:
l "Invalid option -%c."
无效选项 -%c。
l "Usage: dcc [-a1a2mpsvV][-o asmfile] DOS_executable"
用法:dcc [-a1a2mpsvV][-o asmfile] DOS_executable
l "New EXE format not supported."
新的 EXE格式不被支持。
l "Cannot open file %s."
无法打开文件 %s。
l "Error while reading file %s."
在读文件时出错 %s。
l "Invalid instruction %02X at location %06lX."
无效指令%02X在%06lX位置上。
l "Don't understand 80386 instruction %02X at location %06lX."
不理解在%06lX位置上的 80386指令%02X。
l "Instruction at location %06lX goes beyond loaded image."
在%06lX位置上的指令超出所装入的映像。
l "malloc of %ld bytes failed."
分配%ld字节失败。
l "Failed to find a basic block for jump to %ld in subroutine %s."
没有在子程序%s中发现跳转到%ld的基本块。
l "Basic Block is a synthetic jump."
基本块是一个人工合成的跳转。
l "Failed to find a basic block for interval."
没有发现区间的基本块。
l "Definition not found for condition code usage at opcode %d."
在操作码%d上的条件码使用没有定义。
dcc 支持的非致命错误是:
l "Segment override with no memory operand at location %06lX."
在%06lX位置上段覆盖没有内存操作数。
l "REP prefix without a string instruction at location %06lX."
在%06lX位置上 REP前缀缺少一个字符串指令。
l "Conditional jump use, definition not supported at opcode %d."
条件跳转使用,在操作码 %d 上定义不被支持
l "Definition-use not supported. Definition opcode = %d, use opcode = %d."
定义-使用不被支持。定义操作码 = %d,使用操作码 = %d。
l "Failed to construct do..while() condition."
没有构造 do..while() 条件。
l "Failed to construct while() condition."
没有构造 while()条件。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论