unix - tid, unix - tid i asm bidragyder: inbar raz, jeg så en tråd, der foregår her, om emnet. jeg har tilfældigvis programmeret sådanne ting, for et bestemt program.det ', er ikke perfekt, i det væsentlige, at det vil give gode resultater fra 1970 til 2099, fordi jeg havde ' t er begyndt at undersøge, hvilke er skudår, og hvilke der ikke er det.alle skudår mellem 1970 og 2099 indgår,,., --------------------------------- = skære her = ---------------------------------, (ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß},    (denne procedure returnerer et longint unix - som ikrafttrædelsestidspunkt.timerec vil være},    (erstattet af den førte ikke underskrevet dword.},    procedure secondsince1970 (år, måned, dag, time, minut: ord, var timerec),    var t_lo,,              t_hi: ord;,    begynder,      asm,        kalder @ tabel,    @ tabel:,        pop - si, si        tilføje, 6 (punkt - til - data tabel),        jmp @ beregne,        (denne tabel indeholder det antal dage, i alle de måneder, indtil denne},        dw 0 (i januar),        dw 31 (januar),        dw 59 (februar),        dw 90 (mars),        dw 120 (april),        dw 151 (maj),        dw 181 (juni},        dw 212(juli),        dw 243 (august),        dw 273 (september),        dw 304 (oktober),        dw 334 (november),        {jeg en rutine, at multiplicere en dword af et ord),        (input: dx: ax ord til multilpy, ex multiplikator},    @ calcium:,        push - si,        skubbe di,        mov di, brugte,        mov si, økse,        dec cx (det har vi allerede multipliceret med 1},    @ tilføjedet:,        tilføje økse, si,        adc dx, di,        loop @ tilføjedet,        pop - di,        pop si,        ret,    @ beregne:,        xor di di (variabel for skudår),        {sekunderomkring år},        mov bx, år,        sub bx, 1970,        mov økse, 365 * 24 {timer pr. år),        mov cx, 60 * 60 (sekunder pr. time),        xor dx, brugte,        kalder @ calcium (formerer sig dword reaktion fra ex},        mov cx. bx,        kalder @ calcium,        skubbe økse,        skubbe dx,        {sekunder i et skudår),        mov økse, år,        sub økse, 1972 (første skudår efter 1972),        mov bx, 4,        xor dx, brugte,        div bx,,,        {dx - er antallet af dage til at tilføje becaues i et skudår.},        (hvis dx er 0, er dette et skudår, og vi er nødt til at tage det i conideration},        mov di, dx (hvis di er 0, dette er et skudår),        inc ax (vi skal regne 1972 samt},        xor dx, brugte,        mov bx, 60 * 60,        mov cx, 24,        - bx,        kalder @ calcium,        mov cx, brugte,        mov bx, økse,        {nu tilføje, hvad vi havde før},        far brugte,        pop økse,        tilføje økse, bx,        adc dx, cx,        skub økse,        skubbe dx,        {dx: økse har antallet af sekunder siden 1970 indtil begyndelsen af år},        {tilføje dage inden for dette år},        mov bx, måned,        dec. bx,       sømhaj shb bx, 1,        tilføje bx, si,        mov bx, cs: [bx] {lookup tabel, summen af måneder, bortset fra denne},        tilføje bx, dag {tilføje dage inden for denne ene},        dec. bx (i dag har ' ikke forbi endnu},        mov økse 60 * 60,        mov cx, 24,        xor dx, brugte,        - bx,        kalder @ calcium,        mov cx, brugte,        mov bx, økse,        {nu tilføje, hvad vi havde før - dage indtil begyndelsen af år},        far brugte,        pop økse,        tilføj økse, bx,        adc dx, cx,        {dx: ax nu har antallet af secondss siden 1970, indtil begyndelsen af i dag.},        skubbe økse,        skubbe dx,        {dx: økse har antallet af sekunder, indtil begyndelsen af denne dag},        mov bx, time,        mov økse, 60 * 60 (sekunder pr. time),        xor dx, brugte,        - bx,        skubbe økse,        skubbe dx,        mov bx, øjeblik,        mov økse, 60 (sekunder pr. minut),        xor dx, brugte,        - bx,        mov cx, brugte,        mov bx, økse,        far brugte,        pop økse,        tilføje bx, økse,        adc ', brugte,        {og tilføje sekunder, indtil begyndelsen af år},        far brugte,        pop økse,        tilføje økse, bx,        adc dx, cx,        {dx: ax nu har antallet af anden syndce - 1970),        mov t_hi, brugte,        mov t_lo, økse,     ;,        træk (mem [iso (t_lo): ofs (t_lo)],             mem [iso (timerec): ofs (timerec)] 2),        træk (mem [iso (t_hi): ofs (t_hi)],             mem [iso (timerec): ofs (timerec) + 2] 2),   ; (ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß}, --------------------------------- = skære her = ---------------------------------, håber det hjælper, inbar raz,



Previous:
Next Page: