单片机查表程序

2025-03-03 18:42:48
推荐回答(2个)
回答1:

A+DPTR=4000H+5H=4005H
A+PC=5H+50H=55H
MOV A,@A+DPTR 意思是把4005单元存储的数放到A中,下同。

这条指令是汇编语言专用的查表指令,要查的表是一个顺序表,它以DPTR为表中数据的首地址,A中事先存储数据相对于表首地址的地址偏移量,最大不能超过255,通过调整A值可以查询表中指定位置的数据。这条指令执行完毕后,A中存储的是查询到的数据。简单的说:给DPTR赋表的首地址值,给A数据的偏移量,得到的查询结果放在A中,下同

回答2:

后一问A的值应为58H。
执行完MOV A,#5H后,PC为52H。
执行MOV A,@A+PC时,会预先将PC指向下一条指令(PC+1),之后再执行加法。参见51指令集手册。