CoolFace
Datasetpublic

hschumann2/TempleOS-Source-Code

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes838downloads
KMathA.txt650 linesDownload Raw Back to Kernel
1 2asm {3//************************************4_D3_NORM::5        PUSH    RBP6        MOV     RBP,RSP7        MOV     RDX,U64 SF_ARG1[RBP]8        FLD     U64 [RDX]9        FMUL    ST0,ST010        FLD     U64 8[RDX]11        FMUL    ST0,ST012        FADDP   ST1,ST013        FLD     U64 16[RDX]14        FMUL    ST0,ST015        FADDP   ST1,ST016        FSQRT17        FSTP    U64 SF_ARG1[RBP]18        MOV     RAX,U64 SF_ARG1[RBP]19        POP     RBP20        RET1    821//************************************22_D3_NORM_SQR::23        PUSH    RBP24        MOV     RBP,RSP25        MOV     RDX,U64 SF_ARG1[RBP]26        FLD     U64 [RDX]27        FMUL    ST0,ST028        FLD     U64 8[RDX]29        FMUL    ST0,ST030        FADDP   ST1,ST031        FLD     U64 16[RDX]32        FMUL    ST0,ST033        FADDP   ST1,ST034        FSTP    U64 SF_ARG1[RBP]35        MOV     RAX,U64 SF_ARG1[RBP]36        POP     RBP37        RET1    838//************************************39_D3_DIST::40        PUSH    RBP41        MOV     RBP,RSP42        MOV     RDX,U64 SF_ARG1[RBP]43        MOV     RBX,U64 SF_ARG2[RBP]44        FLD     U64 [RDX]45        FSUB    ST0,U64 [RBX]46        FMUL    ST0,ST047        FLD     U64 8[RDX]48        FSUB    ST0,U64 8[RBX]49        FMUL    ST0,ST050        FADDP   ST1,ST051        FLD     U64 16[RDX]52        FSUB    ST0,U64 16[RBX]53        FMUL    ST0,ST054        FADDP   ST1,ST055        FSQRT56        FSTP    U64 SF_ARG1[RBP]57        MOV     RAX,U64 SF_ARG1[RBP]58        POP     RBP59        RET1    1660//************************************61_D3_DIST_SQR::62        PUSH    RBP63        MOV     RBP,RSP64        MOV     RDX,U64 SF_ARG1[RBP]65        MOV     RBX,U64 SF_ARG2[RBP]66        FLD     U64 [RDX]67        FSUB    ST0,U64 [RBX]68        FMUL    ST0,ST069        FLD     U64 8[RDX]70        FSUB    ST0,U64 8[RBX]71        FMUL    ST0,ST072        FADDP   ST1,ST073        FLD     U64 16[RDX]74        FSUB    ST0,U64 16[RBX]75        FMUL    ST0,ST076        FADDP   ST1,ST077        FSTP    U64 SF_ARG1[RBP]78        MOV     RAX,U64 SF_ARG1[RBP]79        POP     RBP80        RET1    1681//************************************82_D3_CROSS::83        PUSH    RBP84        MOV     RBP,RSP85        MOV     RAX,U64 SF_ARG1[RBP]86        MOV     RDX,U64 SF_ARG2[RBP]87        MOV     RBX,U64 SF_ARG3[RBP]88 89        FLD     U64 8[RDX]90        FMUL    ST0,U64 16[RBX]91        FLD     U64 16[RDX]92        FMUL    ST0,U64 8[RBX]93        FSUBP   ST1,ST094        FSTP    U64 [RAX]95 96        FLD     U64 [RDX]97        FMUL    ST0,U64 16[RBX]98        FLD     U64 16[RDX]99        FMUL    ST0,U64 [RBX]100        FSUBRP  ST1,ST0101        FSTP    U64 8[RAX]102 103        FLD     U64 [RDX]104        FMUL    ST0,U64 8[RBX]105        FLD     U64 8[RDX]106        FMUL    ST0,U64 [RBX]107        FSUBP   ST1,ST0108        FSTP    U64 16[RAX]109 110        POP     RBP111        RET1    24112//************************************113_D3_DOT::114        PUSH    RBP115        MOV     RBP,RSP116        MOV     RDX,U64 SF_ARG1[RBP]117        MOV     RBX,U64 SF_ARG2[RBP]118        FLD     U64 [RDX]119        FMUL    ST0,U64 [RBX]120        FLD     U64 8[RDX]121        FMUL    ST0,U64 8[RBX]122        FADDP   ST1,ST0123        FLD     U64 16[RDX]124        FMUL    ST0,U64 16[RBX]125        FADDP   ST1,ST0126        FSTP    U64 SF_ARG1[RBP]127        MOV     RAX,U64 SF_ARG1[RBP]128        POP     RBP129        RET1    16130//************************************131_D3_ADD::132        PUSH    RBP133        MOV     RBP,RSP134        MOV     RAX,U64 SF_ARG1[RBP]135        MOV     RDX,U64 SF_ARG2[RBP]136        MOV     RBX,U64 SF_ARG3[RBP]137        FLD     U64 [RDX]138        FADD    ST0,U64 [RBX]139        FSTP    U64 [RAX]140        FLD     U64 8[RDX]141        FADD    ST0,U64 8[RBX]142        FSTP    U64 8[RAX]143        FLD     U64 16[RDX]144        FADD    ST0,U64 16[RBX]145        FSTP    U64 16[RAX]146        POP     RBP147        RET1    24148//************************************149_D3_SUB::150        PUSH    RBP151        MOV     RBP,RSP152        MOV     RAX,U64 SF_ARG1[RBP]153        MOV     RDX,U64 SF_ARG2[RBP]154        MOV     RBX,U64 SF_ARG3[RBP]155        FLD     U64 [RDX]156        FSUB    ST0,U64 [RBX]157        FSTP    U64 [RAX]158        FLD     U64 8[RDX]159        FSUB    ST0,U64 8[RBX]160        FSTP    U64 8[RAX]161        FLD     U64 16[RDX]162        FSUB    ST0,U64 16[RBX]163        FSTP    U64 16[RAX]164        POP     RBP165        RET1    24166//************************************167_D3_MUL::168        PUSH    RBP169        MOV     RBP,RSP170        MOV     RAX,U64 SF_ARG1[RBP]171        MOV     RBX,U64 SF_ARG3[RBP]172        FLD     U64 SF_ARG2[RBP]173        FLD     ST0174        FMUL    ST0,U64 [RBX]175        FSTP    U64 [RAX]176        FLD     ST0177        FMUL    ST0,U64 8[RBX]178        FSTP    U64 8[RAX]179        FMUL    ST0,U64 16[RBX]180        FSTP    U64 16[RAX]181        POP     RBP182        RET1    24183//************************************184_D3_DIV::185        PUSH    RBP186        MOV     RBP,RSP187        MOV     RAX,U64 SF_ARG1[RBP]188        MOV     RBX,U64 SF_ARG2[RBP]189        FLD     U64 SF_ARG3[RBP]190        FLD     ST0191        FDIVR   ST0,U64 [RBX]192        FSTP    U64 [RAX]193        FLD     ST0194        FDIVR   ST0,U64 8[RBX]195        FSTP    U64 8[RAX]196        FDIVR   ST0,U64 16[RBX]197        FSTP    U64 16[RAX]198        POP     RBP199        RET1    24200//************************************201_D3_ZERO::202        PUSH    RBP203        MOV     RBP,RSP204        MOV     RAX,U64 SF_ARG1[RBP]205        XOR     RDX,RDX206        MOV     U64 [RAX],RDX207        MOV     U64 8[RAX],RDX208        MOV     U64 16[RAX],RDX209        POP     RBP210        RET1    8211//************************************212_D3_COPY::213        PUSH    RBP214        MOV     RBP,RSP215        MOV     RAX,U64 SF_ARG1[RBP]216        MOV     RBX,U64 SF_ARG2[RBP]217        MOV     RDX,U64 [RBX]218        MOV     U64 [RAX],RDX219        MOV     RDX,U64 8[RBX]220        MOV     U64 8[RAX],RDX221        MOV     RDX,U64 16[RBX]222        MOV     U64 16[RAX],RDX223        POP     RBP224        RET1    16225//************************************226_D3_EQU::227        PUSH    RBP228        MOV     RBP,RSP229        MOV     RAX,U64 SF_ARG1[RBP]230        MOV     RDX,U64 SF_ARG2[RBP]231        MOV     U64 [RAX],RDX232        MOV     RDX,U64 SF_ARG3[RBP]233        MOV     U64 8[RAX],RDX234        MOV     RDX,U64 SF_ARG4[RBP]235        MOV     U64 16[RAX],RDX236        POP     RBP237        RET1    32238//************************************239_D3_ADD_EQU::240        PUSH    RBP241        MOV     RBP,RSP242        MOV     RAX,U64 SF_ARG1[RBP]243        MOV     RBX,U64 SF_ARG2[RBP]244        FLD     U64 [RAX]245        FADD    ST0,U64 [RBX]246        FSTP    U64 [RAX]247        FLD     U64 8[RAX]248        FADD    ST0,U64 8[RBX]249        FSTP    U64 8[RAX]250        FLD     U64 16[RAX]251        FADD    ST0,U64 16[RBX]252        FSTP    U64 16[RAX]253        POP     RBP254        RET1    16255//************************************256_D3_SUB_EQU::257        PUSH    RBP258        MOV     RBP,RSP259        MOV     RAX,U64 SF_ARG1[RBP]260        MOV     RBX,U64 SF_ARG2[RBP]261        FLD     U64 [RAX]262        FSUB    ST0,U64 [RBX]263        FSTP    U64 [RAX]264        FLD     U64 8[RAX]265        FSUB    ST0,U64 8[RBX]266        FSTP    U64 8[RAX]267        FLD     U64 16[RAX]268        FSUB    ST0,U64 16[RBX]269        FSTP    U64 16[RAX]270        POP     RBP271        RET1    16272//************************************273_D3_MUL_EQU::274        PUSH    RBP275        MOV     RBP,RSP276        MOV     RAX,U64 SF_ARG1[RBP]277        FLD     U64 SF_ARG2[RBP]278        FLD     ST0279        FMUL    ST0,U64 [RAX]280        FSTP    U64 [RAX]281        FLD     ST0282        FMUL    ST0,U64 8[RAX]283        FSTP    U64 8[RAX]284        FMUL    ST0,U64 16[RAX]285        FSTP    U64 16[RAX]286        POP     RBP287        RET1    16288//************************************289_D3_DIV_EQU::290        PUSH    RBP291        MOV     RBP,RSP292        MOV     RAX,U64 SF_ARG1[RBP]293        FLD     U64 SF_ARG2[RBP]294        FLD     ST0295        FDIVR   ST0,U64 [RAX]296        FSTP    U64 [RAX]297        FLD     ST0298        FDIVR   ST0,U64 8[RAX]299        FSTP    U64 8[RAX]300        FDIVR   ST0,U64 16[RAX]301        FSTP    U64 16[RAX]302        POP     RBP303        RET1    16304//************************************305_D3_UNIT::306        PUSH    RBP307        MOV     RBP,RSP308        MOV     RAX,U64 SF_ARG1[RBP]309        FLD     U64 [RAX]310        FMUL    ST0,ST0311        FLD     U64 8[RAX]312        FMUL    ST0,ST0313        FADDP   ST1,ST0314        FLD     U64 16[RAX]315        FMUL    ST0,ST0316        FADDP   ST1,ST0317        FSQRT318        FST     U64 SF_ARG1[RBP]319        MOV     RBX,SF_ARG1[RBP]320        TEST    RBX,RBX321        JZ      @@05322        FLD     ST0323        FDIVR   ST0,U64 [RAX]324        FSTP    U64 [RAX]325        FLD     ST0326        FDIVR   ST0,U64 8[RAX]327        FSTP    U64 8[RAX]328        FDIVR   ST0,U64 16[RAX]329        FSTP    U64 16[RAX]330        POP     RBP331        RET1    8332@@05:   FFREE   ST0333        FINCSTP334        POP     RBP335        RET1    8336//************************************337_SQR::338        PUSH    RBP339        MOV     RBP,RSP340        FLD     U64 SF_ARG1[RBP]341        FMUL    ST0,ST0342        FSTP    U64 SF_ARG1[RBP]343        MOV     RAX,U64 SF_ARG1[RBP]344        POP     RBP345        RET1    8346//************************************347_SIGN::348        PUSH    RBP349        MOV     RBP,RSP350        FLD     U64 SF_ARG1[RBP]351        FTST352        FSTSW353        FFREE   ST0354        FINCSTP355        MOV     RDX,RAX356        XOR     RAX,RAX357        BT      RDX,14358        JC      @@05359        MOV     RAX,1.0360        BT      RDX,8361        JNC     @@05362        MOV     RAX,-1.0363@@05:   POP     RBP364        RET1    8365//************************************366_ARG::367        PUSH    RBP368        MOV     RBP,RSP369        FLD     U64 SF_ARG2[RBP]370        FLD     U64 SF_ARG1[RBP]371@@05:   FPATAN372        FSTSW373        TEST    AX,0x400374        JNZ     @@05375        FSTP    U64 SF_ARG1[RBP]376        MOV     RAX,U64 SF_ARG1[RBP]377        POP     RBP378        RET1    16379//************************************380_ROUND::381        PUSH    RBP382        MOV     RBP,RSP383        SUB     RSP,8384        FSTCW   U16 -8[RBP]385        MOV     AX,U16 -8[RBP]386        MOV     U16 -6[RBP],AX387        AND     AX,~0x0C00388        MOV     U16 -8[RBP],AX389        FLDCW   U16 -8[RBP]390 391        FLD     U64 SF_ARG1[RBP]392        FRNDINT393        FSTP    U64 SF_ARG1[RBP]394        MOV     RAX,U64 SF_ARG1[RBP]395 396        FLDCW   U16 -6[RBP]397        LEAVE398        RET1    8399//************************************400_TRUNC::401        PUSH    RBP402        MOV     RBP,RSP403        SUB     RSP,8404        FSTCW   U16 -8[RBP]405        MOV     AX,U16 -8[RBP]406        MOV     U16 -6[RBP],AX407        OR      AX,0x0C00408        MOV     U16 -8[RBP],AX409        FLDCW   U16 -8[RBP]410 411        FLD     U64 SF_ARG1[RBP]412        FRNDINT413        FSTP    U64 SF_ARG1[RBP]414        MOV     RAX,U64 SF_ARG1[RBP]415 416        FLDCW   U16 -6[RBP]417        LEAVE418        RET1    8419//************************************420_FLOOR::421        PUSH    RBP422        MOV     RBP,RSP423        SUB     RSP,8424        FSTCW   U16 -8[RBP]425        MOV     AX,U16 -8[RBP]426        MOV     U16 -6[RBP],AX427        AND     AX,~0x0C00428        OR      AX,0x0400429        MOV     U16 -8[RBP],AX430        FLDCW   U16 -8[RBP]431 432        FLD     U64 SF_ARG1[RBP]433        FRNDINT434        FSTP    U64 SF_ARG1[RBP]435        MOV     RAX,U64 SF_ARG1[RBP]436 437        FLDCW   U16 -6[RBP]438        LEAVE439        RET1    8440//************************************441_CEIL::442        PUSH    RBP443        MOV     RBP,RSP444        SUB     RSP,8445        FSTCW   U16 -8[RBP]446        MOV     AX,U16 -8[RBP]447        MOV     U16 -6[RBP],AX448        AND     AX,~0x0C00449        OR      AX,0x0800450        MOV     U16 -8[RBP],AX451        FLDCW   U16 -8[RBP]452 453        FLD     U64 SF_ARG1[RBP]454        FRNDINT455        FSTP    U64 SF_ARG1[RBP]456        MOV     RAX,SF_ARG1[RBP]457 458        FLDCW   U16 -6[RBP]459        LEAVE460        RET1    8461//************************************462SYS_POW::463// RAX=RDX`RAX464        PUSH    RBP465        MOV     RBP,RSP466        SUB     RSP,24467        TEST    RAX,RAX //To power of zero?468        JNZ     @@05469        MOV     RAX,1.0470        JMP     @@20471@@05:   TEST    RDX,RDX //zero to a power?472        JNZ     @@10473        XOR     RAX,RAX474        JMP     @@20475@@10:   MOV     RCX,RAX //RCX=pow476        MOV     U64 -8[RBP],RDX477        MOV     U64 -16[RBP],RAX478        FSTCW   U16 -24[RBP]479        MOV     AX,U16 -24[RBP]480        MOV     U16 -22[RBP],AX481        OR      AX,0x0C00482        MOV     U16 -24[RBP],AX483        FLDCW   U16 -24[RBP]484        FLD     U64 -16[RBP]485        FLD     U64 -8[RBP]486        FABS    //base should be pos487        FYL2X   // y*log2(x)488        FST     U64 -8[RBP]489        FRNDINT490        FLD     U64 -8[RBP]491        FSUBRP  ST1,ST0492        F2XM1493        FLD1494        FADDP   ST1,ST0495        FSTP    U64 -16[RBP]496        FLD     U64 -8[RBP]497        FLD     U64 -16[RBP]498        FSCALE  // ST0<<ST1499        TEST    RDX,RDX //was base neg?500        JGE     @@15501        MOV     U64 -16[RBP],RCX502        FLD     U64 -16[RBP]503        FISTTP  U64 -16[RBP]504        TEST    U64 -16[RBP],1505        JZ      @@15    //was pow odd?506        FCHS507@@15:   FSTP    U64 -8[RBP]508        FFREE   ST0509        FINCSTP510        FLDCW   U16 -22[RBP]511        MOV     RAX,U64 -8[RBP]512@@20:   LEAVE513        RET514//************************************515_POW::516        PUSH    RBP517        MOV     RBP,RSP518        MOV     RAX,U64 SF_ARG2[RBP]519        MOV     RDX,U64 SF_ARG1[RBP]520        CALL    SYS_POW521        POP     RBP522        RET1    16523//************************************524_POW10::525        PUSH    RBP526        MOV     RBP,RSP527        SUB     RSP,16528        FSTCW   U16 -8[RBP]529        MOV     AX,U16 -8[RBP]530        MOV     U16 -6[RBP],AX531        OR      AX,0x0C00532        MOV     U16 -8[RBP],AX533        FLDCW   U16 -8[RBP]534 535        FLDL2T536        FLD     U64 SF_ARG1[RBP]537        FMULP   ST1,ST0538        FST     U64 SF_ARG1[RBP]539        FRNDINT540        FLD     U64 SF_ARG1[RBP]541        FSUBRP  ST1,ST0542        F2XM1543        FLD1544        FADDP   ST1,ST0545        FSTP    U64 -16[RBP]546        FLD     U64 SF_ARG1[RBP]547        FLD     U64 -16[RBP]548        FSCALE  // ST0<<ST1549        FSTP    U64 -16[RBP]550        FFREE   ST0551        FINCSTP552 553        FLDCW   U16 -6[RBP]554        MOV     RAX,U64 -16[RBP]555        LEAVE556        RET1    8557//************************************558_EXP::559        PUSH    RBP560        MOV     RBP,RSP561        SUB     RSP,16562        FSTCW   U16 -8[RBP]563        MOV     AX,U16 -8[RBP]564        MOV     U16 -6[RBP],AX565        OR      AX,0x0C00566        MOV     U16 -8[RBP],AX567        FLDCW   U16 -8[RBP]568 569        FLDL2E570        FLD     U64 SF_ARG1[RBP]571        FMULP   ST1,ST0572        FST     U64 SF_ARG1[RBP]573        FRNDINT574        FLD     U64 SF_ARG1[RBP]575        FSUBRP  ST1,ST0576        F2XM1577        FLD1578        FADDP   ST1,ST0579        FSTP    U64 -16[RBP]580        FLD     U64 SF_ARG1[RBP]581        FLD     U64 -16[RBP]582        FSCALE  // ST0<<ST1583        FSTP    U64 -16[RBP]584        FFREE   ST0585        FINCSTP586 587        FLDCW   U16 -6[RBP]588        MOV     RAX,U64 -16[RBP]589        LEAVE590        RET1    8591//************************************592_LOG10::593        PUSH    RBP594        MOV     RBP,RSP595        FLDLG2596        FLD     U64 SF_ARG1[RBP]597        FYL2X   // y*log2(x)598        FSTP    U64 SF_ARG1[RBP]599        MOV     RAX,U64 SF_ARG1[RBP]600        POP     RBP601        RET1    8602//************************************603_LOG2::604        PUSH    RBP605        MOV     RBP,RSP606        FLD1607        FLD     U64 SF_ARG1[RBP]608        FYL2X   // y*log2(x)609        FSTP    U64 SF_ARG1[RBP]610        MOV     RAX,U64 SF_ARG1[RBP]611        POP     RBP612        RET1    8613//************************************614_LN::615        PUSH    RBP616        MOV     RBP,RSP617        FLDLN2618        FLD     U64 SF_ARG1[RBP]619        FYL2X   // y*log2(x)620        FSTP    U64 SF_ARG1[RBP]621        MOV     RAX,U64 SF_ARG1[RBP]622        POP     RBP623        RET1    8624//************************************625_FLDCW::626        PUSH    RBP627        MOV     RBP,RSP628        FLDCW   U16 SF_ARG1[RBP]629        POP     RBP630        RET1    8631//************************************632_FSTCW::633        PUSH    RBP634        MOV     RBP,RSP635        SUB     RSP,8636        FSTCW   U16 -8[RBP]637        MOVZX   RAX,U16 -8[RBP]638        LEAVE639        RET640//************************************641_FSTSW::642        XOR     RAX,RAX643        FSTSW644        RET645//************************************646_FCLEX::647        FCLEX648        RET649}650