就是现在我刚刚接触430的汇编语言,好多符号我都不知道该怎么用了,用了之后是什么意义,比如倒是是立即数,还是地址,还是数据作为地址再取数,就比如下面这几个语句,你能帮我看看么?
1、 电子表要显示秒。这里一开始R15已经有了一个数了,又add #lcd_7d_tab,r15;mov.b @r15,r15 那R15中的究竟是怎么变化的呢,这里的#和 @是怎么用的呢?代表的是什么呢?
mov.b &sec_b,r15 ;显示2位秒
call #bin_bcd_2_zcx
mov r15,r14
and #000ffh,r15
add #lcd_7d_tab,r15
mov.b @r15,r15
2、还有这个显示子程序,前两个mov 后面的符号为什么用#而不是&了呢,具体又代表什么意思呢?mov.b @r15,0(r14) 这条我也理解不了
lcd_zcx
mov #dis_buf_b,r15
mov #LCDM7,r14
mov #7,r13
lcd_loop
mov.b @r15,0(r14)
inc r15
dec r14
dec r13
jnz lcd_loop
ret
此帖出自
小平头技术问答
1.#
这个符号的用法是立即数,也就是把#后面的数值直接拿来处理——是放在某寄存器也好,或是参与数学运算也好
2.&
这个符号的用法是绝对地址寻址,也就是把&后面的数值当作地址,从内存中的这个地址取出数值,然后处理这个数值
3.@
这个符号的用法是间接寄存器寻址,和&类似,不过它后面只接寄存器,把寄存器中的数值当作地址,从内存的这个地址取出数值进行处理。
如有错误,欢迎指正。
一周热门 更多>