第三讲程序设计3-1.ppt

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 3 章 教学重点 第2章学习了8086硬指令,第3章介绍MASM基本的伪指令,从程序结构角度展开程序设计。第3章重点掌握: 程序的格式、开发方法 参数的表达、变量的定义 变量和标号的属性 分支结构程序设计 循环结构程序设计 子程序结构程序设计 3.1 汇编语言的源程序格式 完整的汇编语言源程序由段组成 一个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列 需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点 所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内 通常,程序还需要一个堆栈段 语句格式 ⑴ 执行性语句——由硬指令构成的语句,它通常对应一条机器指令,出现在程序的代码段中: 标号: 硬指令助记符 操作数,操作数 ;注释 ⑵ 说明性语句——由伪指令构成的语句,它通常指示汇编程序如何汇编源程序: 名字 伪指令助记符 参数,参数,… ;注释 汇编语言源程序 源程序分别用两种格式书写 第一种格式从MASM 5.0开始支持 简化段定义格式 第二种格式MASM 5.0以前就具有 完整段定义格式 3.1.1 简化的段定义格式 以圆点开始的伪指令说明程序的结构,必须具有存储模式伪指令.model。 随后,以.stack、.data、 .code分别定义数据段、堆栈段、代码段。一段的开始自动结束上一段. 简化段定义格式 MASM 5.x支持 ;SampleA.ASM .model small .stack .data ... ;在数据段定义数据 .code start:mov ax,@data mov ds,ax ... ;在代码段填入指令序列 mov ax,4c00h int 21h ... ;子程序代码 end start 存储模式伪指令 .MODEL 存储模式 使用简化段定义,必须有存储模式伪指令 .model语句必须位于所有段定义语句之前 存储模式决定一个程序的规模,确定进行子程序调用、指令转移和数据访问的缺省属性 MASM有7种不同的存储模式: ① TINY ② SMALL ③ COMPACT ④ MEDIUM ⑤ LARGE ⑥ HUGE ⑦ FLAT TINY微型模式 微型模式是MASM 6.0才引入的 用于创建COM类型程序 用微型模式编写汇编语言程序时,所有的段地址寄存器都被设置为同一值 这意味着代码段、数据段、堆栈段都在同一个段内,不大于64KB;访问操作数或指令都只需要使用16位偏移地址 SMALL小型模式 一般的程序 在小型模式下,一个程序至多只能有一个代码段和一个数据段,每段不大于64KB 这里的数据段是指数据段、堆栈段和附加段的总和,它们共用同一个段基址,总长度不可超过64KB;因此小模式下程序的最大长度为128KB 访问操作数或指令都只需要使用16位偏移地址;这意味着诸如指令转移、程序调用以及数据访问等都是近属性(NEAR),即小型模式下的调用类型和数据指针缺省分别为近调用和近指针 COMPACT紧凑模式(略) 适合于数据量大但代码量小的程序 紧凑模式下,代码段被限制在一个不大于64KB的段内;而数据段则可以有多个,超过64KB 这种模式下的调用类型缺省仍为近调用;而数据指针缺省为远(FAR)指针,因为必须用段地址来区别多个数据段 MEDIUM中型模式(略) 中型模式是与紧凑模式互补的模式 适合于数据量小但代码量大的程序 中型模式的代码段可以超过64KB,有多个;但数据段只能有一个不大于64KB的段 这种模式下的数据指针缺省为近指针;但调用类型缺省是远(FAR)调用,因为要利用段地址区别多个代码段 LARGE大型模式 较大型程序通常采用的存储模式 大型模式允许的代码段和数据段都有多个,都可以超过64KB;但全部的静态数据(不能改变的数据)仍限制在64K字节内 大型模式下的调用类型和数据指针缺省分别为远调用和远指针 HUGE(巨型模式)与大型模式基本相同,只是静态数据不再被限制在64K字节之内 FLAT平展模式 平展模式用于创建一个32位的程序, 它只能运行在32位x86 CPU上。 DOS下不能使用FLAT模式, 而编写32位Windows 9.x或Windows-NT的程序时,必须采用FLAT模式。 DOS下编程可选择前六种模式,一般可以选用SMALL模式 TINY模式产生COM程序,其他模式产生EXE程序,FLAT模式只能用于32位程序 简化段定义伪指令 .STACK [大小] ;堆栈段开始 .DATA ;数据段开始 .CODE [段名] ;代码段开始 简化段定义伪指令指明一个逻辑段的开始,同时自动结束前面的一个段 采用简化段定义伪指令前,需有.model语句 使

文档评论(0)

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

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

1亿VIP精品文档

相关文档