原创 顺序结构:例程2

2008-9-18 22:44 2153 1 1 分类: MCU/ 嵌入式

例程2:在内部RAM的40H单元中存放一个8位二进制数,要求将其转换成相应的BCD码,并由高位到低位的顺序存入内部RAM以60H为首址的三个连续单元中。


汇编源代码:


ORG 0000H


LJMP START


ORG 1000H


START: MOV R0,#60H    ;设置存数指针初值


MOV A,40H    ;取被转换的二进制数


MOV B,#100    ;置除数100


DIV AB    ;除以100,求百位数


MOV @R0,A    ;将百位数送指定单元


INC R0    ;修改指针


MOV A,#10    ;置除数为10


XCH A,B    ;交换被除数和除数


DIV AB     ;求十位数


MOV @R0,A    ;将十位数送指定单元


INC R0    ;修改指针


XCH A,B    ;A中为个位数


MOV @R0,A    ;将个位数送指定单元


END


C51源代码:


#include<stdio.h>


int main()


{


    unsigned char *p=0x40;


    unsigned char *a[]={0x60,0x61,0x62};


    unsigned char x,y,z;


    x=*p;


    y=*p;


    z=*p;


    x=(x/100);


    y=(y%100)/10;


    z=(z%100)%10;


    *a[0]=x;


    *a[1]=y;


    *a[2]=z;


}

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
1
关闭 站长推荐上一条 /3 下一条