微机原理第4章 8086汇编语言程序设计.ppt

微机原理第4章 8086汇编语言程序设计.ppt

ID:49281845

大小:125.50 KB

页数:54页

时间:2020-02-03

微机原理第4章 8086汇编语言程序设计.ppt_第1页
微机原理第4章 8086汇编语言程序设计.ppt_第2页
微机原理第4章 8086汇编语言程序设计.ppt_第3页
微机原理第4章 8086汇编语言程序设计.ppt_第4页
微机原理第4章 8086汇编语言程序设计.ppt_第5页
微机原理第4章 8086汇编语言程序设计.ppt_第6页
微机原理第4章 8086汇编语言程序设计.ppt_第7页
微机原理第4章 8086汇编语言程序设计.ppt_第8页
微机原理第4章 8086汇编语言程序设计.ppt_第9页
微机原理第4章 8086汇编语言程序设计.ppt_第10页
资源描述:

《微机原理第4章 8086汇编语言程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第4章8086汇编语言程序设计8086汇编语言的语句8086汇编中的伪指令8086汇编中的运算符汇编语言程序设计宏定义与宏调用汇编语言程序设计实例14.18086汇编语言的语句汇编语言由指令性语句和指令性语句组成一、指令性语句格式[标号:]操作码[操作数1,][操作数2];[注释]二、指示性语句格式[标识符(名字)]指示符(伪指令)表达式三、有关属性存储器操作数的属性有三种:段值、段内偏移量和类型。24.28086汇编中的伪指令一、符号定义语句1、等值语句格式:符号名EQU表达式例:⑴PORTEQU1234⑵BUFFEQUPORT+58⑶MEM

2、EQUDS:[BP+20H]⑷COUNTEQUCX⑸ABCEQUAAA32、等号语句格式:NUM=34……NUM=34+14二、变量定义语句格式:符号名DB/DW/DD表达式51、定义一组数据例1:BUFFDW1234H,0ABCDH,8EHDW–79DH,7B6AH2、定义一串字符例2:STRDB‘Welcome!’3、定义保留存储单元例3:SUMDW?,?64、复制操作复制操作符DUP(Duplication)可预置重复的数值例4:ALL_ZERODB0,0,0,0,0用复制操作可改为:ALL_ZERODB5DUP(0)5、将已定义的地址存

3、入内存单元例5:LITDDCYC…CYC:MOVAX,BX7三、段定义语句1、段定义语句格式:段名SEGMENT[定位类型][组合类型][‘类别’]……段名ENDS82、段假设语句ASSUME段寄存器名:段名[,…]3、ORG伪指令与地址计数器$ORG伪指令格式:ORG<表达式>4、PUBLIC和EXTRN伪指令9四、过程定义语句过程名PROCNEAR/FAR……RET过程名ENDP104.38086汇编中的运算符一、常用运算符和操作符1、算术运算符+(加)、-(减)、*(乘)、/(除)、MOD(求余)。2、逻辑运算符AND、OR、XOR、NO

4、T113、关系运算符EQ(相等)、NE(不等、)LT(小于)、GT(大于)、LE(小于等于)、GE(大于等于)。例:MOVDL,10HLT16例:ANDAX,555GT222124、分析操作符1)SEG操作符例:MOVAX,SEGBUFF2)OFFSET操作符例:MOVBX,OFFSETBUFF133)TYPE操作符对于变量有3种:1字节型;2字型;4双字型;对于标号有2种:-1NEAR(段内),-2FAR(段间)。4)LENGTH操作符5)SIZE操作符SIZE=TYPE×LENGTH145、综合运算符(合成操作符)1)PTR运算符格式:类型

5、PTR表达式例:INCWORDPTR[BX]2)THIS操作符格式:THIS类型(或属性)例:FIRSTEQUTHISBYTESECONDDW100DUP(?)154.4汇编语言程序设计常用的汇编语言程序框架:DATASEGMENT;定义数据段VAL1DB12H,8EH;定义变量……DATAENDS;数据段结束CODESEGMENT;定义代码段ASSUMEDS:DATA,CS:CODE;段属性说明START:MOVAX,DATA;初始化DSMOVDS,AX……MOVAX,4C00H;返回DOSINT21HCODEENDS;代码段结束ENDSTA

6、RT;源程序结束16一、汇编语言程序设计基本步骤分析问题->绘制流程图->编写程序->检查和调试二、汇编语言程序的基本结构171、顺序结构182、分支结构193、循环结构20214、子程序Callproc1ret224.5宏定义与宏调用1、宏定义宏指令名MACRO<形式参量表>……ENDM2、宏调用宏指令名实元表23例:MULTYMACROOPR1,OPR2,RESULT;宏定义PUSHAXMOVAL,OPR1MOVAH,OPR2IMULOPR2MOVRESULT,AXPOPAXENDM……DATASEGMENTXXDB12YYDB34ZZDW

7、?……MULTYXX,YY,ZZ;宏调用,实参替代虚参……244.6汇编语言程序设计实例1、算术运算例题例1:在偏移首地址为ARRAY的内存储区,有100个字型数据,要求将数组的每个元素加1,试编写汇编语言程序完成该要求。DATASEGMENTARRAYDW100DUP(?);定义100个字型随机数DATAEDNSCODESEGMENTASSUMEDS:DATA,CS:CODE……25LEABX,ARRAY;设数组首地址指针MOVCX,LENGTHARRAY;数组数据长AA1:INCWORDPTR[BX],1;指定为字型数加1ADDBX,2;移

8、动地址指针LOOPAA1;循环操作……完整程序请参看教材26例2:有两个无符号字节型数组,设数组元素个数相等,编程将数组中的对应元素相加,结果存入另一

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

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

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