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中的#是什么意思?
人气:391 ℃ 时间:2020-01-03 23:32:48
解答
问题1:这条指令是汇编语言专用的查表指令,要查的表是一个顺序表,它以DPTR为表中数据的首地址,A中事先存储数据相对于表首地址的地址偏移量,最大不能超过255,通过调整A值可以查询表中指定位置的数据.这条指令执行完毕后,A中存储的是查询到的数据.简单的说:给DPTR赋表的首地址值,给A数据的偏移量,得到的查询结果放在A中.
这段指令是用与串口发送的.在调用这段子程序之前,在A中存储了要发送的数据的偏移量,然后查表、发送.
问题2:指令格式就是这么规定的没有任何其他的含义.
问题3:带有#开头的表示的是取#号后面变量的物理地址.在这段程序中,就是取标号TABLE的对应的地址,也就是第一个数据0C0H的地址.顺便说一下,第一个数据的地址偏移量是0.
推荐
猜你喜欢
- 苯是谁发现的?
- 3X(X+2)-5(X+2)=0 用因式分解法解这个方程怎么解?
- A、B、C、D、E五种物质均为初中化学中所涉及的常见物质,它们存在如右图的转化关系,“→”表示可以向箭头所指方向一步转化,弧线表示两种物质间可以发生反应,C是常见气体,D是常见单质,(反应条件与其他物质均已略去).
- 这个6位数在800000与900000之间,并且千位上是0,十位上是4,百位上的数字和个位上的相同.
- 分开时当对方说i feel very glad to talk with you或者It was nice talking with you, 该怎么回答
- 孔夫子谥号为“文”的原因是什么
- 通过实验来验证纤维素水解后生成葡萄糖,其实验包括下列一些操作过程,这些操作过程的正确排列顺序是( ) ①取小团棉花或几小片滤纸 ②小火微热,使成亮棕色溶液 ③加入90%的浓
- 如图所示,在Rt△ABC中,∠C=90°,四边形ECFD为正方形,若AD=3,DB=4,求阴影部分的面积.