8086汇编语言程序设计.pptx
《8086汇编语言程序设计.pptx》由会员分享,可在线阅读,更多相关《8086汇编语言程序设计.pptx(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、几个概念汇编语言汇编语言源程序汇编汇编程序第1页/共56页41 8086汇编语言的语句 汇编语言由指令性语句和指令性语句组成一、指令性语句格式标号:操作码操作数1,操作数2;注释二、指示性语句格式标识符(名字)指示符(伪指令)表达式三、有关属性存储器操作数的属性有三种:段值、段内偏移量和类型。第2页/共56页42 8086汇编中的伪指令一、符号定义语句1、等值语句格式:符号名EQU表达式例:PORT EQU1234BUFFEQUPORT58MEMEQUDS:BP20HCOUNTEQUCXABCEQUAAA第3页/共56页2、等号语句格式:NUM34NUM341第4页/共56页二、变量定义语句格
2、式:符号名DB/DW/DD表达式第5页/共56页1、定义一组数据例1:BUFFDW1234H,0ABCDH,8EHDW79DH,7B6AH2、定义一串字符例2:STRDBWelcome!3、定义保留存储单元例3:SUMDW?,?第6页/共56页4、复制操作复制操作符DUP(Duplication)可预置重复的数值例4:ALL_ZERODB0,0,0,0,0用复制操作可改为:ALL_ZERODB5DUP(0)5、将已定义的地址存入内存单元例5:LITDDCYCCYC:MOVAX,BX第7页/共56页三、段定义语句1、段定义语句格式:段名SEGMENT定位类型组合类型类别段名ENDS只需要掌握段名
3、SEGMENT段名ENDS第8页/共56页2、段假设语句ASSUME段寄存器名:段名,3、ORG伪指令与地址计数器$ORG伪指令格式:ORG4、PUBLIC和EXTRN伪指令第9页/共56页四、过程定义语句过程名PROCNEAR/FARRET过程名ENDP第10页/共56页43 8086汇编中的运算符 一、常用运算符1、算术运算符 (加)、(减)、*(乘)、/(除)、MOD(求余)。2、逻辑运算符AND、OR、XOR、NOT第11页/共56页3、关系运算符EQ(相等)、NE(不等、)LT(小于)、GT(大于)、LE(小于等于)、GE(大于等于)。例:MOV DL,10H LT 16 例:AND
4、 AX,555 GT 222第12页/共56页二、常用的操作符4、分析操作符1)SEG操作符例:MOV AX,SEG BUFF2)OFFSET操作符 例:MOV BX,OFFSET BUFF第13页/共56页3)TYPE操作符 对于变量有3种:1 字节型;2 字型;4 双字型;对于标号有2种:1 NEAR(段内),2 FAR(段间)。例:BUFF DB 20H MOV BX,OFFSET BUFF MOV BX,01第14页/共56页4)LENGTH操作符5)SIZE操作符SIZETYPELENGTH例:BUFF DB 10DIP(?)MOV CX,LENGTH BUF MOV CX,10 M
5、OV CX,SIZE BUF MOV CX,20第15页/共56页5、综合运算符(合成操作符)1)PTR运算符格式:类型PTR表达式例:INC WORD PTR BX 2)THIS操作符格式:THIS类型(或属性)例:FIRST EQU THIS BYTE SECOND DW 100 DUP (?)第16页/共56页44汇编语言程序设计 常用的汇编语言程序框架:DATA SEGMENT;定义数据段VAL1 DB 12H,8EH ;定义变量 DATA ENDS ;数据段结束 CODE SEGMENT;定义代码段 ASSUME DS:DATA,CS:CODE;段属性说明 START:MOV AX,
6、DATA;初始化DS MOV DS,AX MOV AX,4C00H;返回DOS INT 21H CODE ENDS ;代码段结束 END START ;源程序结束第17页/共56页一、汇编语言程序设计基本步骤分析问题绘制流程图编写程序检查和调试二、汇编语言程序的基本结构第18页/共56页1、顺序结构第19页/共56页2、分支结构第20页/共56页3、循环结构第21页/共56页第22页/共56页4、子程序Call proc1ret第23页/共56页45 宏定义与宏调用 1、宏定义宏指令名MACROENDM2、宏调用宏指令名实元表第24页/共56页例:MULTYMACROOPR1,OPR2,RES
7、ULT;宏定义PUSHAXMOVAL,OPR1MOVAH,OPR2IMULOPR2MOVRESULT,AXPOPAXENDMDATASEGMENTXXDB12YYDB34ZZDW?MULTYXX,YY,ZZ;宏调用,实参替代虚参第25页/共56页4.6汇编语言程序设计实例 1、算术运算例题例1:在偏移首地址为ARRAY的内存储区,有100个字型数据,要求将数组的每个元素加1,试编写汇编语言程序完成该要求。DATASEGMENTARRAYDW100DUP(?);定义100个字型随机数DATAEDNSCODESEGMENTASSUMEDS:DATA,CS:CODE第26页/共56页 LEA BX,
8、ARRAY ;设数组首地址指针 MOV CX,LENGTH ARRAY ;数组数据长AA1:INC WORD PTR BX,1 ;指定为字型数加1 ADD BX,2 ;移动地址指针 LOOP AA1 ;循环操作 完整程序请参看教材第27页/共56页例2:有两个无符号字节型数组,设数组元素个数相等,编程将数组中的对应元素相加,结果存入另一内存区。DATA SEGMENTM1DB20DUP(?)M2DB20DUP(?)M3DW20DUP(0)DATAENDSCODESEGMENT第28页/共56页LEASI,M1;设数组1的地址指针LEADI,M2;设数组2的地址指针LEABX,M3;设结果区的地
9、址指针MOVCX,20AA1:MOVAL,SIADDAL,DIMOVBX,ALADCBYTEPTRBX+1,0;存结果的进位INCSIINCDIADDBX,2LOOPAA1第29页/共56页2、逻辑处理题例1:将寄存器AL中高、低4位交换MOVAL,0ABH MOVCL,4 ROLAL,CL;移出位补充移空位4次第30页/共56页例2:将AX中的内容按相反顺序存入BX中MOVAL,1234H MOVCX,16AA1:SHLAX,1;移出的位进到CF RCRBX,1;AX中移出的位进入BX LOOPAA1第31页/共56页3、代码转换例题例1:编程将以$结束的字符串中的小写字母改为大写字母。DA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8086 汇编语言 程序设计
限制150内