首先是在armdefs.h的ARMul_State结构也就是表明ARMulator状态的state变量的结构增加了一个元素disassemble,用它来标明现在反编译功能是否打开的。
然后在wrapper.c的init函数中state->disassemble=0;让此功能默认为关闭的状态。
下面对wrapper.c文件中的sim_do_command函数进行修改,这个函数的作用在3.1.1提到过,可以用来是用sim命令向ARMulator发送信息,这里就用上了这个功能。参数cmd就是sim命令后面跟着的参数,通过在函数中对这个参数进行判断然后设置state->disassemble的值,通过对值的判断就可以实现对此功能的打开和关系。完成后调用 sim disassemble on 或者 sim disas on 就可以打开功能,调用 sim disassemble off 或者 sim disas off 就可以关闭功能。