这个汇编程序是什么意思?

[复制链接]
查看11 | 回复0 | 2009-10-29 14:32:37 | 显示全部楼层 |阅读模式
题目要求:已知R7的内容为“0~N”之一,现在要根据R7的内容,转移到程序“PP0~PPN”其中的一个。转移的方法是利用“JMP@A+DPTR”指令,执行该指令之前,要把程序的地址(即PP0~PPN其中的一个)送到DPTR,并清零A。程序的地址,用DW伪指令存好,每个地址,有两个字节,字节总共有2倍R7的内容,称为地址表。下面的程序,主要就是从地址表中,找出两个字节,送到DPTR。程序段如下:START:
MOVDPTR,#TAB ;置分支入口地址表首址
MOVA, R7
;分支转移序号送A
ADDA, R7
;乘以2,因为表长度2倍于R7
MOVR3,A
;R7*2暂存于R3
MOVC A, @A+DPTR;取地址的高8位
XCHA, R3
;高位存到R3,换回R7*2
INCA
;转到低8位地址
MOVC A, @A+DPTR;取
MOVDPL,A
;低8位送DPL
MOVDPH,R3
;高8位送DPL
CLR
A
JMP
@A+DPTR
;根据入口地址转移TAB:
;处理程序的入口地址PP0~PPN。
DW
PP0
DW
PP1
… … …
DW
PPN -------------------呵呵,基本指令尚不明确,就研究程序,有点操之过急。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行