2.1基本组译器功能
2.1.1简易SIC组译器
组译器的两阶段处理
1.扫描原始程序中的标记,并计算位置2.执行前述的转换动作
组译器指引(虚拟指令)
1.用于只是组译器该如何处理原始程式,而不会转换成指令2.EX:BYTE,WORD是转换位元or字组指令,RESB,RESW保留记忆体空间
object code

一个机器码包含标头(Header),本文(text),结束(end)的纪录
标头纪录:栏1 H栏2-7 程式名称栏8-13 目的程式的起始位置栏14-19 目的程式的长度(16进值)本文纪录:栏1 T栏2-7 目的码的起始位置栏8-9 目的码的长度栏10-69 目的码结束纪录:栏1 E栏2-7 目的程式中第一个可执行的指令
2.1.2组译器演算法与资料结构
资料结构

OPTAB(运算码表)
内容:查询助记码转译成对应的机器语言指令格式和长度第一阶段:验证原始码是否正确找出指令长度来增加LOCCTR值第二阶段:确定指令格式转成机器码
LOCCTR(位置计数器)
协助位址的分配初始值即为start处理完每一行的叙述后,长度加到LOCCTR中
SYMTAB(符号表)
内容:纪录名称纪录位址错误旗标资料或指令的其他资讯(资料型态或长度)第一阶段:找出原始程式的标记和LOCCTR值存到符号表中第二阶段:在SYMTAB中寻找运算元的标记符号