指出下列子程序的功能,请回答各指令括号中的问题。
ORG 1000H
MOV DPTR, #TABLE
MOV A,40H (40H单元中内容是多少?)
ANL A,#0FH (执行这一步逻辑与后,A中内容是多少?)
MOVC A,@A+DPTR (执行这一步变址寻址后,A中内容是多少?)
MOV 41H,A
SJMP $ (这一指令是什么意思,有何用意?)
TABLE DB 0,1,4,9,16,25,36,49,64,81
END
"3、逻辑与的目的是为了避免X的值大于9了,只保留个位即一位数。"这一步还是不懂,请高手不吝赐教!
还有ORG 1000H是什么意思?
假如40H中事先放有一个数是25,其平方数超过了计算范围,是不允许的,经过逻辑与,将十位变成0,只留下个位5,就可以计算5的平方了。
追问谢谢阁下的指点,按您的假设,是不是可以用如下的表示方法?
对的,是这样,但是不能写成05H,这是十六进制数了,要写成05,虽然值相同,但意义是不同的。特别是绝不能写25H,而是25,这是BCD码,就是十进制数。