使用C和ASSEMBLY在LCD屏幕上制作GPS

时间:2015-12-03 02:18:47

标签: assembly gps subroutine 68hc12

我现在关注的一个问题是制作一些汇编语言子程序,需要从C程序调用它们才能在LCD屏幕上调用CountRoutes,FindRoutes或DisplayRoutes。 例如,这是我保存了路由地址的代码,对于第一个子例程,CountRoutes它应该计算在找到-1并停止计数之前我在内存中有多少路由。

这是我迄今为止所做的,而且它不起作用。我需要更改的是:忽略.byte null行(跳转到下面的两个字符串),验证你是否在strin的末尾(遇到0)并再次跳转ti' ll you找到另一个.word 6或-1。

            .word  4
            .byte  null
            .asciz "Dee Bridge"
            .asciz ""

            .word  5
            .byte  'x
            .asciz "Echt Terminus"
            .asciz "Express"

            .word  -1              ; route 0xffff terminates the data set

.area   text

_RouteCount::
            pshx
            tfr     d,y         ;
            ldx     #0          ; Clear index
Loop:       ldab    1,y+        ; Fetch next character; inc Y
            bmi     Done        ; If -1 is found, exit loop
            bra     Loop        ; Repeat loop 
            ldx     #1          ; Store no match flag in X
            beq
            bra     Loop
Done:       tfr     Y,D         ; Transfer index in D
            pulx
            rts   

0 个答案:

没有答案