***********************************************************************<br /><br /> #include pl16f84a.inc<br /><br />LSD equ 10<br /><br />MSD equ 11<br /><br />BinBCD clrf MSD<br /><br /> movwf LSD<br /><br />gtenth movlw 10<br /><br /> subwf LSD,W<br /><br /> BTFSS STATUS,C ;ARRY<br /><br /> goto over<br /><br /> movwf LSD<br /><br /> incf MSD,1<br /><br /> goto gtenth<br /><br />over retlw 0<br /><br />************************************************************************************************<br /><br />main movlw 63 ; W reg=63 Hex<br /><br /> call BinBCD ; after conversion, MSD=9 & LSD=9<br /><br />self goto self<br /><br /> org 1FF<br /><br /> goto main<br /><br /> END<br /><br /><br />1、equ赋值后不是不能被重新赋值吗?为什么在程序中还能用clrf、movwf、incf 这些语句?<br /><br />2、self goto self 没有判断条件不成死循环了吗?<br /><br />3、org 应用到程序中具体有什么作用?<br /><br />4、after conversion, MSD=9 & LSD=9。这个如果说的是运算结果的话(我英语很菜,翻词典理解的)<br /><br /> 我得的结果是 MSD=6 LSD=3,麻烦详细说明一下<br /><br />谢谢<br /><br />我刚刚开始学,板砖、西红柿尽管来吧,我承受的住^_^<br /> |
|