《《汇编语言程序设计》PPT课件.pptx》由会员分享,可在线阅读,更多相关《《汇编语言程序设计》PPT课件.pptx(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微机原理及应用汇编语言程序设计(一)内容概要了解汇编语言程序组成和语句格式。掌握伪指令的运用方法。汇编语言源程序格式STACK SEGMENT STACK ENDS DATA SEGMENT DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:CODE ENDS END START堆栈段数据段代码段两个数字相加DATA SEGMENT;段定义开始(DATA段)BUF1DB34H;第1个加数BUF2DB2AH;第2个加数SUMDB?;准备用来存放和数的单元DATAENDS;段定义结束(DATA段)CODE SEGMENT;段定义
2、开始(CODE段)ASSUME CS:CODE,DS:DATA ;规定DATA、CODE分别为据段和代码段START:MOV AX,DATA两个数字相加(续)MOVDS,AX;给数据段寄存器DS赋值MOVAL,BUF1;取第1个加数ADDAL,BUF2;和第2个加数相加MOVSUM,AL;存放结果MOVAH,4CHINT21H;返回DOS状态CODE ENDS ;段定义结束(CODE段)ENDSTART ;整个源程序结束源程序的结构特点汇编语言程序通常由若干段组成,段由伪指令SEGMENT与ENDS定义,各段顺序任意,段的数目按需要确定,原则上不受限制。段由若干语句组成,语句以指令为主体而构成
3、。一条语句写在一行上,书写时语句的各部分应尽量对齐。汇编语言程序中至少要有一个启动标号,作为程序开始执行时目标代码的入口地址。启动标号常用START、BEGIN、MAIN等命名。为增加程序的可读性,可在汇编语言语句“;”后加上注释。汇编语言的格式由此看出,汇编语言源程序由若干条语句组成,分为如下两类:指令语句由CPU提供的指令构成,具有一定的功能,可翻译成机器代码伪指令语句也称指示性语句,只是为汇编程序在翻译汇编语言源程序时提供有关信息,并不翻译成机器代码。指令语句指令语句是要求CPU执行某种操作的命令,其格式如下:标号 指令助记符 操作数;注释标号后面必须加冒号“:”,主要用于转移跳转指令。
4、构成如下:英文字母(AZ,az);数字(09);特殊符号(?、_等)。汇编语言的数据与表达式常量数值常量、字符串常量、符号常量变量用数据定义伪指令DB、DW、DD定义变量DATASEGMENTDA1DB12H;定义一个字节数据DA2DD0FEDCBA90H;定义一个双字数据DA3DW5678H;定义一个字数据DATA ENDS表达式和运算符算术运算符、逻辑运算符、关系运算符、数值回送运算符、属性操作符例题例 逻辑运算符的应用MOV AL,NOT 10101010B ;(AL)01010101BMOV AL,11110000B AND 10111101B ;(AL)10110000BMOV AL
5、,10100000B OR 00000101B ;(AL)10100101B例 关系运算符的应用MOV AX,5 EQ 101B ;(AX)0FFFFHMOV BH,10H GT 16 ;(BH)0例 数值返回运算符的应用K1 DB 30H,31H,32HK2 DW 4041H,4043HK3 DW 20H DUP(0)K4 DD 50515253HMOV AL,TYPE K1 ;等效于MOV AL,1MOV AH,TYPE K2 ;等效于MOV AH,2MOV AL,LENGTH K3;(AL)20H,返回DUP前面的数值MOV CL,LENGTH K4 ;(CL)01HMOV BL,SIZ
6、E K3 ;(BL)40HMOV DL,SIZE K4 ;(DL)04H例题例 段属性运算符的应用MOV AX,ES:BX ;用附加段ES取代默认的数据段DSMOV BL,DS:BP ;用数据段DS取代默认的堆栈段SS例 PTR运算符的应用N1 DB 3,6,9MOV AX,WORD PTR N1 ;临时指定N1为字类型,(AX)0603H例 THIS运算符的应用ABC EQU THIS BYTE ;从本语句开始变量ABC的类型属性指定为字节,不管它原来的类型是什么例 HIGH和LOW运算符的应用NUM EQU 2456HMOV AL,HIGH NUM ;等效于 MOV AL,34HMOV B
7、L,LOW NUM ;等效于 MOV BL,56H伪指令符号定义伪指令数据定义伪指令段定义伪指令段寻址伪指令过程定义伪指令模块定义与连接伪指令宏命令伪指令其它伪指令符号定义伪指令等值语句CR EQU 0DH ;常量TEN EQU 0AH ;常量AA EQU ASCII_TABLE ;变量VAR EQU TEN*2+1024 ;数值表达式ADR EQU ES:BP+DI+5;地址表达式GOTO EQU JMP ;指令助记符等号语句NUM=488 ;定义NUM等于488NUM=NUM+1 ;定义NUM等于489数据定义伪指令DATA DB 11H,33H ;定义包含两个元素的字节变量DATANUM
8、 DW 100*5+88;定义一个字类型变量NUM,其初值为表达式的值;将4个字存入变量SUM。STR1 DB COMPUTER;定义一个字符串,字符串的首地址为STR1STR2 DW AA,BC,DE;给两个字符组成的字符串分配两个字节存储单元DATA DW?,?,?;为DATA预留6个存储单元DATA1 DB 20 DUP(?);为变量DATA1分配20个字节的空间,初值为任意值DATA2 DW?;为变量DATA2分配2个字节的空间,初值为任意值DATA3 DB 20 DUP(30H);为变量DATA3分配20个字节的空间,初值均为30H段定义伪指令格式:段名 SEGMENT 定位类型 组
9、合类型 类别名 段名 ENDS1段名一个段开始和结尾的段名必须一致,否则会出现语法错误2定位类型(1)BYTE(2)WORD(3)PARA(4)PAGE3组合类型(1)NONE(2)PUBLIC(3)COMMON(4)STACK(5)MEMORY(6)AT表达式4.类别名段寻址伪指令ASSUME 段寄存器名:段名,段寄存器名:段名,ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK建立汇编语言的工作环境编辑程序,文件名 汇编程序,文件名 MASM.EXE 连接程序,文件名 LINK.EXE 调试程序,文件名 DEBUG.EXE,库管理程序,符号索引文件处理程序,将E
10、XE转换为COM的文件格式转换程序上机操作过程1编辑1.对编辑完成的源程序在存盘时扩展名必须加写.ASM2.一定要严格遵守汇编语言书写格式及段结构的格式来编写程序2汇编汇编过程就是将汇编语言源程序转换成机器能够识别的目标代码程序,即OBJ的二进制文件。还可生成扩展名为.LST的列表文件,扩展名为.CRF的符号索引文件。3连接所谓连接是用连接程序把若干个经汇编后产生的.OBJ文件及指定的库文件连接起来,产生可执行的.EXE文件。4调试DEBUG的使用方法1DEBUG的运行2DEBUG的主要命令D,显示内存单元内容;U,反汇编命令;R,显示与修改寄存器内容;E,修改内存单元内容;A,汇编命令;T、P,单步执行指令;G,连续执行指令;N,指定装入文件名或写入文件名;L,装入N指定的文件;W,将指定内容写入N指定的文件;Q,退出DEBUG程序,返回操作系统状态。本讲回顾汇编语言的特点。汇编语言的程序结构。伪指令的特点与功能。汇编语言的基本语法。作业:P126 3、5、7