一个51汇编的小错误
来源:互联网 发布:淘宝十大女装品牌 编辑:程序博客网 时间:2024/05/22 08:01
有空编了个单片机的小程序
;数码管的小程序
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: MOV SP,#06H
MOV P0,#0
MOV P2,#00
LP: MOV R1,#00H
MOV DPTR,#0100H
LOOP: MOV A,R1
MOVC A,@A+DPTR
MOV P0,A
; LCALL DELAY
; lcall DELAY
LCALL DELAY
INC R1
CJNE R1,#10,LOOP
LJMP LP
DELAY: MOV R5,#200
MOV R4,#200
LOP1: NOP
LOP2: NOP
DJNZ R4,LOP2
DJNZ R5,LOP1
RET
ORG 0100H
DB 0C0H,0F9H,0A4H,0B0H,99H,092H,82H,0F8H,80H,90H
上面中的R5和R4不知道为什么不能用R7来代替.替代的结果是延时子程序退出时直接跳到了0000H,的确不知道是为啥哦!!进一步学习!(经过请教,发现R7在程序默认执行中具有重要的作用!不能随意调用!)
另:
;test.asm
org 0000h
ajmp main
org 0030h
main: mov r5,#0
mov P3,#0FFH
loop: mov A,P3
MOV C,ACC.2
jc led
sjmp loop
led: inc r5
ret
此程序也是常犯错误的!!!
现象:调用led子程序返回时,直接跳转到了main!!
原因:调用子程序只能用lcall和acall另个指令!!!
only for noticing!!
- 一个51汇编的小错误
- vs内联汇编的一个小问题
- 关于汇编的一个小问题!
- 一个汇编小demo的详解
- 【汇编】一个大小写转换的小trick
- 一个汇编小程序
- egit的一个小错误
- 沟通的一个小错误
- genymotion的一个小错误
- 一个7.0的小错误
- 记录一个小汇编加法
- 从汇编看一个小程序的完整执行过程
- 用汇编实现中断的一个小程序
- 关于C语言中内嵌汇编指令的一个小细节
- 汇编的一个小笔记(call和ret)
- android的一个小错误的处理
- 一个不大注意的小错误
- 使用Cache时的一个小错误
- 开始找工作了
- 从心里说找工作真的挺难的
- 开始写毕业论文哦
- 仍然在写毕业论文
- 毕业论文已经接近尾声
- 一个51汇编的小错误
- 赶快修改完善毕业论文哦--最后的努力了,加油!
- 毕业论文基本定稿
- JOB--RS485
- servlet通过thin方式连接oracle10g的步骤,开发环境MyEclipse10.0
- 毕业答辩推迟
- 回校后的想法
- 来看看
- 单片机C51编程几个有用的模块【转】