IBM-PC汇编语言程序设计4课件.ppt

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

第四章汇编语言程序格式;汇编程序;目前常用的汇编程序 Microsoft: MASM Borland: TASM 注:教材中的例题及说明均已MASM5.0版本为准;4.2伪操作;4.2.1处理器选择伪操作 ;4.2.2 段定义伪操作 1、完整的段定义伪操作 格式: 段名 SEGMENT [定位类型, 组合类型, 使用类型,类别] …… 段名 ENDS;例:定义用户堆栈 stack_seg segment dw 40H dup (?) tos label word stack_seg ends code_seg segment …… mov ax, stack_seg mov ss, ax mov sp, offset tos …… code_seg ends;ASSUME伪操作 格式 ASSUME 段寄存器:段名 [, 段寄存器:段名, … ] 其中: 段寄存器为CS、DS、ES、SS中的一个 段名为用伪操作SEGMENT定义过的段名 例 ASSUME CS: cc , DS:aa ASSUME 伪操作的作用 明确段和段寄存器的关系,指示汇编程序指令中用到的标号、 过程及变量所在的段。 其中 对标号、过程必须用 CS 段寄存器指示 对变量可用 CS、DS、ES、SS 段寄存器指示; 若未用ASSUME语句指示指令中用到的标号、过程和变量所在 的段, 汇编程序将给出错误信息。 ASSUME语句只起指示作用,并无实际的操作。 在程序中引用定义的变量做内存操作数时, 需按寻址方式用传送指令(如MOV)给相应的段寄存器赋值。;data_seg1 segment … data_seg1 ends ; 定义数据段 data_seg2 segment … data_seg2 ends ; 定义附加段 code_seg segment assume cs:code_seg, ds:data_seg1, es:data_seg2 start: mov ax, data_seg1 mov ds, ax mov ax, data_seg2 mov es, ax ; 段地址?段寄存器 … code_seg ends end start;类型及属性的说明;2、存储模型与简化段定义伪操作(MASM5.0以上版本) 简化段定义的特点:虽然没有SEGMENT那样的较完整的 表达能力,但简单易用。;存储模型(7种);模型选项:;(2)简化段定义;(2)、编写一个独立的汇编语言程序,不需如(1)那样细分,一般采用: .CODE[段名] 对于一个代码段的模型,段名为可选项; 对于多个代码段的模型,则应为每个代码段指定段名 .DATA .STACK[大小] 默认值是1KB;(3)与简化段定义有关的预定义符号;(4)用MODEL定义存储器模型时的段默认属性;(5)简化段定义举例;例4.3 .MODEL SMALL ;定义存储模型 .STACK 100H ;定义堆栈段 .CONST ;定义常数段 …………. ;数据定义伪操作 .DATA ;定义数据段 …………. ;数据定义伪操作 .CODE ;定义代码段 START: ;程序开始执行地址 MOV AX,DGROUP MOV DS,AX …………. MOV AX,4C00H INT 21H END START ;程序结束;例4.4 .MODEL SMALL ;定义存储模型 .FARDATA ;定义远初始化数据段 …………. ;数据定义伪操作 .DATA ;定义数据段 …………. ;数据定义伪操作 .CODE ;定义代码段 START: ;程序开始执行地址 MOV AX,@DATA MOV DS,AX

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档