本次笔记内容:
15.程序格式与伪操作-2
16.上机过程-1(前15分钟)
注:我找到了对应内容的课件,请见我于GitHub的CS笔记仓库。因此,为了节省时间,我只记录老师上课强调的内容与对应ppt页码。
本节课对应幻灯片:汇编语言程序设计-程序格式,第15页起。
文章目录
-
-
- P15 简化段定义
- P16 编译器的预定义
- P18 段组定义伪操作
- P21 程序开始和结束伪操作
- P22 数据定义及存储器分配伪操作
- P23 数据定义及存储器分配伪操作 - 例2
- P24 定义变量名字
- P25 再谈 LABEL 伪操作
- P26 表达式赋值伪操作
- P27 地址计数器
- P28 对准伪操作 ORG
- P29 EVEN 使下一地址从偶地址开始
- P30 基数控制伪操作 RADIX
- P31 汇编语言程序格式
- P32 表达式操作符 - 算术操作符
- P33 表达式操作符 - 算逻辑和移位操作符
- P34 表达式操作符 - 关系操作符
- P35 表达式操作符 - 数值回送操作符
- P36 例子
- P37 表达式操作符 - 属性操作符
-
P15 简化段定义
没有 SEGMENT
等,一个段的开始代表上衣段的结束。
P16 编译器的预定义
编译器预定义了一些段名,如@data
等。并且,常量表数据段在 link 后组成了段组,为DGROUP
。
在 .startup
下的代码中,做了什么?
- 前两行,代码段在 1A09 ,DS即将要被改成 1A0B ;1A0B在下,说明了
先放代码,再放数据
。 做简化段时,代码在上面,别看我们在之前声明了数据
这与完整段定义不同。- 后面,第三行,将 SS(1A09) 赋值给 BX(1A0B),1A09 - 1A0B = -2 (FFFE);
之后 BX 逻辑左移4位
;成为 FFE0 。- 之后,调整 SS 与 SP 的值。
P18 段组定义伪操作
在代码中,将 ds 与段组名联系起来,以后的操作可以更简洁些。
P21 程序开始和结束伪操作
TITLE 与 NAME 实际用处不大(在生成列表文件时打印表头)。
程序找 [label] ,从这里开始执行。