【系统程式】2.1基本组译器功能

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中寻找运算元的标记符号

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章