- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章汇编语言程
第6章 汇编语言程序设计;指令:是可执行的,汇编后由相应的机器代码所取代;
伪指令:是不可执行的,只是在源程序汇编期间由汇编程序处理的命令,指示汇编程序为数据分配内存空间,或者提供段定义等信息,不产生任何机器代码 ;6.1 汇编语言程序概述;.MODEL SMALL
.STACK 100H
.DATA
S1 DB 100 DUP(5)
S2 DB 100 DUP(?)
.CODE
.STARTUP
Mov ax, ds
Mov es, ax
Mov cx, 50
CLD
MOV SI, OFFSET S1
MOV DI, OFFSET S2
REP MOVSB
Mov ah ,9
Mov dx, offset s2
Int 21h
.EXIT 0
END;6.1.1 汇编语言程序的语句格式;二、说明性语句
说明性语句是由伪指令构成的语句,它通常指示汇编程序如何汇编源程序。其语句完整格式为:
名字 伪指令助记符 参数,参数,... ;注释
1、名字是用户定义的标识符,其命名规则与标号相同。名字通常用于定义变量名、过程名或者段名。名字和伪指令助记符之间用空格或制表符分隔。
2、伪指令助记符
伪指令不产生CPU动作,是在程序执行前由汇编程序处理的说明性指令。例如X DB 10;DB即为定义变量X的伪指令。
3、参数
伪指令的参数可以是常数、变量名、表达式等,可以有多个,参数之间用逗号分隔。;6.1.2 汇编语言的程序格式;----------完整段定义格式:
STACK_SEG SEGMENT STACK ;定义堆栈段STACK_SEG
DW 100H DUP(?) ;分配堆栈段大小为512字节
STACK_SEG ENDS ;堆栈段结束
DATA_SEG SEGMENT ;定义数据段DATA_SEG
S1 DB 100 DUP(5)
S2 DB 100 DUP(?)
DATA_SEG ENDS ;数据段结束
CODE_SEG SEGMENT ;定义代码段CODE_SEG
ASSUME CS:CODE_SEG,DS:DATA_SEG,ES:DATA_SEG
START: MOV AX,DATA_SEG ;设置数据段的段地址DS
MOV DS,AX
CLD ;程序代码
MOV SI,OFFSET S1
MOV DI,OFFSET S2
REP MOVSB
MOV AX,4C00H ;返回DOS
INT 21H
CODE_SEG ENDS ;代码段结束
END START ;汇编结束,程序起始点为START;----------简化段定义格式完成例6.1。
.MODEL SMALL ;定义程序的存储模式(一般采用small)
.STACK ;定义堆栈段
.DATA ;定义数据段
X DB 10 ;定义数据
Y DB 5
Z DB 1
ANS DB ?
.CODE ;定义代码段
.STARTUP ;程序起始点,并建立DS、SS内容
MOV AL,X ;程序代码
ADD AL,Y
SUB AL,Z
MOV ANS,AL
.EXIT0 ;程序结束点,返回DOS
END ;汇编结束;6.1.3 伪指令;DB——定义字节,用于分配一个或多个字节单元。
DW——定义字,用于分配一个或多个字单元,每个字的低位字节存储在低地址,高位字节存储在高地址。
DD——定义双字,用于分配一个或多个双字单元,每个双字的低位字存储在低地址,高位字存储在高地址。
DF/DQ/DT ——定义三字/四字/十字节。
1、数值表达式
【例6.5】
ORG 100H ;从偏移地址100H处开始安排数据或程序
VAR1 DB 01H, -1
VAR2 DW 1234H, 78H;2、?表达式
ANS DB ?
汇编程序仍然为其分配存储单元,但不预留确定的值。预留的单元常用来存放程序的中间结果和最终结果。
3、带DUP的表达式
VAR1 DB 5 DUP(0) ? ;等价于VAR1 DB 0,0,0,0,0
DW 2 DUP(?) ;变量名缺省,等价于DW ?,?
VAR2 DB 2 DUP(3 DUP(3),2) ;DUP的嵌套使用
;
您可能关注的文档
最近下载
- 高中_状语从句_练习.pdf VIP
- 近代中国史料丛刊一辑 0667 八十自述(何成濬).pdf
- The Monkey King《美猴王(2023)》完整中英文对照剧本.docx VIP
- 好书推荐之柯林斯《从优秀到卓越》读书笔记分享企业员工培训PPT模板课件.pptx VIP
- 药品储存与养护药品养护管理课件.pptx
- 最全“专精特新”小巨人企业4762家(具体名单).docx VIP
- 零售门店数字化赋能专项报告(2024年).docx VIP
- 凯爱瑞-益生菌行业:探秘母乳菌LC40,婴童及女性的守护者.docx
- 交管12123学法减分复习题库500道含完整答案【全国通用】.docx
- GIS在审计中应用研究.doc
文档评论(0)