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,
Next Page:enkelt - motorer