4.汇编语言语法与其程序格式课件.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.汇编语言语法与其程序格式课件

第三章汇编语言程序格式;概述1; 4.1.2 汇编语言的程序格式 使用汇编语言编写程序时必须遵循的语法规则。 完整的汇编语言源程序由段组成:若干个代码段、数据段、附加段或堆栈段;独立运行的程序必须包含一个代码段,并指出程序的启动语句;所有的执行语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内;堆栈段不是必须的,但最好设置堆栈段。 编写汇编语言源程序通常应遵循所谓“标准格式”,本书介绍标准格式的两种表示形式,一种符合MASM 5.0及更新版本的语法规则,称为“简化段定义格式”;另一种符合早期版本的语法规则,称为“完整段定义格式”(5.0及以后的版本也支持)。;4.1 汇编语言语句格式 ;;;;; 4.2 参数、变量和标号伪指令 4.2.1 数值型参数 常数、数值表达式、运算符及运算符 的优先级 4.2.2 变量定义伪指令 4.2.3 变量和标号的属性 变量和标号的三种属性、属性操作符;3.2.1 数值型参数;数值型参数;数值型参数;数值型参数;数值型参数; 3.2.2 变量定义伪指令 为变量申请固定长度的存储空间,并将相应存储单 元初始化。 一般格式: 变量名为用户自定义的标识符,表示初值表首个 数据的偏移地址,称为符号地址。如省略变量名, 汇编程序只为初值表分配空间,无符号地址。 伪指令助记符:指DB、DW等。 初值表是由逗号分割开的参数,可以是常数、表 达式、问号、DUP等。问号(?)表示初值不确定, 即不赋初值;DUP为重复分配操作符,格式为: 重复次数 DUP(被重复数据列表);变量定义伪指令(2);变量定义伪指令(3);变量定义伪指令(4);变量定义伪指令(5);变量定义伪指令(6);变量定义伪指令(7);变量定义伪指令(8)(end);3.2.3 变量和标号的属性(1);变量和标号的属性(2);地址操作符(1);类型操作符(1); 4.3.2 简化段定义格式 简化段定义标准格式: .model small .stack .data .code .startup .exit 0 end;存储模式;TINY 模式;SMALL 模式;;预定义符号;程序开始;数据段、堆栈段调整示意图;程序结束; 4.3.1 完整段定义格式 1.段定义伪指令 段名 SEGMENT [定位] [组合] [段字] [‘类别’] ……… 段名 ENDS ⑴定位属性:指定逻辑段的起始地址 BYTE:为下一个可用的字节地址(xxxx xxxxB) WORD:为下一个可用的偶数地址(xxxx xxx0B) DWORD:下一个可被4整除的地址(xxxx xx00B) PARA:下一个可被16整除的地址(xxxx 0000B) PAGE:下一个可被256整除的地址(0000 0000B) ;完整段定义格式;段字属性、类别属性;指定段寄存器;段组伪指令;段顺序伪指令 ; 例 4.7: 按要求写出适当的段定义:数据段起始于字边界,连接时同名逻辑段连接成一个物理段,类别名为‘data’;堆栈设置在数据段内,起始地址为DS:100处,大小为200个字,sp指向栈顶;堆栈区后面为100个字的数组array;代码段cseg将100个字压入自设的堆栈。 dseg segment word public ‘data’ org 100h dw 200 dup(?) topsp equ this word array dw 100 dup(5868h) dseg ends;cseg segment ‘code’ assume cs:cseg,ds:dseg,ss:dseg start: mov ax,dseg mov ds,ax mov ss,ax mov sp,offset topsp ……… mov ah,4ch int 21 h cseg ends end start;例.6 在程序中使用段组合 stackseg segment stack db 256 dup(?) stackseg ends data1 segment word public const const1 dw 100 data1 ends data2 segment word public vars var1 dw ? data2 ends datagroup group data1,data2 ;进行段组合 codeseg segment para public co

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档