mirror of
https://github.com/cc65/cc65.git
synced 2024-12-27 15:29:46 +00:00
df193c0947
- mktime: Work unsigned as time_t's type implies (shifting Y2K38 bug to 2106) - mktime: Add unit tests - gmtime/localtime: factorize - gmtime/localtime: Add unit tests - mktime/gmtime/localtime: Size optimisation (-130 bytes wrt master) - mktime: Speed optimisation (from 23M cycles on the unit test to 2M)
21 lines
490 B
ArmAsm
21 lines
490 B
ArmAsm
;
|
|
; Colin Leroy-Mira, 2024
|
|
;
|
|
; struct tm* __fastcall__ gmtime (const time_t* timep);
|
|
;
|
|
|
|
.export _gmtime
|
|
.import __time_t_to_tm
|
|
.import ldeaxi
|
|
|
|
_gmtime:
|
|
cpx #$00 ; Check for null pointer
|
|
bne :+
|
|
cmp #$00
|
|
beq no_pointer
|
|
: jsr ldeaxi ; Load value from pointer
|
|
jmp __time_t_to_tm ; Convert it
|
|
|
|
no_pointer:
|
|
rts ; A/X already set
|