原创 MC9S12单片机数学运算指令综合举例。

2010-2-22 18:26 1827 7 7 分类: MCU/ 嵌入式
课程需要的例子,写下来贴这里,格式就不修改了。
在$2000单元开始存放字节型数据$10,$30,$04,$A0,在$2010单元开始存放字节型数据$11,$1A,$09,$1F,分别使用加、减、乘、除四中运算处理对应位置的数据。并把结果存到$2020开始的内存单元中。




l








Counter     ds.w 1



FiboRes     ds.w 1



;定义数据及结果存放单元



      ORG $2000;$2000开始按要求存放数据



           S1:
FCB $10,$30,$04,$a0



      ORG $2010;$2010开始按要求存放数据



           S2:
FCB $11,$1A,$09,$1F



      ORG $2020;$2020开始开辟结果空间10个字节



           RESULT:
rmb 10



 



; code section



MyCode:     SECTION



main:



Entry:



 



 



LDS 
#__SEG_END_SSTACK     ; initialize
the stack pointer



CLI                        ; enable interrupts



 



;加法  A + B = A



LDAA S1                ;A=10



LDAB S2                ;B=11



ABA                   ;A=21     



STAA RESULT     ;[2020]=21



;减法  A - B = A



LDAA S1+1      ;A=30



LDAB S2+1      ;B=1A



SBA                    ;A=16



STAA RESULT+1 ;[2021]=16



;乘法  A * B = D



LDAA S1+2      ;A=04



LDAB S2+2      ;B=09



MUL             ;D=24A=00B=24



STD RESULT+2   ;[2022]=0[2023]=24



;除法  Y:D  / 
X  =  Y
D



LDY #$0            ;Y=0



LDAA #$0         ;A=0



LDAB S1+3      ;Y:D=A0



LDAA S2+3      ;A=1F



TFR A,X            ;X=1F



CLRA                ;A=0



EDIV            ;Y=5,D=5



STY RESULT+4   ;[2024]=0,[2025]=5



STD RESULT +6  ;[2026]=0,[2027]=5





PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条