MrJewes 发表于 2005-8-10 00:00:00

关于在屏幕上输出字符的研究

前段时间在做MP3中显示时间V2的时候发现的,参数还没有具体确定是什么含义,有空的朋友可以去仔细看看

以下是显示mp3中当前播放时间的一段代码
ROM:D70B72               mov   r12, #35h ;未知
ROM:D70B76               mov   [-r0], r12
ROM:D70B78               mov   r13, #4Bh ;size
ROM:D70B7C               mov   [-r0], r13
ROM:D70B7E               extp    r9, #2
ROM:D70B80               mov   r12, ;要显示的字符串
ROM:D70B84               mov   r13,    ; Show Current Time
ROM:D70B88               mov   r14, #23h; x pos
ROM:D70B8C               mov   r15, #2Bh; y pos
ROM:D70B90               calls   0F4h, PrintStringOnScreen

lishenglyx 发表于 2005-8-10 00:01:00

收下,感谢JEWES的奉献精神!
这里是JEWES的回复:
地址:F401EE
r12,r13是要显示的String的page和offset,应该就是类试指针的东西,字符表的话,应该就是ASCII



[此贴子已经被作者于2004-3-24 16:01:54编辑过]

KoncaCN 发表于 2005-8-10 00:02:00

收下。

远帆 发表于 2005-8-10 00:03:00

请问是什么机子上的?PrintStringOnScreen指向的是什么地址?

lishenglyx 发表于 2005-8-10 00:04:00



[此贴子已经被作者于2004-3-24 15:47:10编辑过]

lishenglyx 发表于 2005-8-10 00:05:00




[此贴子已经被作者于2004-3-24 16:04:20编辑过]

nonlyli 发表于 2005-8-10 00:06:00

对,PrintStringOnScreen是哪儿啊?测试过了么?

XP3200+ 发表于 2005-8-10 00:07:00

我以前用汇编写DOS程序的时候也曾经遇到过写字符串的问题,当时是在内存中开辟了一个缓冲区来保存处理过的准备显示的字符序列,然后专门写一个子程序显示指定地址指定长度的字符序列,当处理过的字符串要显示的时候就用串指令复制到显示缓冲区中,显示缓冲区长度为1的情况就是显示单个字符。
我总觉得C166中的StringCopy函数可以用于这种显示方式,但是读FullFlash太费劲了,没有什么头绪,一直没进展。

nonlyli 发表于 2005-8-10 00:08:00

写英文字符还简单些,关键是中文字啊!

XP3200+ 发表于 2005-8-10 00:09:00

中文也可以啊,先转成ASCII码就可以了。
我们以前都是改字串,但是我觉得字串也是需要调用才可以显示的嘛,是谁调用的呢?唉,我一点头绪都没有,还望诸位指点。

nonlyli 发表于 2005-8-10 00:10:00

中文转成ASCII码?中文字库比ASCII大多少倍吧。

不过这个代码我都还没测试过,有朋友有时间测试么?我的手机丢在老家忘还了。
页: [1]
查看完整版本: 关于在屏幕上输出字符的研究