- 1、本文档共68页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言第四章PPT
第 4 章汇编语言程序设计;主要内容;1. 汇编语言源程序与汇编程序;2. 汇编语言程序设计与执行过程;3. 汇编语言源程序结构;例:有两个5字节数3B74AC60F8H、20D59E36C1H分别放在自DATA1和DATA2开始的存储区中,低字节在低地址处,编一程序段将两数相加,结果存放于从DATA1开始的单元中。;汇编语言源程序的格式:;1. 汇编语言语句分类;2. 汇编语言语句格式;1) 标号、名字;2) 操作码;3) 操作数;(1)常 量;2)变 量;3)表达式;(1)算术运算和逻辑运算符;(2)关系运算符;(3)取值运算符
用以分析一个存储器操作数的属性,如段、偏移量或类型等;
取地址的偏移量
格式:OFFSET 变量名或标号
功能:取变量名或标号所在段的段内偏移量。
MOV SI,OFFSET DATA1
? 取段地址
格式:SEG 变量名或标号
功能:取变量名或标号所在段的段地址。
MOV AX,SEG DATA1
MOV DS,AX
注意:SEG、OFFSET只能对符号地址操作
MOV BX,OFFSET [SI] ×
MOV AX, SEG [BX] ×;求变量名或标号的类型值
格式:TYPE 变量名或标号
功能:返回一个数字值。若TYPE加在变量名前,返回该变量的类型属性;若加在标号前,返回该标号的距离属性。;求长度
格式:LENGTH 变量名
功能:返回一个变量名所占存储单元(字节、字或双字)的数目。若变量是用重复定义子句DUP说明的,则返回DUP前面的数值;其余返回1。 ;例: BUF DW 100
ARRAY DD 1, 2, 3
BUF1 DB 100 DUP(0)
BUF2 DB 200 DUP(20H)
BUF3 DD 100 DUP(13H)
则
LENGTH BUF=100
LENGTH ARRAY=1
LENGTH BUF1 = 100
LENGTH BUF2 = 200
LENGTH BUF3 = 100;(4)属性运算符
属性运算符可以规定存储器操作数的某个属性,如类型
PTR运算符
格式:类型 PTR 表达式
功能:用于指出变量、标号或地址表达式的类型属性,新的类型只在当前指令内有效。;(5)其他运算符
方括号[ ] 运算符
指令中用方括号表示存储器操作数,方括号的运算规则说明如下:
① 方括号的内容表示存储器操作数的偏移地址;
② 有多对方括号顺序排列时,操作数的偏移地址等于各方括号内容之和;
③ 一个常量后面跟有方括号时,操作数的偏移地址等于该常量与方括号内容之和;
④ 一个变量后面跟有方括号时,操作数的偏移地址等于该变量的偏移地址与方括号内容之和。例如:
MOV AL, CONST [BX] ;AL←[BX+COUNT]
MOV SI, 4[BX] ;SI←[BX+4]
MOV AL, [BX][SI][-5] ;AL←[BX+SI-5]
不允许BX和BP同时出现在同一个地址表达式的方括号 里;
不允许SI和DI同时出现在同一个地址表达式的方括号里;
若方括号内包含基地址指针BP,则隐含使用SS提供段地址,否则均隐含使用DS提供段地址。;§4.2 伪指令;伪指令;常用伪指令;一、数据定义伪指令;⑴ 数值表达式
实际上是为数据分配存储单元,并把变量名作为该存储单元的名称。若要定义多个相同类型的数据,可用逗号把这些数据隔开,并依次分配在相邻的存储单元。;⑵ ASCII字符串
字符串必须用引号括起来,并且不超过256个字符,它们在内存中按地址递增顺序自左向右依次存放字符的ASCII码。
例:STRING DB ‘ABC’
STRING1 DB ‘ How are you? ’
例: DATA DB ‘AB’
DATA1 DW ‘AB’ ;⑶ ?——为数据项分配存储单元的一种方法,只是存储单元中不预置确定的值,常用来预留存储单元,存放程序的中间结果或最终结果。
例: RESULT DB ?;预置一个字节单元,其值不定
ABC DB 12H , ?, ? , 24H
DEF DW ?,895H ,?;⑷ 重复定义子句 DUP——可以为若干个重复数据分
配存储单元。
格式: n DUP (表达式)
说明: n:重复次数 表达式:
文档评论(0)