Changeset 75131 in vbox for trunk/include/iprt/asm-amd64-x86-watcom-32.h
- Timestamp:
- Oct 28, 2018 5:33:38 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/asm-amd64-x86-watcom-32.h
r69105 r75131 38 38 * the mangling, because the symbol in #pragma aux [symbol] statements 39 39 * doesn't get subjected to preprocessing. This is also why we include 40 * the watcom header at the top rather than at the bottom of the 41 * asm-amd64-x86.h file. 40 * the watcom header at both the top and the bottom of asm-amd64-x86.h file. 42 41 */ 43 42 44 43 #undef ASMGetIDTR 44 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 45 45 #pragma aux ASMGetIDTR = \ 46 46 "sidt fword ptr [ecx]" \ 47 47 parm [ecx] \ 48 48 modify exact []; 49 #endif 49 50 50 51 #undef ASMGetIdtrLimit 52 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 51 53 #pragma aux ASMGetIdtrLimit = \ 52 54 "sub esp, 8" \ … … 57 59 value [cx] \ 58 60 modify exact [ecx]; 61 #endif 59 62 60 63 #undef ASMSetIDTR 64 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 61 65 #pragma aux ASMSetIDTR = \ 62 66 "lidt fword ptr [ecx]" \ 63 67 parm [ecx] nomemory \ 64 68 modify nomemory; 69 #endif 65 70 66 71 #undef ASMGetGDTR 72 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 67 73 #pragma aux ASMGetGDTR = \ 68 74 "sgdt fword ptr [ecx]" \ 69 75 parm [ecx] \ 70 76 modify exact []; 77 #endif 71 78 72 79 #undef ASMSetGDTR 80 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 73 81 #pragma aux ASMSetGDTR = \ 74 82 "lgdt fword ptr [ecx]" \ 75 83 parm [ecx] nomemory \ 76 84 modify exact [] nomemory; 85 #endif 77 86 78 87 #undef ASMGetCS 88 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 79 89 #pragma aux ASMGetCS = \ 80 90 "mov ax, cs" \ … … 82 92 value [ax] \ 83 93 modify exact [eax] nomemory; 94 #endif 84 95 85 96 #undef ASMGetDS 97 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 86 98 #pragma aux ASMGetDS = \ 87 99 "mov ax, ds" \ … … 89 101 value [ax] \ 90 102 modify exact [eax] nomemory; 103 #endif 91 104 92 105 #undef ASMGetES 106 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 93 107 #pragma aux ASMGetES = \ 94 108 "mov ax, es" \ … … 96 110 value [ax] \ 97 111 modify exact [eax] nomemory; 112 #endif 98 113 99 114 #undef ASMGetFS 115 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 100 116 #pragma aux ASMGetFS = \ 101 117 "mov ax, fs" \ … … 103 119 value [ax] \ 104 120 modify exact [eax] nomemory; 121 #endif 105 122 106 123 #undef ASMGetGS 124 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 107 125 #pragma aux ASMGetGS = \ 108 126 "mov ax, gs" \ … … 110 128 value [ax] \ 111 129 modify exact [eax] nomemory; 130 #endif 112 131 113 132 #undef ASMGetSS 133 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 114 134 #pragma aux ASMGetSS = \ 115 135 "mov ax, ss" \ … … 117 137 value [ax] \ 118 138 modify exact [eax] nomemory; 139 #endif 119 140 120 141 #undef ASMGetTR 142 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 121 143 #pragma aux ASMGetTR = \ 122 144 "str ax" \ … … 124 146 value [ax] \ 125 147 modify exact [eax] nomemory; 148 #endif 126 149 127 150 #undef ASMGetLDTR 151 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 128 152 #pragma aux ASMGetLDTR = \ 129 153 "sldt ax" \ … … 131 155 value [ax] \ 132 156 modify exact [eax] nomemory; 157 #endif 133 158 134 159 /** @todo ASMGetSegAttr */ 135 160 136 161 #undef ASMGetFlags 162 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 137 163 #pragma aux ASMGetFlags = \ 138 164 "pushfd" \ … … 141 167 value [eax] \ 142 168 modify exact [eax] nomemory; 169 #endif 143 170 144 171 #undef ASMSetFlags 172 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 145 173 #pragma aux ASMSetFlags = \ 146 174 "push eax" \ … … 148 176 parm [eax] nomemory \ 149 177 modify exact [] nomemory; 178 #endif 150 179 151 180 #undef ASMChangeFlags 181 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 152 182 #pragma aux ASMChangeFlags = \ 153 183 "pushfd" \ … … 160 190 value [eax] \ 161 191 modify exact [edx] nomemory; 192 #endif 162 193 163 194 #undef ASMAddFlags 195 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 164 196 #pragma aux ASMAddFlags = \ 165 197 "pushfd" \ … … 171 203 value [eax] \ 172 204 modify exact [edx] nomemory; 205 #endif 173 206 174 207 #undef ASMClearFlags 208 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 175 209 #pragma aux ASMClearFlags = \ 176 210 "pushfd" \ … … 182 216 value [eax] \ 183 217 modify exact [edx] nomemory; 218 #endif 184 219 185 220 /* Note! Must use the 64-bit integer return value convension. 186 221 The order of registers in the value [set] does not seem to mean anything. */ 187 222 #undef ASMReadTSC 223 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 188 224 #pragma aux ASMReadTSC = \ 189 225 ".586" \ … … 192 228 value [eax edx] \ 193 229 modify exact [edx eax] nomemory; 230 #endif 194 231 195 232 #undef ASMReadTscWithAux 233 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 196 234 #pragma aux ASMReadTscWithAux = \ 197 235 0x0f 0x01 0xf9 \ … … 200 238 value [eax edx] \ 201 239 modify exact [eax edx ecx]; 240 #endif 202 241 203 242 /* ASMCpuId: Implemented externally, too many parameters. */ … … 206 245 207 246 #undef ASMCpuId_ECX_EDX 247 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 208 248 #pragma aux ASMCpuId_ECX_EDX = \ 249 ".586" \ 209 250 "cpuid" \ 210 251 "mov [edi], ecx" \ … … 212 253 parm [eax] [edi] [esi] \ 213 254 modify exact [eax ebx ecx edx]; 255 #endif 214 256 215 257 #undef ASMCpuId_EAX 258 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 216 259 #pragma aux ASMCpuId_EAX = \ 260 ".586" \ 217 261 "cpuid" \ 218 262 parm [eax] \ 219 263 value [eax] \ 220 264 modify exact [eax ebx ecx edx]; 265 #endif 221 266 222 267 #undef ASMCpuId_EBX 268 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 223 269 #pragma aux ASMCpuId_EBX = \ 270 ".586" \ 224 271 "cpuid" \ 225 272 parm [eax] \ 226 273 value [ebx] \ 227 274 modify exact [eax ebx ecx edx]; 275 #endif 228 276 229 277 #undef ASMCpuId_ECX 278 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 230 279 #pragma aux ASMCpuId_ECX = \ 280 ".586" \ 231 281 "cpuid" \ 232 282 parm [eax] \ 233 283 value [ecx] \ 234 284 modify exact [eax ebx ecx edx]; 285 #endif 235 286 236 287 #undef ASMCpuId_EDX 288 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 237 289 #pragma aux ASMCpuId_EDX = \ 290 ".586" \ 238 291 "cpuid" \ 239 292 parm [eax] \ 240 293 value [edx] \ 241 294 modify exact [eax ebx ecx edx]; 295 #endif 242 296 243 297 /* ASMHasCpuId: MSC inline in main source file. */ 244 /* ASMGetApicId: Implemented externally, lazy bird. */ 298 299 #undef ASMGetApicId 300 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 301 #pragma aux ASMGetApicId = \ 302 ".586" \ 303 "xor eax, eax" \ 304 "cpuid" \ 305 "shr ebx,24" \ 306 parm [] \ 307 value [bl] \ 308 modify exact [eax ebx ecx edx]; 309 #endif 245 310 246 311 #undef ASMGetCR0 312 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 247 313 #pragma aux ASMGetCR0 = \ 248 314 "mov eax, cr0" \ … … 250 316 value [eax] \ 251 317 modify exact [eax] nomemory; 318 #endif 252 319 253 320 #undef ASMSetCR0 321 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 254 322 #pragma aux ASMSetCR0 = \ 255 323 "mov cr0, eax" \ 256 324 parm [eax] nomemory \ 257 325 modify exact [] nomemory; 326 #endif 258 327 259 328 #undef ASMGetCR2 329 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 260 330 #pragma aux ASMGetCR2 = \ 261 331 "mov eax, cr2" \ … … 263 333 value [eax] \ 264 334 modify exact [eax] nomemory; 335 #endif 265 336 266 337 #undef ASMSetCR2 338 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 267 339 #pragma aux ASMSetCR2 = \ 268 340 "mov cr2, eax" \ 269 341 parm [eax] nomemory \ 270 342 modify exact [] nomemory; 343 #endif 271 344 272 345 #undef ASMGetCR3 346 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 273 347 #pragma aux ASMGetCR3 = \ 274 348 "mov eax, cr3" \ … … 276 350 value [eax] \ 277 351 modify exact [eax] nomemory; 352 #endif 278 353 279 354 #undef ASMSetCR3 355 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 280 356 #pragma aux ASMSetCR3 = \ 281 357 "mov cr3, eax" \ 282 358 parm [eax] nomemory \ 283 359 modify exact [] nomemory; 360 #endif 284 361 285 362 #undef ASMReloadCR3 363 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 286 364 #pragma aux ASMReloadCR3 = \ 287 365 "mov eax, cr3" \ … … 289 367 parm [] nomemory \ 290 368 modify exact [eax] nomemory; 369 #endif 291 370 292 371 #undef ASMGetCR4 372 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 293 373 #pragma aux ASMGetCR4 = \ 294 374 "mov eax, cr4" \ … … 296 376 value [eax] \ 297 377 modify exact [eax] nomemory; 378 #endif 298 379 299 380 #undef ASMSetCR4 381 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 300 382 #pragma aux ASMSetCR4 = \ 301 383 "mov cr4, eax" \ 302 384 parm [eax] nomemory \ 303 385 modify exact [] nomemory; 386 #endif 304 387 305 388 /* ASMGetCR8: Don't bother for 32-bit. */ … … 307 390 308 391 #undef ASMIntEnable 392 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 309 393 #pragma aux ASMIntEnable = \ 310 394 "sti" \ 311 395 parm [] nomemory \ 312 396 modify exact [] nomemory; 397 #endif 313 398 314 399 #undef ASMIntDisable 400 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 315 401 #pragma aux ASMIntDisable = \ 316 402 "cli" \ 317 403 parm [] nomemory \ 318 404 modify exact [] nomemory; 405 #endif 319 406 320 407 #undef ASMIntDisableFlags 408 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 321 409 #pragma aux ASMIntDisableFlags = \ 322 410 "pushfd" \ … … 326 414 value [eax] \ 327 415 modify exact [] nomemory; 416 #endif 328 417 329 418 #undef ASMHalt 419 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 330 420 #pragma aux ASMHalt = \ 331 421 "hlt" \ 332 422 parm [] nomemory \ 333 423 modify exact [] nomemory; 424 #endif 334 425 335 426 #undef ASMRdMsr 427 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 336 428 #pragma aux ASMRdMsr = \ 337 429 ".586" \ … … 340 432 value [eax edx] \ 341 433 modify exact [eax edx] nomemory; 434 #endif 342 435 343 436 #undef ASMWrMsr 437 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 344 438 #pragma aux ASMWrMsr = \ 345 439 ".586" \ … … 347 441 parm [ecx] [eax edx] nomemory \ 348 442 modify exact [] nomemory; 443 #endif 349 444 350 445 #undef ASMRdMsrEx 446 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 351 447 #pragma aux ASMRdMsrEx = \ 352 448 ".586" \ … … 355 451 value [eax edx] \ 356 452 modify exact [eax edx] nomemory; 453 #endif 357 454 358 455 #undef ASMWrMsrEx 456 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 359 457 #pragma aux ASMWrMsrEx = \ 360 458 ".586" \ … … 362 460 parm [ecx] [edi] [eax edx] nomemory \ 363 461 modify exact [] nomemory; 462 #endif 364 463 365 464 #undef ASMRdMsr_Low 465 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 366 466 #pragma aux ASMRdMsr_Low = \ 367 467 ".586" \ … … 370 470 value [eax] \ 371 471 modify exact [eax edx] nomemory; 472 #endif 372 473 373 474 #undef ASMRdMsr_High 475 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 374 476 #pragma aux ASMRdMsr_High = \ 375 477 ".586" \ … … 378 480 value [edx] \ 379 481 modify exact [eax edx] nomemory; 482 #endif 380 483 381 484 382 485 #undef ASMGetDR0 486 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 383 487 #pragma aux ASMGetDR0 = \ 384 488 "mov eax, dr0" \ … … 386 490 value [eax] \ 387 491 modify exact [eax] nomemory; 492 #endif 388 493 389 494 #undef ASMGetDR1 495 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 390 496 #pragma aux ASMGetDR1 = \ 391 497 "mov eax, dr1" \ … … 393 499 value [eax] \ 394 500 modify exact [eax] nomemory; 501 #endif 395 502 396 503 #undef ASMGetDR2 504 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 397 505 #pragma aux ASMGetDR2 = \ 398 506 "mov eax, dr2" \ … … 400 508 value [eax] \ 401 509 modify exact [eax] nomemory; 510 #endif 402 511 403 512 #undef ASMGetDR3 513 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 404 514 #pragma aux ASMGetDR3 = \ 405 515 "mov eax, dr3" \ … … 407 517 value [eax] \ 408 518 modify exact [eax] nomemory; 519 #endif 409 520 410 521 #undef ASMGetDR6 522 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 411 523 #pragma aux ASMGetDR6 = \ 412 524 "mov eax, dr6" \ … … 414 526 value [eax] \ 415 527 modify exact [eax] nomemory; 528 #endif 416 529 417 530 #undef ASMGetAndClearDR6 531 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 418 532 #pragma aux ASMGetAndClearDR6 = \ 419 533 "mov edx, 0ffff0ff0h" \ … … 423 537 value [eax] \ 424 538 modify exact [eax edx] nomemory; 539 #endif 425 540 426 541 #undef ASMGetDR7 542 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 427 543 #pragma aux ASMGetDR7 = \ 428 544 "mov eax, dr7" \ … … 430 546 value [eax] \ 431 547 modify exact [eax] nomemory; 548 #endif 432 549 433 550 #undef ASMSetDR0 551 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 434 552 #pragma aux ASMSetDR0 = \ 435 553 "mov dr0, eax" \ 436 554 parm [eax] nomemory \ 437 555 modify exact [] nomemory; 556 #endif 438 557 439 558 #undef ASMSetDR1 559 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 440 560 #pragma aux ASMSetDR1 = \ 441 561 "mov dr1, eax" \ 442 562 parm [eax] nomemory \ 443 563 modify exact [] nomemory; 564 #endif 444 565 445 566 #undef ASMSetDR2 567 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 446 568 #pragma aux ASMSetDR2 = \ 447 569 "mov dr2, eax" \ 448 570 parm [eax] nomemory \ 449 571 modify exact [] nomemory; 572 #endif 450 573 451 574 #undef ASMSetDR3 575 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 452 576 #pragma aux ASMSetDR3 = \ 453 577 "mov dr3, eax" \ 454 578 parm [eax] nomemory \ 455 579 modify exact [] nomemory; 580 #endif 456 581 457 582 #undef ASMSetDR6 583 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 458 584 #pragma aux ASMSetDR6 = \ 459 585 "mov dr6, eax" \ 460 586 parm [eax] nomemory \ 461 587 modify exact [] nomemory; 588 #endif 462 589 463 590 #undef ASMSetDR7 591 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 464 592 #pragma aux ASMSetDR7 = \ 465 593 "mov dr7, eax" \ 466 594 parm [eax] nomemory \ 467 595 modify exact [] nomemory; 596 #endif 468 597 469 598 /* Yeah, could've used outp here, but this keeps the main file simpler. */ 470 599 #undef ASMOutU8 600 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 471 601 #pragma aux ASMOutU8 = \ 472 602 "out dx, al" \ 473 603 parm [dx] [al] nomemory \ 474 604 modify exact [] nomemory; 605 #endif 475 606 476 607 #undef ASMInU8 608 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 477 609 #pragma aux ASMInU8 = \ 478 610 "in al, dx" \ … … 480 612 value [al] \ 481 613 modify exact [] nomemory; 614 #endif 482 615 483 616 #undef ASMOutU16 617 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 484 618 #pragma aux ASMOutU16 = \ 485 619 "out dx, ax" \ 486 620 parm [dx] [ax] nomemory \ 487 621 modify exact [] nomemory; 622 #endif 488 623 489 624 #undef ASMInU16 625 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 490 626 #pragma aux ASMInU16 = \ 491 627 "in ax, dx" \ … … 493 629 value [ax] \ 494 630 modify exact [] nomemory; 631 #endif 495 632 496 633 #undef ASMOutU32 634 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 497 635 #pragma aux ASMOutU32 = \ 498 636 "out dx, eax" \ 499 637 parm [dx] [eax] nomemory \ 500 638 modify exact [] nomemory; 639 #endif 501 640 502 641 #undef ASMInU32 642 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 503 643 #pragma aux ASMInU32 = \ 504 644 "in eax, dx" \ … … 506 646 value [eax] \ 507 647 modify exact [] nomemory; 648 #endif 508 649 509 650 #undef ASMOutStrU8 651 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 510 652 #pragma aux ASMOutStrU8 = \ 511 653 "rep outsb" \ 512 654 parm [dx] [esi] [ecx] nomemory \ 513 655 modify exact [esi ecx] nomemory; 656 #endif 514 657 515 658 #undef ASMInStrU8 659 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 516 660 #pragma aux ASMInStrU8 = \ 517 661 "rep insb" \ 518 662 parm [dx] [edi] [ecx] \ 519 663 modify exact [edi ecx]; 664 #endif 520 665 521 666 #undef ASMOutStrU16 667 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 522 668 #pragma aux ASMOutStrU16 = \ 523 669 "rep outsw" \ 524 670 parm [dx] [esi] [ecx] nomemory \ 525 671 modify exact [esi ecx] nomemory; 672 #endif 526 673 527 674 #undef ASMInStrU16 675 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 528 676 #pragma aux ASMInStrU16 = \ 529 677 "rep insw" \ 530 678 parm [dx] [edi] [ecx] \ 531 679 modify exact [edi ecx]; 680 #endif 532 681 533 682 #undef ASMOutStrU32 683 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 534 684 #pragma aux ASMOutStrU32 = \ 535 685 "rep outsd" \ 536 686 parm [dx] [esi] [ecx] nomemory \ 537 687 modify exact [esi ecx] nomemory; 688 #endif 538 689 539 690 #undef ASMInStrU32 691 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 540 692 #pragma aux ASMInStrU32 = \ 541 693 "rep insd" \ 542 694 parm [dx] [edi] [ecx] \ 543 695 modify exact [edi ecx]; 696 #endif 544 697 545 698 #undef ASMInvalidatePage 699 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 546 700 #pragma aux ASMInvalidatePage = \ 547 701 "invlpg [eax]" \ 548 702 parm [eax] \ 549 703 modify exact []; 704 #endif 550 705 551 706 #undef ASMWriteBackAndInvalidateCaches 707 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 552 708 #pragma aux ASMWriteBackAndInvalidateCaches = \ 553 709 ".486" \ … … 555 711 parm [] nomemory \ 556 712 modify exact [] nomemory; 713 #endif 557 714 558 715 #undef ASMInvalidateInternalCaches 716 #ifdef IPRT_ASM_AMD64_X86_WATCOM_32_INSTANTIATE 559 717 #pragma aux ASMInvalidateInternalCaches = \ 560 718 ".486" \ … … 562 720 parm [] \ 563 721 modify exact []; 564 565 #endif 566 722 #endif 723 724 #endif 725
Note:
See TracChangeset
for help on using the changeset viewer.