原创 顺序结构:例程1

2008-9-18 15:03 2372 2 2 分类: MCU/ 嵌入式

在内RAM的20H单元存有1字节的代码,要将其拆分成两个4位二进制数,高4位存入原单元的低4位,其低4位存入21H单元的低4位,且要这两单元的高4位均为0。


参考汇编代码:


ORG 0000H


LJMP START


ORG 1000H


START: MOV R0,#20H    ;设置地址指针


MOV A,@R0                    ;取数


MOV B,A                          ;暂存


ANL A,#0F0H                   ;截取高4位


SWAP A                            ;高低4位交换


MOV @R0,A                    ;送结果至20H单元


ANL B,#0FH                     ;截取低4位


MOV A,B                           ;送入A


INC R0                               ;修改地址指针


MOV @R0,A                     ;送结果至21H单元


END


参考C51代码:


#include<stdio.h>


int main()


{


    unsigned char x,y;    /*定义两个变量*/


    unsigned char *p;    /*定义一个指针变量*/


    p="0x20";    /*指针初识化*/


    y="x"=*p;


    x="x"&0xf0;    /*取x变量的高4位*/


    x="x">>4;    /*变量x向右移4位,将高4位变成低4位*/


    y="y"&0xf0;    /*取y变量的低4位*/


    *p=x;    /*将x变量的值送20H*/


    p++;    /*指针加一*/


    *p=y;     /*将y变量的值送21H*/


}

PARTNER CONTENT

文章评论0条评论)

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