Abstract

This chapter focuses on assemblers and debuggers. The assembler translates the assembly language program into binary machine code, just as the compiler translates the high-level source program into binary machine code. The assembler does all the work of remembering the values of symbols and the addresses of data elements. However, unlike the high-level language, each assembly language instruction corresponds to exactly one machine instruction. The VAX assembler performs the clerical task of translating the symbolic assembly language program into the binary machine language program. The chapter discusses the mechanisms utilized by an assembler in performing the translation process. These mechanisms include the location counter, the definition and use of symbols, storage allocation, expression evaluation, and control statements. Debugging assembly language programs can be difficult and frustrating. As in all programming, the most important step is preventing bugs through careful design and reasoning about the program. The chapter discusses the VAX/VMS debugger that can be used with high-level languages and assembly language.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call