- 1、本文档共68页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言第4章PPT.ppt
第 4 章汇编语言程序设计 主要内容 汇编语言源程序 源程序结构 汇编语言语句格式 伪指令 DOS功能调用 汇编语言程序设计 1. 汇编语言源程序与汇编程序 汇编语言源程序 汇编程序 2. 汇编语言程序设计与执行过程 输入汇编语言源程序(EDIT) 汇编(MASM) 链接(LINK) 调试(TD) 3. 汇编语言源程序结构 数据段名 SEGMENT … 数据段名 ENDS 附加段名 SEGMENT … 附加段名 ENDS 汇编语言源程序的格式: DATA SEGMENT;定义出必要的数据,以及数据存放空间 DATA1 DB 0F8H,60H,0ACH,74H,3BH ;被加数 DATA2 DB 0C1H,36H,9EH,0D5H,20H ;加数 DATA ENDS CODE SEGMENT ;定义代码段 ASSUME CS:CODE,DS:DATA START:MOV AX,DATA ;指令序列,构成代码段 MOV DS,AX ;初始化DS MOV CX,5 ;循环次数 MOV SI,0 ;偏移值 CLC ;CF=0 LPER:MOV AL,DATA2[SI] ADC DATA1[SI],AL INC SI DEC CX JNZ LPER MOV AH,4CH INT 21H ;返回DOS CODE ENDS END START 1. 汇编语言语句分类 指令性语句 指示性语句(伪指令) 2. 汇编语言语句格式 指令性语句: [标号:] [前缀] 操作码 [操作数],[操作数] [ ;注释] 1) 标号、名字 组成:由英文字母、数字及专用字符组成,最大长度不能超过31个,且不能由数字打头,不能用保留字(如寄存器名,指令助记符,伪指令)。 标号后有冒号,在指令性语句前; 名字后不加冒号,在指示性语句前。 2) 操作码 指令中的操作码 伪指令助记符 指示汇编程序要完成的操作。 作用: 定义变量 分配存储单元 指示程序段的开始和结束等 3) 操作数 寄存器:8/16位 存储器单元 常量 数据项 变量或标号 表达式 (1)常 量 数字常量:二、十、十六进制常数。 字符串常量 例:‘A’ MOV AL,’A’ 例:’ABCD’ 2)变 量 变量名是内存中某个数据区的名字,对应的是数据区的首地址,该地址中的内容是变量。程序中视为存储器操作数。 变量的属性: 变量所在段的段地址 变量单元地址与段首地址之 间的位移量。 字节型、字型和双字型 3)表达式 算术运算 逻辑运算 关系运算 取值运算和属性运算 其它运算 (1)算术运算和逻辑运算符 算术运算符 +,-,*,/,MOD 逻辑运算符 AND,OR,NOT,XOR 例: MOV AL,8 AND 4 MOV AL,8+4-1 (2)关系运算符 表示关系是否成立的运算符 EQ,NE,LT,GT,LE,GE 参与关系运算的必须是两个数值 关系成立,结果=FFFFH 关系不成立,结果=0。 (3)取值运算符 用以分析一个存储器操作数的属性,如段、偏移量或类型等; 取地址的偏移量 格式:OFFSET 变量名或标号 功能:取变量名或标号所在段的段内偏移量。 MOV SI,OFFSET DATA1 ? 取段地址 格式:SEG 变量名或标号 功能:取变量名或标号所在段的段地址。 MOV AX,SEG DATA1 MOV DS,AX 注意:SEG、OFFSET只能对符号地址操作 MOV BX,OFFSET [SI] × MOV AX, SEG [BX] × 例: 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)属性运算符 属性运算符可以规定存储器操作数的某个属性,如类型
文档评论(0)