迪文DGUS屏利用os实现RTC的星期换成中文的改进版os

; DWIN OS
; 特别说明,这个是DGUS1,K600+的程序,不是T5的
LDBR R10,0,16
MOVDR 23H,R13,1 ;DGUS屏的23寄存器给到os寄存器R13放星期0-6表示 日、一、二、。。。六
LDWR R16,2 ;乘以2,这里用乘法是用查表的字节
MAC R10,R14,R18 ;乘积放入了os寄存器8个 18 19 20 21 22 23 24 25
LDADR TAB2 ;加载TAB2,这里tab1和2是一样的,存到的地址会到os的寄存器 5 6 7
ADD R22,R4,R30 ;30 31 32 33 34 35 36 37是和=查表地址的起始地址+星期号*2字节数
MOV R34,R4,4 ; os的寄存器5 6 7是多少我们不用管,只需要知道有起始地址了根据星期是多少来加载新的地址
MOVC R24,2

LDWR R0,0002H ;0002H地址是用的文本显示,再吧R24里面的星期给进去到屏上面变量地址显示就行
MOVXR R24,0,1

END

TAB1:
DW 0XC8D5,0XD2BB,0XB6FE,0XC8FD,0XCBC4,0XCEE5,0XC1F9 ;日一二三四五六

TAB2:
DW “日一二三四五六”

常规的写法可能就是星期的那个寄存器的值需要判断6次,分别给进去,
本os程序用了查表、加法 乘法指令,设计还是比较巧妙,对于查表指令的理解需要掌握,另外加法、乘法的寄存器占用需要清晰。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值