代码改变世界

Freescale MC9S08AW60汇编学习笔记(二)

2015-04-30 16:48  赤骥~  阅读(259)  评论(0编辑  收藏  举报

  路要一步步走,饭要一口口吃,有了一个主体框架后,就来实现一个简单的程序:实现两数相加,并在存储器中查看变化。

 org $0070
x1 ds.b 1
x2 ds.b 1
s1 ds.b 1

 org $1860
main:
  clra
  clrx

  mov #$04,x1    ;4T,将#$04送给x1
  mov #$28,x2    ;4T,将#$28送给x2

  lda x1               ;3T,将x1中的数送给寄存器a
  add x2              ;3T,寄存器a中的数加上x2后再送入寄存器a
  sta s1               ;3T,将寄存器a中的数传送给s1,s1中就是两数相加的结果了

again:
nop
jmp again

org $fffe
dc.w main

  可以知道这个小程序的工作时间是17T,也就是17*0.25us=4.25us,只需要这么短的时间,MC9S08AW60这个MCU就帮我们实现了两数相加。我们还可以在调试面板中查看存储器、寄存器中的变化,主要是$0070之后的变量值变化和寄存器a中的变化。