- 1、本文档共97页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Chapter6-8.pdf
汇编语言程序设计
汇编语言程序设计
吴 向 军
中山大学计算机科学系
2003.03.20
中山大学计算机科学系
2
第6章程序的基本结构
6.1 源程序的基本组成
6.1.1 段的定义
在定义段时,每个段都有一个段名。在取段名时,要取一个具有一定含义
的段名。段定义的一般格式如下:
段名 SEGMENT [对齐类型] [组合类型] [类别]
… ;段内的具体内容
段名 ENDS
其中:“段名”必须是一个合法的标识符,前后二个段名要相同。可选项“对
齐类型”、“组合类型”和“类别”的说明作用请见6.3节中的叙述。
段的长度是指该段所占的字节数:
如果段是数据段,则其长度是其所有变量所占字节数的总和;
如果段是代码段,则其长度是其所有指令所占字节数的总和。
在通常情况下,一个段的长度不能超过64K,在80386及其以后系统的保护
方式下,段基地址是32位,段的最大长度可达4G。
中山大学计算机科学系
3
第6章程序的基本结构
一个数据段的定义例子:
DATA1 SEGMENT
word1 DW 1, 9078H, ?
byte1 DB 21, ‘World’
DD
DATA1 ENDS
一个代码段的例子:
CODE1 SEGMENT
MOV AX, DATA1 ;把数据段DATA1的段值送AX
MOV DS, AX ;把AX的值送给DS,即:DS存储数据段的段值
…
MOV AX, 4C00H
INT 21H ;调用DOS功能,结束程序的运行
CODE1 ENDS
中山大学计算机科学系
4
第6章程序的基本结构
6.1.2 段寄存器的说明语句
在汇编语言源程序中可以定义多个段,每个段都要与一个段寄存器建立一
种对应关系。建立这种对应关系的说明语句格式如下:
ASSUME 段寄存器名:段名[, 段寄存器名:段名, ……]
其中:段寄存器是CS、DS、ES、SS、FS和GS,段名在段定义语句说明。
例如,
ASSUME CS:CODE1, DS:DATA1
说明了:CS对应于代码段CODE1,DS对应于数据段DATA1。
在ASSUME语句中,还可以用关键字NOTHING来说明某个段寄存器不与
任何段相对应。下面语句说明了段寄存器ES不与某段相对应。
ASSUME ES:NOTHING
在通常情况下,代码段的第一条语句就是用ASSUME语句来说明段寄存器
与段之间的对应关系。
在代码段的其它位置,还可以用另一个ASSUME语句来改变前面ASSUME
语句所说明的对应关系,这样,代码段中的指令就用最近的ASSUME语句所建
立的对应关系来确定指令中的有关信息。
中山大学计算机科学系
5
第6章程序的基本结构
例6.1:汇编语言段及其段说明语句的作用。
DATA1 SEGMENT ;定义数据段DATA1
word1 DW 5678h
byte1 DB “ABCDEFG”
CODE1 SEGMENT ;编写代码段CODE1
DATA1 ENDS
ASSUME CS:CODE1, DS:DATA1, ES:DATA2 ;①
DATA2 SEGMENT ;定义数据段DATA2
您可能关注的文档
- CADCAMCNC2012实验报告格式.doc
- CADCAM第3章.pdf
- CAD_CAM学习指南.doc
- Categories and Subject Descriptors C.2.2 [Computer Systems Organization] COMPUTERCOMMUNICAT.pdf
- CCNA_Discovery-Designing_and_Supporting_Computer_Networks-IRG.pdf
- CCS开发软件安装.ppt
- CD2_计算机实践_《C/C++语言程序设计》_题目列表.doc
- CD3_计算机实践_《C/C 语言程序设计》报告模板 - 副本1.doc
- CD3_计算机实践_《C/C++语言程序设计》报告模板2 - 副本.doc
- Ch02-基本程序设计.pdf
文档评论(0)