微机原理与接口技术第2版第04章8086汇编语言程序设计

微机原理与接口技术第2版第04章8086汇编语言程序设计

ID:38314764

大小:423.55 KB

页数:48页

时间:2019-06-09

微机原理与接口技术第2版第04章8086汇编语言程序设计_第1页
微机原理与接口技术第2版第04章8086汇编语言程序设计_第2页
微机原理与接口技术第2版第04章8086汇编语言程序设计_第3页
微机原理与接口技术第2版第04章8086汇编语言程序设计_第4页
微机原理与接口技术第2版第04章8086汇编语言程序设计_第5页
资源描述:

《微机原理与接口技术第2版第04章8086汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章8086汇编语言程序设计几个概念8086汇编语言的语句8086汇编中的伪指令8086汇编中的运算符汇编语言程序设计宏定义与宏调用系统调用几个概念汇编语言汇编语言源程序汇编汇编程序4.18086汇编语言的语句汇编语言由指令性语句和指令性语句组成一、指令性语句格式[标号:]操作码[操作数1,][操作数2];[注释]二、指示性语句格式[标识符(名字)]指示符(伪指令)表达式三、有关属性存储器操作数的属性有三种:段值、段内偏移量和类型。4.28086汇编中的伪指令一、符号定义语句1、等值语句格式:符号名EQ

2、U表达式例:⑴PORTEQU1234⑵BUFFEQUPORT+58⑶MEMEQUDS:[BP+20H]⑷COUNTEQUCX⑸ABCEQUAAA2、等号语句格式:NUM=34……NUM=34+1二、变量定义语句格式:符号名DB/DW/DD表达式1、定义一组数据例1:BUFFDW1234H,0ABCDH,8EHDW–79DH,7B6AH2、定义一串字符例2:STRDB‘Welcome!’3、定义保留存储单元例3:SUMDW?,?4、复制操作复制操作符DUP(Duplication)可预置重复的数值例4:AL

3、L_ZERODB0,0,0,0,0用复制操作可改为:ALL_ZERODB5DUP(0)5、将已定义的地址存入内存单元例5:LITDDCYC…CYC:MOVAX,BX三、段定义语句1、段定义语句格式:段名SEGMENT[定位类型][组合类型][‘类别’]……段名ENDS只需要掌握段名SEGMENT……段名ENDS2、段假设语句ASSUME段寄存器名:段名[,…]3、ORG伪指令、地址计数器$ORG伪指令格式:ORG<表达式>4、END表示源代码结束格式为:END常数或表达式.四、过程定义语句过程名PROCN

4、EAR/FAR……RET过程名ENDP4.38086汇编中的运算符一、常用运算符1、算术运算符+(加)、-(减)、*(乘)、/(除)、MOD(求余)。2、逻辑运算符AND、OR、XOR、NOT3、关系运算符EQ(相等)、NE(不等、)LT(小于)、GT(大于)、LE(小于等于)、GE(大于等于)。关系成立,全1关系不成立,全0例:MOVDL,10HLT16MOVDL,0例:ANDAX,555GT222ANDAX,0FFFFH二、常用的操作符4、分析操作符1)SEG操作符例:MOVAX,SEGBUFF2

5、)OFFSET操作符例:MOVBX,OFFSETBUFF3)TYPE操作符对于变量有3种:1字节型;2字型;4双字型;对于标号有2种:-1NEAR(段内),-2FAR(段间)。例:BUFFDB20HMOVBX,TYPEBUFFMOVBX,014)LENGTH操作符5)SIZE操作符SIZE=TYPE×LENGTH例:BUFFDB10DIP(?)MOVCX,LENGTHBUFMOVCX,10MOVCX,SIZEBUFMOVCX,205、综合运算符(合成操作符)功能:1、由已有的操作数建立新的操作数;2

6、、新操作数和已有的操作数类型不一样1)PTR运算符格式:类型PTR表达式例:INCWORDPTR[BX]wxdw1234hmoval,byteptrwxmovah,byteptrwx+12)THIS操作符格式:THIS类型(或属性)例:FIRSTEQUTHISBYTESECONDDW100DUP(?)4.4汇编语言程序设计常用的汇编语言程序框架:DATASEGMENT;定义数据段VAL1DB12H,8EH;定义变量……DATAENDS;数据段结束CODESEGMENT;定义代码段ASSUMEDS:DATA

7、,CS:CODE;段属性说明START:MOVAX,DATA;初始化DSMOVDS,AX……MOVAX,4C00H;返回DOSINT21HCODEENDS;代码段结束ENDSTART;源程序结束特点程序分段语句由指令性和指示性语句组成两种程序框架框架一:DATASEGMENT;定义数据段VAL1DB12H,8EH;定义变量……DATAENDS;数据段结束CODESEGMENT;定义代码段ASSUMEDS:DATA,CS:CODE;段属性说明START:MOVAX,DATA;初始化DSMOVDS,AX……;

8、填写代码MOVAX,4C00H;返回DOSINT21HCODEENDS;代码段结束ENDSTART;源程序结束框架二:DATASEGMENT;定义数据段VAL1DB12H,8EH;定义变量……DATAENDS;数据段结束CODESEGMENT;定义代码段MAINPROCFARASSUMEDS:DATA,CS:CODE;段属性说明START:PUSHDSMOVAX,0PUSHAXMOVAX,DATAMOVDS,AX……;填写代码

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。