微机第13次课.ppt

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

微机原理及应用(第12次课) 主要内容: 第4章 8086/8088汇编语言程序设计 4.2 8086/8088汇编语言的基本语法 (伪指令语句部分) 4.2 8086/8088汇编语言的基本语法(续) 二、伪指令语句 格式: [名字] 伪指令指示符 [操作数表][;注释] 名字可以是变量名、段名、过程名、符号名等,名字后无:。 操作数可以是常数、变量、字符串、表达式等。 8086宏汇编语言MASM规定的常用伪指令语句,我们主要学习: 数据定义伪指令 符号定义伪指令 类型定义伪指令 程序块定义伪指令 子程序定义伪指令 1、数据定义伪指令 用于为数据项分配存储单元并预置初值。 格式: [变量名] DB/DW/DD/DQ/DT 表达式,表达式,… DB —— 变量为字节数据类型(1B) DW—— 变量为字数据类型(2B) DD —— 变量为双字数据类型(4B) DQ —— 变量为四字数据类型(8B) DT —— 变量为10字节数据类型(10B) 变量名可表示定义的数据区的首单元地址。 表达式可以是常数、数值表达式、地址表达式、字符串、数据表等。 地址表达式只适用于DW和DD伪指令。 DB伪指令按从小到大的地址顺序在存储器单元中存放数据。 DW、DD、DQ、DT伪指令,在对存储器单元存放数据时遵循“低对低、高对高”的原则。 例1 ST DB 96, 20, ?, -57 ; 以ST为首址连续分配4个字节的存储单元 STR DB ‘AB’ ; 定义字符串,对于DB定义的字符串,按顺序存放字符的ASCII码 STR1 DW ‘AB’ STR2 DW ‘ABC’ 对不对? 数据定义时常用到DUP——重复操作符 变量名 DB/DW/DD/DQ/DT n DUP(初值) 初始化n个存储单位(数据项),n为重复次数(n0),初值可以是?,表示初值不确定,可以是一个数据项表,也可以是一个数值表达式或地址表达式。 例2 TWIN DB 5 DUP(0FFH) ; 连续分配5个字节单元,初值均为0FFH DB 100 DUP(?) ; 连续分配100个字节单元,初值不定 例3 变量1 DW 变量2 ;取变量2的偏移量对变量1置初值 变量1 DD 变量2 ;取变量2的段地址和偏移量对变量1置初值 例4 已知DATA段的段地址为2000H DATA SEGMENT ZERO DB 0 ONE DW ONE TWO DD TWO FOUR DW FOUR+5 SIX DW ZERO-TWO ;-3=FFFDH ATE DB 5*6 DATA ENDS 小练习 DATA SEGMENT BUF DW AB,2,3,5,7 DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE STA: MOV AX,DATA ;送段地址给DS MOV DS,AX MOV DX,BUF+3 MOV AH,4CH ;返回DOS INT 21H CODE ENDS END STA 2、符号定义伪指令EQU/= 格式:符号名 EQU 表达式 符号名=表达式 表达式可以是任何有效的表达式、常数、寄存器名等符号,甚至可以是指令助记符 =语句与EQU语句的相同点在于:符号非变量,故用EQU、=定义的符号不占用存储器单元 区别在于:一个符号经EQU赋值后,在整个程序中变不能再对它赋值; =语句可以在同一源程序中重复定义符号而无需解除。 例5 COUNT EQU CX ; 用COUNT代替CX通用寄存器 M EQU MOV ; 用M代替MOV指令助记符 ONE EQU 1 ;用符号代替常数,便于修改 XYZ EQU [BX+3] ;用符号代替存储器单元 例6 给变量或标号定义新类型并取一个新名字 BYTES DB 4 DUP(?) FIRST_W EQU WORD PTR BYTES FIRST_DW EQU DWORD PTR BYTES 例7 “$”与EQU结合使用 $表示位置计数器的值,可在表达式中使用,其值是程序下一个可分配的存储器 BUF DW ?, ? ; 定义两个字变量,共占用4个字节的内存空间

文档评论(0)

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

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

1亿VIP精品文档

相关文档