当前位置:编程学习 > 汇编语言 >>

帮忙查出我的错好吗?我实在找不出。

ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV A,#0FEH MOV P1,A AJMP DELAY E1: RL A AJMP DELAY MOV R5,A CJNE A,#7FH,E1 ;A与7f比较不等则跳回E1(我也不知道对不对,个人意愿。) E2: RR A AJMP DELAY ; MOV R4,A CJNE A,#0FEH,E2 AJMP MAIN DELAY:MOV R7, #255 DE1: MOV R6, #255 DE2: DJNZ R6, DE2 DJNZ R7, DE1 RET END 目的:实现8个led灯先来回流动。
追问:为什么在调用第一个延时完时它返回到的时LJMP  MAIN?而且在调试时有这个错误提醒能告诉为什么或哪里有这文档吗?
答案:E1 E2 里面的MOV R5,A  MOV R4,A没有意义。
换成MOV P1,A 试试看吧。P1没有输出 灯是不会变化的。 

CJNE A,#7FH,E1   是对的 灯从 11111110 11111101....10111111 01111111 变化 如果A左移后成为了7F,就运行E2程序段 进行右移。

上一个:汇编地址换算问题
下一个:王爽汇编6.1(1)那个我看晕了,来汇编人人帮我的疑问阿

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,