Here's my working code:
The code is designed to simply write an inch and fraction to an LCD. It works well but I'm sure there must be a more elegant way to do this. Execution speed is top priority. Also, I could use some help figuring out a good way to strip the leading zeros. And on a completely unrelated topic: Is it OK to use a goto to exit a subroutine and go back to the top of the main routine?
Paul
Code:
[color=Black]LCD_write: [/color][color=Green];write inch and fraction to LCD
[/color][color=Purple]b1 [/color][color=DarkCyan]= [/color][color=Navy]1 [/color][color=Green]; set b1 to "clear display" instruction
[/color][color=Blue]gosub [/color][color=Black]wrins [/color][color=Green]' send instruction to LCD
[/color][color=Blue]bintoascii [/color][color=Purple]inches[/color][color=Black],[/color][color=Purple]b3[/color][color=Black],[/color][color=Purple]b3[/color][color=Black],[/color][color=Purple]b2 [/color][color=Green];inches range: 0-36
[/color][color=Purple]b1 [/color][color=DarkCyan]= [/color][color=Purple]b3
[/color][color=Blue]gosub [/color][color=Black]wrchr
[/color][color=Purple]b1 [/color][color=DarkCyan]= [/color][color=Purple]b2
[/color][color=Blue]gosub [/color][color=Black]wrchr
[/color][color=Purple]b1 [/color][color=DarkCyan]= [/color][color=Red]"-"
[/color][color=Blue]gosub [/color][color=Black]wrchr
[/color][color=Blue]bintoascii [/color][color=Purple]numer[/color][color=Black],[/color][color=Purple]b3[/color][color=Black],[/color][color=Purple]b3[/color][color=Black],[/color][color=Purple]b2 [/color][color=Green];numerator range: 0-32
[/color][color=Purple]b1 [/color][color=DarkCyan]= [/color][color=Purple]b3
[/color][color=Blue]gosub [/color][color=Black]wrchr
[/color][color=Purple]b1 [/color][color=DarkCyan]= [/color][color=Purple]b2
[/color][color=Blue]gosub [/color][color=Black]wrchr
[/color][color=Purple]b1 [/color][color=DarkCyan]= [/color][color=Red]"/"
[/color][color=Blue]gosub [/color][color=Black]wrchr
[/color][color=Blue]bintoascii [/color][color=Purple]denom[/color][color=Black],[/color][color=Purple]b3[/color][color=Black],[/color][color=Purple]b3[/color][color=Black],[/color][color=Purple]b2 [/color][color=Green];denominator values: 2,4,8,16,32
[/color][color=Purple]b1 [/color][color=DarkCyan]= [/color][color=Purple]b3
[/color][color=Blue]gosub [/color][color=Black]wrchr
[/color][color=Purple]b1 [/color][color=DarkCyan]= [/color][color=Purple]b2
[/color][color=Blue]gosub [/color][color=Black]wrchr
[/color][color=Blue]return[/color]
Paul
Last edited: