欢迎来到天天文库
浏览记录
ID:26280297
大小:1.98 MB
页数:60页
时间:2018-11-25
《汇编语言程序设计的基本方法p-52》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、78微机原理第四章讲稿第四章汇编语言程序设计的基本方法P-524.1汇编语言基本概念P524.1.1汇编语言与机器语言汇编语言机器语言ADDAX,02H000001010000001000000000功能:AX和数0002相加,和存放在AX中机器语言:用指令的机器码来编写程序,CPU能直接执行。汇编语言:用助机符和符号来编写程序,再由汇编程序汇编成机器语言程序。4.1.2汇编语言中语句的组成汇编语言语句格式:DATA1DB20H,30H,40H;指示性语句CYCLE:ADDAX,02;(AX)←(AX)
2、+0002指令性语句1.名称是一个标识符:字符开始,最多31个。CYCLE是一个标号(加冒号);DATA1是一个变量名,其他语句可引用。(多数为标号或变量,也可有别的含义,如常数等)2.操作助记符指令助记符:CPU能执行的指令。伪指令助记符:控制汇编过程,如DB、DW等3.操作数由操作助记符要求。可以是操作数本身,也可以是表达式等。4.注释程序员的说明,可单独构成一行。4.1.3汇编语言中的常数和表达式1.常数①数值常数◇B表示二进制数:10110011B◇D表示十进制数:179D或179◇O表示八进制
3、数:263O◇H表示十六进制数:0B3H②字符串常数:使用单引号‘a’例:MOVAL,‘A’78微机原理第四章讲稿2.表达式①算术操作符:+、─、、/、MOD(取模)等。ADDAL,;即为ADDAL,42MOVAL,79MOD16;即为MOVAL,15②逻辑操作符:AND、OR、NOT、XOR等ADDAL,10101010BAND00001111B即为:ADDAL,00001010B③关系操作符:EQ(相等),EN(不相等),LT(小于),GT(大于),LE(小于等于),GE(大于等于);如果关系式成立
4、则为全1,否则为全0。例:MOVAX,BUF+2ADDAL,VALAND0FHJMPAGAIN+3MOVBL,VBLEVA注意:此处四条不一定全讲书上没有具体解释4.1.4标号、变量及伪指令1.标号(后加冒号)标号是由标识符表示的指令(CPU指令)的名称用以指示对应的指令的位置。标号的三个属性:段地址(SEG):标号所在段的段地址。偏移地址(OFFSET):标号所在段内的偏移地址。类型:NEAR(-1)类型表示在段内使用。FAR(-2)类型表示在段间使用。例:START:PUSHDS;段寄存器DS的内容
5、压入堆栈2.变量(不加冒号)1)变量定义(格式)变量名DB表达式;定义字节变量变量名DW表达式;定义字变量变量名DD表达式;定义双字变量变量名DO表达式;定义长字变量变量名DT表达式;定义十字节变量78微机原理第四章讲稿例4.1.4P57DATA1DB20HDB、DW、DD,DQ、DTDATA2DW0204H,1000H定义变量的类型分别为:DATA3DB(-1*3),(15/3)1、2、4、8、10DATA4DD12345HDB、DW、DD定义变量的类型DATA5DB‘0123’通常称为BYTE、WO
6、RD、DWORDDATA6DW‘AB’,‘C’,‘D’DATA7DB?DATA8DD?DATA9DB5DUP(00)DATA10DW3DUP(?)2)变量的属性⑴段地址(SEG):变量所在段的段地址。⑵偏移地址(OFFSET):变量所在段内的偏移地址。⑶类型(TYPE):每个变量所占的字节数。⑷长度(LENGTH):第一个DUP前的系数,表示变量重复次数;否则为1。⑸大小(SIZE):变量所占用的字节数,SIZE=TYPE×LENGTH表4.2部分变量的属性P58变量名段地址偏移地址类型长度大小DATA
7、10100H0000H111DATA20100H0001H212DATA30100H0005H111DATA40100H0007H414DATA50100H000BH111DATA60100H000FH212DATA100100H001FH2364.1.4属性操作符及表达式1.获取属性的操作符P58操作符表达式表达式意义SEGSEG变量名或标号取出变量或标号所在段的段地址OFFSETOFFSET变量名或标号取出变量或标号在段内的偏移地址TYPETYPE变量名或标号取出变量或标号的类型LENGTHLENG
8、TH变量名取出变量的长度SIZESIZE变量名取出变量的大小78微机原理第四章讲稿例①:P59SEGDATA1;结果为0100HOFFSETDATA1;结果为0000HLENGTHDATA6;结果为1TYPEDATA6;结果为2SIZEDATA9;结果为5例②:P59MOVAX,SIZEDATA9;将DATA9的大小送AXMOVAX,5MOVAX,SEGDATA1;将DATA1的段地址送AXMOVAX,0100HMOVBL,TYPEDATA
此文档下载收益归作者所有