DSPLY:MOV DPTR, #TABLE
MOVC A, @A+DPTR
MOV SBUF, A
JNB TI, $
CLR TI
RET
TABLE:DB 0C0H,0F9H,0A4H
DB 0B0H,99H,92H
DB 82H,0F8H,80H,90H
问题:
1,MOVC A, @A+DPTR 是什么意思?
2,MOVC A, @A+DPTR 中的A+是什么意思?
3,#TABLE中的#是什么意思?
人气:283 ℃ 时间:2020-01-03 23:32:48
解答
问题1:这条指令是汇编语言专用的查表指令,要查的表是一个顺序表,它以DPTR为表中数据的首地址,A中事先存储数据相对于表首地址的地址偏移量,最大不能超过255,通过调整A值可以查询表中指定位置的数据.这条指令执行完毕后,A中存储的是查询到的数据.简单的说:给DPTR赋表的首地址值,给A数据的偏移量,得到的查询结果放在A中.
这段指令是用与串口发送的.在调用这段子程序之前,在A中存储了要发送的数据的偏移量,然后查表、发送.
问题2:指令格式就是这么规定的没有任何其他的含义.
问题3:带有#开头的表示的是取#号后面变量的物理地址.在这段程序中,就是取标号TABLE的对应的地址,也就是第一个数据0C0H的地址.顺便说一下,第一个数据的地址偏移量是0.
推荐
- 英语,关联词后的从句都是陈述语序吗?(包括所有从句)
- x的平方减2x减3等于0的解方程
- autocad已知一个圆和一个圆的切线,做另一条切线使与上一条切线夹角为50度,怎么弄啊,
- -hi ,i__you for a long time
- be given by中文意思
- 从一个圆形铁片中剪去一个最大的正方形,正方形面积是5平方厘米,求圆的面积
- 在一条公路上,相距60km的A、B两地.甲乙两车分别从两地开出.甲车行30千米/时,乙车行20千米/时,
- 初一下语文文言文〈狼〉
猜你喜欢