我是汇编程序设计领域的新手。我正在为一台机器设计我自己的汇编程序。目前,我的汇编程序接受第一个标记(假定它是一条指令),然后尝试生成相应的目标代码。现在我需要将该令牌与一组助记符进行匹配,然后生成相应的obj代码。问题是我目前使用if-else结构,即如何在解析器中避免大量if-else语句
if(strcmp(mnemonic_read, "mov")==0)
// generate code for mov instr
else if(strcmp(mnemonic_read,"cmp")==0)
// generate code for cmp
我可以在不使用大量if-else语句的情况下做到这一切吗?我可以通过mnemonic_read
字符串变量调用函数吗?
为什么不使用真正的解析器?那么这个问题首先不存在。 – harold
有一些称为元汇编程序的工具可将助记符转换为目标代码。 – 2012-09-08 16:53:48