单片机汇编语言解析.下面的程序不怎么懂,希望高手帮忙解析一下.谢谢.
ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV DPTR,#TAB MOV A,20H MOVC A,@A+DPTR MOV 21H,A SJMP $ TAB: DB 0,1,4,9,16,25 END
ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV DPTR,#TAB MOV A,20H MOVC A,@A+DPTR MOV 21H,A SJMP $ TAB: DB 0,1,4,9,16,25 END
答案:ORG 0000H ORG定义一个段的开始地址
LJMP MAIN
ORG 0030H
MAIN:
MOV DPTR,#TAB 将TAB的地址作为立即数送到DPTR中
MOV A,20H A放20H寄存器的值,作为偏移量
MOVC A,@A+DPTR 将TAB地址偏移20H值得数取出放入A中
MOV 21H,A 将A的值放入21H中
SJMP $
TAB: TAB定义了一个字节型的数组
DB 0,1,4,9,16,25
END
本段程序就是一个演示使用DPTR指针进行查表的操作
其他:这段 查表程序 没什么意思,要学习单片机汇编语言,先要学习单片机的指令系统,熟悉每条指令是什么意思及作用。 把DB中的数字21H,而且只是值为0。
呵 将数据地址20H中的数据(小于等于5)的平方送入数据地址21H中
上一个:用汇编语言实现交通灯管理器的设计
下一个:求该汇编语言的翻译,在线等ORG 0000H LJMP MAIN ORG 0050H MAIN: MOV TMOD, #01 ;令T0定时方式1 MOV TH0,