迪文科技论坛

 找回密码
 立即注册
搜索
查看: 220|回复: 3

【提问】时间判断及计算?

[复制链接]

5

主题

37

回帖

184

积分

注册会员

Rank: 2

积分
184
发表于 2023-3-20 20:44:17 | 显示全部楼层 |阅读模式
已知: r0,r1,r2(a时分秒), r3,r4,r5(b时分秒)
        求 r6,r7,r8(c时分秒)=r0,r1,r2(a时分秒) -  (r3,r4,r5)b时分秒
假如a时分秒小于b时分秒,按 r0=r0+24算
回复

使用道具 举报

94

主题

138

回帖

1317

积分

超级版主

Rank: 8Rank: 8

积分
1317
发表于 2023-3-20 22:26:24 | 显示全部楼层
楼主,您好;把时分秒全部转化为秒来进行运算。
r0,r1,r2(a时分秒), r3,r4,r5(b时分秒)

a = r0*3600+r1*60+r2;
b = r3*3600+r4*60+r5;

c = a-b;
回复

使用道具 举报

5

主题

37

回帖

184

积分

注册会员

Rank: 2

积分
184
 楼主| 发表于 2023-3-25 11:22:34 | 显示全部楼层
  1. ;********************************************************;
  2. ;r246--r249被减数[0,时分秒]
  3. ;r250--r253减数[0,时分秒]
  4. ;r242--r244结果[时分秒]
  5. 时间计算:
  6.         ;给被减数增加1h
  7.         ;给r249+60s,给r248+59m,这样相减就不会借位
  8.         INC R249,0,60
  9.         INC R248,0,59
  10.         PUSH R10,8                        ;借用
  11.         SUB R246,R250,R10        ;r15--r17为结果(多59m+60s)
  12.         MOV R15,R242,3                ;暂时结果(多1h)
  13.         ;减去多算的59m+60s
  14.         DEC R17,0,60
  15.         JB  R16,7,秒减少60s不成功
  16. ;秒可以减少60s:
  17.         DEC R244,0,60
  18.         DEC R16,0,59
  19.         JB R15,7,分减少59m不成功
  20. ;分可以减少59m:       
  21.         DEC R243,0,59
  22.         GOTO 计算完成
  23. 分减少59m不成功:
  24.         INC R243,0,1                ;m+1
  25.         DEC R242,0,1             ;h-1(最终减少59分钟)
  26.         GOTO 计算完成       
  27. 秒减少60s不成功:
  28.         DEC R16,0,60
  29.         JB R15,7,分减少60m不成功
  30. ;分可以减少60m:
  31.         DEC R243,0,60
  32.         GOTO 计算完成               
  33. 分减少60m不成功:
  34.         DEC R242,0,1                             
  35. 计算完成:
  36.         POP R10,8                ;归还
  37.         RET
  38. ;********************************************************;
复制代码
回复

使用道具 举报

0

主题

1276

回帖

5456

积分

论坛元老

Rank: 8Rank: 8

积分
5456
发表于 2023-3-27 08:57:33 | 显示全部楼层

楼主贴的这段代码有啥问题吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2025-7-12 16:51 , Processed in 0.050102 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表