问题一:单测用例的格式是怎样的?请给出一个例子。
单测用例的格式是怎样的?请给出一个例子。
参考回答:
单测用例的格式包含机器码的大端表示和对应的汇编代码,例如:
// 0a011f1a| adc w10, w8, wzr ADC_W_W_W(&buffer, R10, R8, RZR); assert(buffer == bswap32(0x0a011f1a));
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/666110
问题二:反汇编器在hyengine中有什么作用?
反汇编器在hyengine中有什么作用?
参考回答:
反汇编器在hyengine中的目的是为了在优化器中识别机器码,并取出机器码中的参数使用,而不是为了完整的反汇编功能。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/666111
问题三:如何在优化器中判断某条指令是否为mov xd, xm?
如何在优化器中判断某条指令是否为mov xd, xm?
参考回答:
在优化器中,可以通过宏IS_MOV_X_X来判断某条指令是否为mov xd, xm,例如:
#define IS_MOV_X_X(ins) \ (IMM11(ins >> 21) == IMM11(HY_INS_TEMPLATE_MOV_X_X >> 21) && \ IMM11(ins >> 5) == IMM11(HY_INS_TEMPLATE_MOV_X_X >> 5))
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/666112
问题四:如何取出mov xd, xm指令中xd中的d的具体数值?
如何取出mov xd, xm指令中xd中的d的具体数值?
参考回答:
可以通过宏RD来取出xd中的d的具体数值,例如:#define RD(ins) IMM5(ins)。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/666113
问题五:为反汇编器也做了哪些对应的单测?
为反汇编器也做了哪些对应的单测?
参考回答:
为反汇编器也做了相应的单测,以验证其能正确识别机器码,例如:
// e7031eaa| mov x7, x30 assert(IS_MOV_X_X(bswap32(0xe7031eaa)));
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/666114