- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 汇编语言程序设计 1.汇编语言 2.汇编语言的语句 3. DOS功能调用 4.汇编语言程序的上机过程及调试 5 .汇编语言程序设计 1.汇编语言 通常,一个源程序都有大体相同的结构或框架,下面给出一个比较规范的汇编语言源程序该程序是在PC-DOS环境下运行的。 例: 两个四字节16进制数相加的汇编语言 源程序。 DATA SEGMENT PARA ;定义数据段 DATA1 DB 0E8H,50H,0BCH,74H ; 被加数 DATA2 DB 21H,22H,23H,24H ; 加数 DATA ?? ENDS ; 数据段结束 STACK SEGMENT PARA STACK;定义堆栈段 DW 20 DUP (0) ; 堆栈段位20个字节 STACK ?ENDS ; 堆栈段结束 CODE ?SEGMENT ;定义代码段 ???????????ASSUME CS:CODE,DS:DATA, SS:STACK ??START:? MOV AX,DATA ?????????? MOV DS,AX ;初始化DS ? MOV CX,4 ? MOV SI,0 ? CLC LOOPER: MOV AL, DATA2[SI] ;取1个字节加数 ADC DATA1[SI], AL INC SI JNZ LOOPER HLT CODE ???ENDS ;代码段结束 ?????????? ?END START ;源程序结束 2. 汇编语言的语句 指令性语句 指示性语句 一、汇编语言的语句格式: [名字] 操作码/伪操作 [操作数] [;注释] (一)、名字、标号、变量 标号的三种属性:段、偏移量和类型 变量的三种属性:段、偏移量和类型 (三)、语句中的操作数 1)、常数 2)、寄存器 3)、标号 4)、变量 5)、表达式 二、表达式中的运算符合操作符 (一)、算术运算符: +、-、*、/、MOD (二)、逻辑运算符: AND、OR、XOR、NOT(不要混同与指令) (三)、关系运算符: EQ(等于)、 NE(不等于)、LT(小于)、 GT(大于)、LE(小于或等于)、 GE(大于或 等于) 当关系式成立时(真),结果为0FFFFH 当关系式不成立时(假),结果为0 (四)、分析运算符和合成运算符: 1)、OFFSET 取标号或变量的偏移量 2)、SEG 取标号或变量的段值 3)、TYPE 得到一与存储器操作数类型有关的数值 4)、LENGTH 5)、SIZE 6)、PTR 7)、THIS 8)、SHORT (五)、其他运算符 1)、方括号 [ ] 2)、段超越 “:” 3)、HIGH和LOW (五)、运算符的优先级 2.伪指令 符号定义伪指令 数据定义伪指令 段定义伪指令 过程定义伪指令 定位定义伪指令 一、符号定义伪指令 用途: 给一个符号重命名,或定义新的类型 属性等。 1)EQU 等值伪指令 格式:名字 EQU 表达式 2)= 等号伪指令 格式:名字 = 表达式 二、数据定义伪指令 格式:[名字] 伪指令助记符 数据项表 1)DB 定义字节 2)DW 定义字 3)DD 定义双字 重复操作符 n DUP (初值) 三、段定义伪指令 1)SEGMENT/ENDS 格式:段名 SEGMENT[定位类型][组合类型][‘类别’] . . . 段名 ENDS 定位类型 ①PARA(默认) ②BYTE ③WORD ④ PAGE 例: STACK SEGMENT STACK ;定义STACK堆栈段,无定位类型 DW 30 DUP (?) ; 长度为30个字节 STACK ENDS ; STACK段结束 DATA1 SEGMENT BYTE ;定义DATA1段,定位类型BYTE STRING DB “This is an example!” ;长度为19个字节 DATA1 ENDS ; DATA1段结束 DATA2 SEGMENT WORD ;定义DATA2段,定位类型WORD BUFFER DW 40 DUP(0) ;长度为40字,80个字节 DATA2 ENDS ; DATA2段结束 CODE SEGMENT PAGE ;定义CODE代码段,定位类型PAGE … CODE ENDS ; CODE代码段结束 组合类型 ①NONE(默认) ②PUBLIC ③STACK ④ COMMON
您可能关注的文档
- 第二章实验基本仪器.ppt
- 第二章数据结构和算法.ppt
- 第二章数值微分和数值积分.ppt
- 第二章数字交换和数字交换网络.ppt
- 第二章投资工具.ppt
- 第二章图形环境.ppt
- 第二章图形设备和系统.ppt
- 第二章一般检查.ppt
- 第二章园林苗圃区划和建设.ppt
- 第二章原发性肾小球疾病.ppt
- 《体测分析定计划》教学设计-2025-2026学年冀教版(2024)小学信息技术四年级上册.docx
- 《天气数据助穿衣》教学设计-2025-2026学年冀教版(2024)小学信息技术四年级上册.docx
- 云南公益广告大赛参赛手册及方式.pdf
- 培训课件结尾简短大气句子.ppt
- 《我为社区储物柜来编码》教学设计-2025-2026学年冀教版(2024)小学信息技术四年级上册.docx
- 《我为同学编学号》教学设计-2025-2026学年冀教版(2024)小学信息技术四年级上册.docx
- 《我为科技作品来编码》教学设计-2025-2026学年冀教版(2024)小学信息技术四年级上册.docx
- 超长信用债探微跟踪:2.4的超长信用债有机会吗?.docx
- 装配理论培训课件.ppt
- 大学仪器创制与关键技术研发项目申请书.doc
文档评论(0)