微机原理与接口技术(第2版)第04章 8086汇编语言程序设计.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:48 大小:423KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

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

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

预览

免费试读已结束,剩余 38 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第四章8086汇编语言程序设计几个概念4.18086汇编语言的语句4.28086汇编中的伪指令2、等号语句格式: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:ALL_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常数或表达式.四、过程定义语句过程名PROCNEAR/FAR……RET过程名ENDP4.38086汇编中的运算符3、关系运算符EQ(相等)、NE(不等、)LT(小于)、GT(大于)、LE(小于等于)、GE(大于等于)。关系成立,全1关系不成立,全0例:MOVDL,10HLT16MOVDL,0例:ANDAX,555GT222ANDAX,0FFFFH二、常用的操作符4、分析操作符1)SEG操作符例:MOVAX,SEGBUFF2)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、新操作数和已有的操作数类型不一样1)PTR运算符格式:类型PTR表达式例:INCWORDPTR[BX]wxdw1234hmoval,byteptrwxmovah,byteptrwx+12)THIS操作符格式:THIS类型(或属性)例:FIRSTEQUTHISBYTESECONDDW100DUP(?)4.4汇编语言程序设计框架一:DATASEGMENT;定义数据段VAL1DB12H,8EH;定义变量……DATAENDS;数据段结束CODESEGMENT;定义代码段ASSUMEDS:DATA,CS:CODE;段属性说明START:MOVAX,DATA;初始化DSMOVDS,AX……;填写代码MOVAX,4C00H;返回DOSINT21HCODEENDS;代码段结束ENDSTART;源程序结束框架二:DATASEGMENT;定义数据段VAL1DB12H,8EH;定义变量……DATAENDS;数据段结束CODESEGMENT;定义代码段MAINPROCFARASSUMEDS:DATA,CS:CODE;段属性说明START:PUSHDSMOVAX,0PUSHAXMOVAX,DATAMOVDS,AX……;填写代码RETMAINENDPCODEENDS;代码段结束ENDSTART;源程序结束一、汇编语言程序设计基本步骤分析问题,确定模型确定算法绘制流程图编写程序检查和调试二、汇编语言程序的基本结构1、顺序结构举例2、分支结构举例3、循环结构举例;这是一个乘10子程序;使用寄存器AX;入口:AX,出口:AXmul10procfarpushbx;保护现场pushfaddax,ax;2axmovbx,ax;2axbxa