A method for the automated generation of machine instruction decoders for a wide range of processor architectures that uses the target architecture assembler is proposed. A software tool based on this method is implemented and tested on a number of microcontrollers, such as PIC16F877A, AVR, Tricore, and H8/300H.
This is a preview of subscription content, log in to check access.
Buy single article
Instant unlimited access to the full article PDF.
Price includes VAT for USA
Ramsey, N. and Fernandez, M.F., The New Jersey machine-code toolkit, Proc. of the USENIX Technical Conference, 1995, pp. 289–302.
Ramsey, N. and Fernandez, M.F., Specifying representations of machine instructions, ACM Trans. Program. Lang. Syst., 1997, vol. 19, no. 3, pp. 492–524.
Hsieh, W.C., Engler, D.R., and Back, G., Reverse-engineering instruction encodings, Proc. of the General Track: 2002 USENIX Annual Technical Conference, 2001, pp. 133–145.
Collberg, C.S., Reverse interpretation + mutation analysis = automatic retargeting, Proc. of the ACM SIGPLAN 1997 Conference on Programming Language Design and Implementation, 1997, pp. 57–70.
Collberg, C.S., Automatic derivation of compiler machine descriptions, ACM Trans. Program. Lang. Syst., 2002, vol. 24, no. 4, pp. 369–408.
Rubanov, V.V. and Mikheev, A.S., An integrated environment for describing the system of instructions of embedded processors, Trudy ISP RAN, 2006, vol. 9, pp. 143–158.
Krishna, R. and Austin, T., Efficient Software Decoder Design, IEEE Computer Society Technical Committee on Computer Architecture Newsletter, 2001.
Theiling, H., Generating decision trees for decoding binaries, Proc. of the ACM SIGPLAN Workshop on Languages, Compilers and Tools for Embedded Systems, 2001, pp. 112–120.
Qin, W. and Malik, S., Automated synthesis of efficient binary decoders for retargetable software toolkits, Proc. of the 40th Annual Design Automation Conference, 2003, pp. 764–769.
Translated by A. Klimontovich
About this article
Cite this article
Fokina, N.Y., Solovev, M.A. Automated Generation of Machine Instruction Decoders. Program Comput Soft 45, 390–397 (2019). https://doi.org/10.1134/S0361768819070065