第3章-MCS-51单片机指令系统及汇编语言程序设计2.ppt
对标志位有影响的指令注:X—有影响1—确定为10—确定为03.4伪指令①ORG:汇编程序起始地址ORG用来说明其后程序段在存储器中存放的起始地址。例:ORG0030HMAIN:MOV20H,#0FFHMOV30H,#0FEHORG0030H表明从MAIN开始的程序从存储器的0030H地址单元开始存放,并且MAIN=0030H。②DB:定义数据字节DB指令按字节数的形式把数据存放在存储单元中。例:TAB:DB0C0H,0F9H,0A4H,0B0H,99H92H,82H,0F8H,80H,90H这段程序从表头TAB起,连续存放了十个字节的数值:0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H。③DW:定义数据字DW指令按字(双字节)的形式把数据存放在存储单元中(高字节在低地址,即BigEndian格式)。例:ORG1020HDW30H,31H,1234H这段程序把数据30H,31H,1234H以字(双字节)的形式存放在从1020H开始的一片存储单元中。④EQU或=:赋值伪指令EQU用来给变量标号赋予一个确定的数值。例:DATA1=0AHMAINEQU1000H这段程序使DATA1=0AH,MAIN=1000H。 ⑤DATA:定义字节地址用于把内部RAM的字节单元地址赋给字符名称。 例:ERRDATA32HMOVERR,#23H 该语句等价于MOV32H,#23H,即把立即数23H送内部RAM的32H单元。⑥BIT:定义位地址其功能是把位地址赋给字符名称。 例:LEDBITP1.0是将位地址P1.0赋给变量LED。⑦END:汇编结束END命令表明汇编语言程序结束。3.5MCS-51单片机汇编语言程序设计汇编语言概述顺序程序分支程序循环程序子程序1.汇编语言概述结构化程序的概念①顺序结构顺序结构是按照语句实现的先后次序执行一系列的操作,它没有分支、循环和转移。②分支结构分支结构又叫条件选择结构,根据不同情况做出判断和选择,以便执行不同的程序段。分支的意思是在两个或多个不同的操作中选择其中的一个。③循环结构循环结构是重复执行一系列操作,直到某个条件出现为止。循环实际上是分支结构的一种扩展,循环是否继续是依靠条件判断语句来完成的。按照条件判断的位置,可以把循环分为“当型循环”和“直到型循环”。第一种情况是先作条件判断,第二种情况是先执行一次循环,然后判断是否继续循环。2.顺序程序顺序程序是指程序中没有使用转移类指令的程序段,机器执行这类程序时也只需按照先后顺序依次执行,中间不会有任何分支、循环,也不需要调用子程序。例:将一个单字节十六进制数转换成BCD码。解:算法分析。单字节十六进制数在0~255之间,将其除以100后,商为百位数;余数除以10,商为十位数,余数为个位数。设单字节数存放在40H,转换后,百位数存放在R0中,十位数存放在R1中,个位数存放在R2中,具体程序如下:ORG0030HMOVA,40H;将单字节十六进制数送入A中MOVB,#64H;将100送入B中,#64H可直接写成#100DIVABMOVR0,A;百位数送R0,余数在B中XCHA,B;余数送入A中MOVB,#0AH;将10送入B中,#0AH可直接写成#10DIVAB;商为十位数,余数为个位数MOVR1,AMOVR2,BSJMP$例:设变量放在片内RAM20H单元,其取值范围为00H,01H,0