Assembly 用C语言和汇编语言在液晶屏上制作GPS
我现在关心的一个问题是制作一些汇编语言子程序,这些子程序需要从C程序中调用,以便在LCD屏幕上对路由、findrootes或DisplayRoutes进行计数。 例如,这是保存路由地址的代码,对于第一个子例程CountRoutes,在找到-1并停止计数之前,它应该计算内存中有多少路由 这就是我到目前为止所做的,但它不起作用。我需要更改的是:忽略.byte空行(跳转到下面的两个字符串),验证您是否在strin的末尾(满足0),然后再次跳转,您将找到另一个.word 6或-1Assembly 用C语言和汇编语言在液晶屏上制作GPS,assembly,gps,subroutine,68hc12,Assembly,Gps,Subroutine,68hc12,我现在关心的一个问题是制作一些汇编语言子程序,这些子程序需要从C程序中调用,以便在LCD屏幕上对路由、findrootes或DisplayRoutes进行计数。 例如,这是保存路由地址的代码,对于第一个子例程CountRoutes,在找到-1并停止计数之前,它应该计算内存中有多少路由 这就是我到目前为止所做的,但它不起作用。我需要更改的是:忽略.byte空行(跳转到下面的两个字符串),验证您是否在strin的末尾(满足0),然后再次跳转,您将找到另一个.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
这是一种什么样的汇编语言?它不是x86,我也不认为它是ARM。请更新标签。第二:描述它是如何不起作用的。或者,你的一段文字没有段落分隔符,这段文字的描述足以让人读懂你的asm。这就是为什么无论这是什么架构,你都应该用标签来标记你的问题…我很抱歉。。这是68hc12的si asm。我说的不工作是指它什么也没做。我在上面解释了应该做些什么更改来使用它。它应该跳过下一个字节,也就是地址,然后进入字符串并搜索0,依此类推,直到它到达下一个地址,或者-1退出循环并返回找到的地址数。void CountingRoutes(){RouteCount(0x3000);routes=RouteCount();lcd_clear();sprintf(buf,“%d条公交线路”,routes);lcd_putxy(0,0,buf);sprintf(buf,“菜单的任意键”);lcd_putxy(3,0,buf);}您可以编辑问题以修改标记并进行其他更改。(点击问题下方的“编辑”)。已经有一个68hc12标签。(虽然只有20个其他问题,但至少你会增加正确的人看到你的问题的机会。)正如我所说,也许你的问题对知道68ch12的人来说已经有意义了,但对我来说没有意义,因为我不知道:P我建议把那个大的开头部分分成几个单独的段落。第一:这是什么样的汇编语言?它不是x86,我也不认为它是ARM。请更新标签。第二:描述它是如何不起作用的。或者,你的一段文字没有段落分隔符,这段文字的描述足以让人读懂你的asm。这就是为什么无论这是什么架构,你都应该用标签来标记你的问题…我很抱歉。。这是68hc12的si asm。我说的不工作是指它什么也没做。我在上面解释了应该做些什么更改来使用它。它应该跳过下一个字节,也就是地址,然后进入字符串并搜索0,依此类推,直到它到达下一个地址,或者-1退出循环并返回找到的地址数。void CountingRoutes(){RouteCount(0x3000);routes=RouteCount();lcd_clear();sprintf(buf,“%d条公交线路”,routes);lcd_putxy(0,0,buf);sprintf(buf,“菜单的任意键”);lcd_putxy(3,0,buf);}您可以编辑问题以修改标记并进行其他更改。(点击问题下方的“编辑”)。已经有一个68hc12标签。(虽然只有20个其他问题,但至少你会增加正确的人看到你的问题的机会。)正如我所说,也许你的问题对知道68ch12的人来说已经有意义了,但对我来说没有意义,因为我不知道:P不过,我建议把开头的那一段分成几段。