|
发表于 2012-12-15 14:23:44
|
显示全部楼层
本帖最后由 Tliang 于 2012-12-15 14:57 编辑
- ORG 00H
- LJMP MAIN
- ORG 30H
- MAIN: MOV R0,#8 ;第一个循环初值
- MOV R2,#00H ;保留的值
- LOOP1: MOV A, R0 ;第二个循环初值
- MOV R1,A ;没有MOV Rn,Rn指令用两条指令
- MOV R3,#1 ;移位变量
- LOOP2: MOV A,R3 ;先将数据移位.
- RL A
- MOV R3,A ;保存移位数据
- RR A ;原来数据
- ORL A,R2 ;将保留的值或上将显示的值
- MOV P1,A ;显示
- LCALL DELAY ;延时
- DJNZ R1,LOOP2;继续移位
-
- MOV A,R2 ;移位完成进行保留值计算
- RR A ;右移一位或80H得到保留值
- ORL A,#80H
- MOV R2,A ;保存保留值
- DJNZ R0,LOOP1;显示
- LJMP MAIN ;大循环
- END ;结束
复制代码 好久没用汇编了,其实主要是思路。
什么语言无所谓 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|