程序设计语言基础知识-基础

程序设计语言

基础

汇编程序基本原理

1.功能:将用汇编语言编写的程序翻译成机器指令程序

2.组成
指令语句:操作必须在程序运行时执行

3.指令语句分类
传送指令

  • 算术运算指令
  • 逻辑运算指令
  • 移位运算指令
  • 转移指令
  • 处理机控制指令

伪指令语句

  • 编译后不产生机器代码
  • 源程序被编译时产生伪指令所指示的操作

宏指令语句

  • 即宏的引用

3.原理:两次扫描翻译
第一次扫描

  • 定义符号的值,并创建符号表ST(汇编时所遇到的值)
  • 机器指令表MOT1(每条指令的记忆码和指令的长度)
  • 位置计数器或者单元地址计数器LC(下一条被汇编的指令的偏移地址)
  • 伪指令表POT1(伪指令助记符和相应的子程序入口)

第二次扫描

  • 目标:生成可执行程序
  • 使用第一次的ST、MOT2、POT2
  • 汇编语言翻译成二进制机器指令的过程:首先,把机器指令助记符转换成二进制机器指令操作码;然后,求出各操作数区操作数的值(二进制表示)

编译程序编译基本原理

1.功能:把改机语言书写的源程序翻译成与之等价的目标程序

2.编译过程
——词法分析:对源程序逐字符扫描

  • "单词"符号是程序设计语言的基本语法单位
  • 单词常以二元组的方式输出(单词种类,单词自身的值)

——>语法分析:根据语言的语法规则将单词符号序列分解成各类语法单元,如:表达式、语句、程序
——>语义分析:分析各语法结构的含义、检查源程序是否包含静态语义的错误,并收集类型值的信息供代码生成阶段使用

——>中间代码生成:根据语义分析的输出生成中间代码

  • 四元式:(运算符,运算对象1,运算对象2,运算结果)

——>代码优化:对前面机械性生成的代码进行时间与空间上的优化,以提高效率

  • 可以在中间代码生成阶段,也可以在目标代码生成阶段

——>目标代码生成:把中间代码变成特定机器上的绝对指令代码、可重定位的指令代码或汇编指令代码

解释程序基本原理

1.解释程序基本结构
分析部分

  • 词法分析
  • 语法分析
  • 语义分析——>中间代码

解释部分

  • 解释程序在词法、语法和语义分析同编译编译程序,但在运行时,它直接执行源程序或者源程序的中间代码表示形式

2.高级语言编译与解释方式的比较
效率: 编译 > 解释
灵活性: 编译 < 解释
可移植性: 各有特点。有的编译系统将两种方式进行结合

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值