1// Copyright (c) 2016 Nuxi (https://nuxi.nl/) and contributors. 2// 3// Redistribution and use in source and binary forms, with or without 4// modification, are permitted provided that the following conditions 5// are met: 6// 1. Redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer. 8// 2. Redistributions in binary form must reproduce the above copyright 9// notice, this list of conditions and the following disclaimer in the 10// documentation and/or other materials provided with the distribution. 11// 12// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 13// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 14// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 15// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 16// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 17// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 18// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 19// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 20// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 21// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 22// SUCH DAMAGE. 23// 24// This file is automatically generated. Do not edit. 25// 26// Source: https://github.com/NuxiNL/cloudabi 27 28#define ENTRY(name) \ 29 .text; \ 30 .p2align 2, 0x90; \ 31 .global name; \ 32 .type name, @function; \ 33name: 34 35#define END(name) .size name, . - name 36 37ENTRY(cloudabi_sys_clock_res_get) 38 push %ebp 39 mov %esp, %ebp 40 mov 8(%ebp), %ecx 41 mov %ecx, -16(%ebp) 42 mov $0, %eax 43 mov %ebp, %ecx 44 sub $16, %ecx 45 int $0x80 46 test %eax, %eax 47 jnz 1f 48 mov 12(%ebp), %ecx 49 mov -16(%ebp), %edx 50 mov %edx, 0(%ecx) 51 mov -12(%ebp), %edx 52 mov %edx, 4(%ecx) 531: 54 pop %ebp 55 ret 56END(cloudabi_sys_clock_res_get) 57 58ENTRY(cloudabi_sys_clock_time_get) 59 push %ebp 60 mov %esp, %ebp 61 mov 8(%ebp), %ecx 62 mov %ecx, -16(%ebp) 63 mov 12(%ebp), %ecx 64 mov %ecx, -8(%ebp) 65 mov 16(%ebp), %ecx 66 mov %ecx, -4(%ebp) 67 mov $1, %eax 68 mov %ebp, %ecx 69 sub $16, %ecx 70 int $0x80 71 test %eax, %eax 72 jnz 1f 73 mov 20(%ebp), %ecx 74 mov -16(%ebp), %edx 75 mov %edx, 0(%ecx) 76 mov -12(%ebp), %edx 77 mov %edx, 4(%ecx) 781: 79 pop %ebp 80 ret 81END(cloudabi_sys_clock_time_get) 82 83ENTRY(cloudabi_sys_condvar_signal) 84 push %ebp 85 mov %esp, %ebp 86 mov 8(%ebp), %ecx 87 mov %ecx, -24(%ebp) 88 movl $0, -20(%ebp) 89 mov 12(%ebp), %ecx 90 mov %ecx, -16(%ebp) 91 mov 16(%ebp), %ecx 92 mov %ecx, -8(%ebp) 93 mov $2, %eax 94 mov %ebp, %ecx 95 sub $24, %ecx 96 int $0x80 97 pop %ebp 98 ret 99END(cloudabi_sys_condvar_signal) 100 101ENTRY(cloudabi_sys_fd_close) 102 push %ebp 103 mov %esp, %ebp 104 mov 8(%ebp), %ecx 105 mov %ecx, -16(%ebp) 106 mov $3, %eax 107 mov %ebp, %ecx 108 sub $16, %ecx 109 int $0x80 110 pop %ebp 111 ret 112END(cloudabi_sys_fd_close) 113 114ENTRY(cloudabi_sys_fd_create1) 115 push %ebp 116 mov %esp, %ebp 117 mov 8(%ebp), %ecx 118 mov %ecx, -16(%ebp) 119 mov $4, %eax 120 mov %ebp, %ecx 121 sub $16, %ecx 122 int $0x80 123 test %eax, %eax 124 jnz 1f 125 mov 12(%ebp), %ecx 126 mov -16(%ebp), %edx 127 mov %edx, 0(%ecx) 1281: 129 pop %ebp 130 ret 131END(cloudabi_sys_fd_create1) 132 133ENTRY(cloudabi_sys_fd_create2) 134 push %ebp 135 mov %esp, %ebp 136 mov 8(%ebp), %ecx 137 mov %ecx, -16(%ebp) 138 mov $5, %eax 139 mov %ebp, %ecx 140 sub $16, %ecx 141 int $0x80 142 test %eax, %eax 143 jnz 1f 144 mov 12(%ebp), %ecx 145 mov -16(%ebp), %edx 146 mov %edx, 0(%ecx) 147 mov 16(%ebp), %ecx 148 mov -8(%ebp), %edx 149 mov %edx, 0(%ecx) 1501: 151 pop %ebp 152 ret 153END(cloudabi_sys_fd_create2) 154 155ENTRY(cloudabi_sys_fd_datasync) 156 push %ebp 157 mov %esp, %ebp 158 mov 8(%ebp), %ecx 159 mov %ecx, -16(%ebp) 160 mov $6, %eax 161 mov %ebp, %ecx 162 sub $16, %ecx 163 int $0x80 164 pop %ebp 165 ret 166END(cloudabi_sys_fd_datasync) 167 168ENTRY(cloudabi_sys_fd_dup) 169 push %ebp 170 mov %esp, %ebp 171 mov 8(%ebp), %ecx 172 mov %ecx, -16(%ebp) 173 mov $7, %eax 174 mov %ebp, %ecx 175 sub $16, %ecx 176 int $0x80 177 test %eax, %eax 178 jnz 1f 179 mov 12(%ebp), %ecx 180 mov -16(%ebp), %edx 181 mov %edx, 0(%ecx) 1821: 183 pop %ebp 184 ret 185END(cloudabi_sys_fd_dup) 186 187ENTRY(cloudabi_sys_fd_pread) 188 push %ebp 189 mov %esp, %ebp 190 mov 8(%ebp), %ecx 191 mov %ecx, -32(%ebp) 192 mov 12(%ebp), %ecx 193 mov %ecx, -24(%ebp) 194 movl $0, -20(%ebp) 195 mov 16(%ebp), %ecx 196 mov %ecx, -16(%ebp) 197 movl $0, -12(%ebp) 198 mov 20(%ebp), %ecx 199 mov %ecx, -8(%ebp) 200 mov 24(%ebp), %ecx 201 mov %ecx, -4(%ebp) 202 mov $8, %eax 203 mov %ebp, %ecx 204 sub $32, %ecx 205 int $0x80 206 test %eax, %eax 207 jnz 1f 208 mov 28(%ebp), %ecx 209 mov -32(%ebp), %edx 210 mov %edx, 0(%ecx) 2111: 212 pop %ebp 213 ret 214END(cloudabi_sys_fd_pread) 215 216ENTRY(cloudabi_sys_fd_pwrite) 217 push %ebp 218 mov %esp, %ebp 219 mov 8(%ebp), %ecx 220 mov %ecx, -32(%ebp) 221 mov 12(%ebp), %ecx 222 mov %ecx, -24(%ebp) 223 movl $0, -20(%ebp) 224 mov 16(%ebp), %ecx 225 mov %ecx, -16(%ebp) 226 movl $0, -12(%ebp) 227 mov 20(%ebp), %ecx 228 mov %ecx, -8(%ebp) 229 mov 24(%ebp), %ecx 230 mov %ecx, -4(%ebp) 231 mov $9, %eax 232 mov %ebp, %ecx 233 sub $32, %ecx 234 int $0x80 235 test %eax, %eax 236 jnz 1f 237 mov 28(%ebp), %ecx 238 mov -32(%ebp), %edx 239 mov %edx, 0(%ecx) 2401: 241 pop %ebp 242 ret 243END(cloudabi_sys_fd_pwrite) 244 245ENTRY(cloudabi_sys_fd_read) 246 push %ebp 247 mov %esp, %ebp 248 mov 8(%ebp), %ecx 249 mov %ecx, -24(%ebp) 250 mov 12(%ebp), %ecx 251 mov %ecx, -16(%ebp) 252 movl $0, -12(%ebp) 253 mov 16(%ebp), %ecx 254 mov %ecx, -8(%ebp) 255 movl $0, -4(%ebp) 256 mov $10, %eax 257 mov %ebp, %ecx 258 sub $24, %ecx 259 int $0x80 260 test %eax, %eax 261 jnz 1f 262 mov 20(%ebp), %ecx 263 mov -24(%ebp), %edx 264 mov %edx, 0(%ecx) 2651: 266 pop %ebp 267 ret 268END(cloudabi_sys_fd_read) 269 270ENTRY(cloudabi_sys_fd_replace) 271 push %ebp 272 mov %esp, %ebp 273 mov 8(%ebp), %ecx 274 mov %ecx, -16(%ebp) 275 mov 12(%ebp), %ecx 276 mov %ecx, -8(%ebp) 277 mov $11, %eax 278 mov %ebp, %ecx 279 sub $16, %ecx 280 int $0x80 281 pop %ebp 282 ret 283END(cloudabi_sys_fd_replace) 284 285ENTRY(cloudabi_sys_fd_seek) 286 push %ebp 287 mov %esp, %ebp 288 mov 8(%ebp), %ecx 289 mov %ecx, -24(%ebp) 290 mov 12(%ebp), %ecx 291 mov %ecx, -16(%ebp) 292 mov 16(%ebp), %ecx 293 mov %ecx, -12(%ebp) 294 mov 20(%ebp), %ecx 295 mov %ecx, -8(%ebp) 296 mov $12, %eax 297 mov %ebp, %ecx 298 sub $24, %ecx 299 int $0x80 300 test %eax, %eax 301 jnz 1f 302 mov 24(%ebp), %ecx 303 mov -24(%ebp), %edx 304 mov %edx, 0(%ecx) 305 mov -20(%ebp), %edx 306 mov %edx, 4(%ecx) 3071: 308 pop %ebp 309 ret 310END(cloudabi_sys_fd_seek) 311 312ENTRY(cloudabi_sys_fd_stat_get) 313 push %ebp 314 mov %esp, %ebp 315 mov 8(%ebp), %ecx 316 mov %ecx, -16(%ebp) 317 mov 12(%ebp), %ecx 318 mov %ecx, -8(%ebp) 319 movl $0, -4(%ebp) 320 mov $13, %eax 321 mov %ebp, %ecx 322 sub $16, %ecx 323 int $0x80 324 pop %ebp 325 ret 326END(cloudabi_sys_fd_stat_get) 327 328ENTRY(cloudabi_sys_fd_stat_put) 329 push %ebp 330 mov %esp, %ebp 331 mov 8(%ebp), %ecx 332 mov %ecx, -24(%ebp) 333 mov 12(%ebp), %ecx 334 mov %ecx, -16(%ebp) 335 movl $0, -12(%ebp) 336 mov 16(%ebp), %ecx 337 mov %ecx, -8(%ebp) 338 mov $14, %eax 339 mov %ebp, %ecx 340 sub $24, %ecx 341 int $0x80 342 pop %ebp 343 ret 344END(cloudabi_sys_fd_stat_put) 345 346ENTRY(cloudabi_sys_fd_sync) 347 push %ebp 348 mov %esp, %ebp 349 mov 8(%ebp), %ecx 350 mov %ecx, -16(%ebp) 351 mov $15, %eax 352 mov %ebp, %ecx 353 sub $16, %ecx 354 int $0x80 355 pop %ebp 356 ret 357END(cloudabi_sys_fd_sync) 358 359ENTRY(cloudabi_sys_fd_write) 360 push %ebp 361 mov %esp, %ebp 362 mov 8(%ebp), %ecx 363 mov %ecx, -24(%ebp) 364 mov 12(%ebp), %ecx 365 mov %ecx, -16(%ebp) 366 movl $0, -12(%ebp) 367 mov 16(%ebp), %ecx 368 mov %ecx, -8(%ebp) 369 movl $0, -4(%ebp) 370 mov $16, %eax 371 mov %ebp, %ecx 372 sub $24, %ecx 373 int $0x80 374 test %eax, %eax 375 jnz 1f 376 mov 20(%ebp), %ecx 377 mov -24(%ebp), %edx 378 mov %edx, 0(%ecx) 3791: 380 pop %ebp 381 ret 382END(cloudabi_sys_fd_write) 383 384ENTRY(cloudabi_sys_file_advise) 385 push %ebp 386 mov %esp, %ebp 387 mov 8(%ebp), %ecx 388 mov %ecx, -32(%ebp) 389 mov 12(%ebp), %ecx 390 mov %ecx, -24(%ebp) 391 mov 16(%ebp), %ecx 392 mov %ecx, -20(%ebp) 393 mov 20(%ebp), %ecx 394 mov %ecx, -16(%ebp) 395 mov 24(%ebp), %ecx 396 mov %ecx, -12(%ebp) 397 mov 28(%ebp), %ecx 398 mov %ecx, -8(%ebp) 399 mov $17, %eax 400 mov %ebp, %ecx 401 sub $32, %ecx 402 int $0x80 403 pop %ebp 404 ret 405END(cloudabi_sys_file_advise) 406 407ENTRY(cloudabi_sys_file_allocate) 408 push %ebp 409 mov %esp, %ebp 410 mov 8(%ebp), %ecx 411 mov %ecx, -24(%ebp) 412 mov 12(%ebp), %ecx 413 mov %ecx, -16(%ebp) 414 mov 16(%ebp), %ecx 415 mov %ecx, -12(%ebp) 416 mov 20(%ebp), %ecx 417 mov %ecx, -8(%ebp) 418 mov 24(%ebp), %ecx 419 mov %ecx, -4(%ebp) 420 mov $18, %eax 421 mov %ebp, %ecx 422 sub $24, %ecx 423 int $0x80 424 pop %ebp 425 ret 426END(cloudabi_sys_file_allocate) 427 428ENTRY(cloudabi_sys_file_create) 429 push %ebp 430 mov %esp, %ebp 431 mov 8(%ebp), %ecx 432 mov %ecx, -32(%ebp) 433 mov 12(%ebp), %ecx 434 mov %ecx, -24(%ebp) 435 movl $0, -20(%ebp) 436 mov 16(%ebp), %ecx 437 mov %ecx, -16(%ebp) 438 movl $0, -12(%ebp) 439 mov 20(%ebp), %ecx 440 mov %ecx, -8(%ebp) 441 mov $19, %eax 442 mov %ebp, %ecx 443 sub $32, %ecx 444 int $0x80 445 pop %ebp 446 ret 447END(cloudabi_sys_file_create) 448 449ENTRY(cloudabi_sys_file_link) 450 push %ebp 451 mov %esp, %ebp 452 mov 8(%ebp), %ecx 453 mov %ecx, -48(%ebp) 454 mov 12(%ebp), %ecx 455 mov %ecx, -44(%ebp) 456 mov 16(%ebp), %ecx 457 mov %ecx, -40(%ebp) 458 movl $0, -36(%ebp) 459 mov 20(%ebp), %ecx 460 mov %ecx, -32(%ebp) 461 movl $0, -28(%ebp) 462 mov 24(%ebp), %ecx 463 mov %ecx, -24(%ebp) 464 mov 28(%ebp), %ecx 465 mov %ecx, -16(%ebp) 466 movl $0, -12(%ebp) 467 mov 32(%ebp), %ecx 468 mov %ecx, -8(%ebp) 469 movl $0, -4(%ebp) 470 mov $20, %eax 471 mov %ebp, %ecx 472 sub $48, %ecx 473 int $0x80 474 pop %ebp 475 ret 476END(cloudabi_sys_file_link) 477 478ENTRY(cloudabi_sys_file_open) 479 push %ebp 480 mov %esp, %ebp 481 mov 8(%ebp), %ecx 482 mov %ecx, -40(%ebp) 483 mov 12(%ebp), %ecx 484 mov %ecx, -36(%ebp) 485 mov 16(%ebp), %ecx 486 mov %ecx, -32(%ebp) 487 movl $0, -28(%ebp) 488 mov 20(%ebp), %ecx 489 mov %ecx, -24(%ebp) 490 movl $0, -20(%ebp) 491 mov 24(%ebp), %ecx 492 mov %ecx, -16(%ebp) 493 mov 28(%ebp), %ecx 494 mov %ecx, -8(%ebp) 495 movl $0, -4(%ebp) 496 mov $21, %eax 497 mov %ebp, %ecx 498 sub $40, %ecx 499 int $0x80 500 test %eax, %eax 501 jnz 1f 502 mov 32(%ebp), %ecx 503 mov -40(%ebp), %edx 504 mov %edx, 0(%ecx) 5051: 506 pop %ebp 507 ret 508END(cloudabi_sys_file_open) 509 510ENTRY(cloudabi_sys_file_readdir) 511 push %ebp 512 mov %esp, %ebp 513 mov 8(%ebp), %ecx 514 mov %ecx, -32(%ebp) 515 mov 12(%ebp), %ecx 516 mov %ecx, -24(%ebp) 517 movl $0, -20(%ebp) 518 mov 16(%ebp), %ecx 519 mov %ecx, -16(%ebp) 520 movl $0, -12(%ebp) 521 mov 20(%ebp), %ecx 522 mov %ecx, -8(%ebp) 523 mov 24(%ebp), %ecx 524 mov %ecx, -4(%ebp) 525 mov $22, %eax 526 mov %ebp, %ecx 527 sub $32, %ecx 528 int $0x80 529 test %eax, %eax 530 jnz 1f 531 mov 28(%ebp), %ecx 532 mov -32(%ebp), %edx 533 mov %edx, 0(%ecx) 5341: 535 pop %ebp 536 ret 537END(cloudabi_sys_file_readdir) 538 539ENTRY(cloudabi_sys_file_readlink) 540 push %ebp 541 mov %esp, %ebp 542 mov 8(%ebp), %ecx 543 mov %ecx, -40(%ebp) 544 mov 12(%ebp), %ecx 545 mov %ecx, -32(%ebp) 546 movl $0, -28(%ebp) 547 mov 16(%ebp), %ecx 548 mov %ecx, -24(%ebp) 549 movl $0, -20(%ebp) 550 mov 20(%ebp), %ecx 551 mov %ecx, -16(%ebp) 552 movl $0, -12(%ebp) 553 mov 24(%ebp), %ecx 554 mov %ecx, -8(%ebp) 555 movl $0, -4(%ebp) 556 mov $23, %eax 557 mov %ebp, %ecx 558 sub $40, %ecx 559 int $0x80 560 test %eax, %eax 561 jnz 1f 562 mov 28(%ebp), %ecx 563 mov -40(%ebp), %edx 564 mov %edx, 0(%ecx) 5651: 566 pop %ebp 567 ret 568END(cloudabi_sys_file_readlink) 569 570ENTRY(cloudabi_sys_file_rename) 571 push %ebp 572 mov %esp, %ebp 573 mov 8(%ebp), %ecx 574 mov %ecx, -48(%ebp) 575 mov 12(%ebp), %ecx 576 mov %ecx, -40(%ebp) 577 movl $0, -36(%ebp) 578 mov 16(%ebp), %ecx 579 mov %ecx, -32(%ebp) 580 movl $0, -28(%ebp) 581 mov 20(%ebp), %ecx 582 mov %ecx, -24(%ebp) 583 mov 24(%ebp), %ecx 584 mov %ecx, -16(%ebp) 585 movl $0, -12(%ebp) 586 mov 28(%ebp), %ecx 587 mov %ecx, -8(%ebp) 588 movl $0, -4(%ebp) 589 mov $24, %eax 590 mov %ebp, %ecx 591 sub $48, %ecx 592 int $0x80 593 pop %ebp 594 ret 595END(cloudabi_sys_file_rename) 596 597ENTRY(cloudabi_sys_file_stat_fget) 598 push %ebp 599 mov %esp, %ebp 600 mov 8(%ebp), %ecx 601 mov %ecx, -16(%ebp) 602 mov 12(%ebp), %ecx 603 mov %ecx, -8(%ebp) 604 movl $0, -4(%ebp) 605 mov $25, %eax 606 mov %ebp, %ecx 607 sub $16, %ecx 608 int $0x80 609 pop %ebp 610 ret 611END(cloudabi_sys_file_stat_fget) 612 613ENTRY(cloudabi_sys_file_stat_fput) 614 push %ebp 615 mov %esp, %ebp 616 mov 8(%ebp), %ecx 617 mov %ecx, -24(%ebp) 618 mov 12(%ebp), %ecx 619 mov %ecx, -16(%ebp) 620 movl $0, -12(%ebp) 621 mov 16(%ebp), %ecx 622 mov %ecx, -8(%ebp) 623 mov $26, %eax 624 mov %ebp, %ecx 625 sub $24, %ecx 626 int $0x80 627 pop %ebp 628 ret 629END(cloudabi_sys_file_stat_fput) 630 631ENTRY(cloudabi_sys_file_stat_get) 632 push %ebp 633 mov %esp, %ebp 634 mov 8(%ebp), %ecx 635 mov %ecx, -32(%ebp) 636 mov 12(%ebp), %ecx 637 mov %ecx, -28(%ebp) 638 mov 16(%ebp), %ecx 639 mov %ecx, -24(%ebp) 640 movl $0, -20(%ebp) 641 mov 20(%ebp), %ecx 642 mov %ecx, -16(%ebp) 643 movl $0, -12(%ebp) 644 mov 24(%ebp), %ecx 645 mov %ecx, -8(%ebp) 646 movl $0, -4(%ebp) 647 mov $27, %eax 648 mov %ebp, %ecx 649 sub $32, %ecx 650 int $0x80 651 pop %ebp 652 ret 653END(cloudabi_sys_file_stat_get) 654 655ENTRY(cloudabi_sys_file_stat_put) 656 push %ebp 657 mov %esp, %ebp 658 mov 8(%ebp), %ecx 659 mov %ecx, -40(%ebp) 660 mov 12(%ebp), %ecx 661 mov %ecx, -36(%ebp) 662 mov 16(%ebp), %ecx 663 mov %ecx, -32(%ebp) 664 movl $0, -28(%ebp) 665 mov 20(%ebp), %ecx 666 mov %ecx, -24(%ebp) 667 movl $0, -20(%ebp) 668 mov 24(%ebp), %ecx 669 mov %ecx, -16(%ebp) 670 movl $0, -12(%ebp) 671 mov 28(%ebp), %ecx 672 mov %ecx, -8(%ebp) 673 mov $28, %eax 674 mov %ebp, %ecx 675 sub $40, %ecx 676 int $0x80 677 pop %ebp 678 ret 679END(cloudabi_sys_file_stat_put) 680 681ENTRY(cloudabi_sys_file_symlink) 682 push %ebp 683 mov %esp, %ebp 684 mov 8(%ebp), %ecx 685 mov %ecx, -40(%ebp) 686 movl $0, -36(%ebp) 687 mov 12(%ebp), %ecx 688 mov %ecx, -32(%ebp) 689 movl $0, -28(%ebp) 690 mov 16(%ebp), %ecx 691 mov %ecx, -24(%ebp) 692 mov 20(%ebp), %ecx 693 mov %ecx, -16(%ebp) 694 movl $0, -12(%ebp) 695 mov 24(%ebp), %ecx 696 mov %ecx, -8(%ebp) 697 movl $0, -4(%ebp) 698 mov $29, %eax 699 mov %ebp, %ecx 700 sub $40, %ecx 701 int $0x80 702 pop %ebp 703 ret 704END(cloudabi_sys_file_symlink) 705 706ENTRY(cloudabi_sys_file_unlink) 707 push %ebp 708 mov %esp, %ebp 709 mov 8(%ebp), %ecx 710 mov %ecx, -32(%ebp) 711 mov 12(%ebp), %ecx 712 mov %ecx, -24(%ebp) 713 movl $0, -20(%ebp) 714 mov 16(%ebp), %ecx 715 mov %ecx, -16(%ebp) 716 movl $0, -12(%ebp) 717 mov 20(%ebp), %ecx 718 mov %ecx, -8(%ebp) 719 mov $30, %eax 720 mov %ebp, %ecx 721 sub $32, %ecx 722 int $0x80 723 pop %ebp 724 ret 725END(cloudabi_sys_file_unlink) 726 727ENTRY(cloudabi_sys_lock_unlock) 728 push %ebp 729 mov %esp, %ebp 730 mov 8(%ebp), %ecx 731 mov %ecx, -16(%ebp) 732 movl $0, -12(%ebp) 733 mov 12(%ebp), %ecx 734 mov %ecx, -8(%ebp) 735 mov $31, %eax 736 mov %ebp, %ecx 737 sub $16, %ecx 738 int $0x80 739 pop %ebp 740 ret 741END(cloudabi_sys_lock_unlock) 742 743ENTRY(cloudabi_sys_mem_advise) 744 push %ebp 745 mov %esp, %ebp 746 mov 8(%ebp), %ecx 747 mov %ecx, -24(%ebp) 748 movl $0, -20(%ebp) 749 mov 12(%ebp), %ecx 750 mov %ecx, -16(%ebp) 751 movl $0, -12(%ebp) 752 mov 16(%ebp), %ecx 753 mov %ecx, -8(%ebp) 754 mov $32, %eax 755 mov %ebp, %ecx 756 sub $24, %ecx 757 int $0x80 758 pop %ebp 759 ret 760END(cloudabi_sys_mem_advise) 761 762ENTRY(cloudabi_sys_mem_map) 763 push %ebp 764 mov %esp, %ebp 765 mov 8(%ebp), %ecx 766 mov %ecx, -48(%ebp) 767 movl $0, -44(%ebp) 768 mov 12(%ebp), %ecx 769 mov %ecx, -40(%ebp) 770 movl $0, -36(%ebp) 771 mov 16(%ebp), %ecx 772 mov %ecx, -32(%ebp) 773 mov 20(%ebp), %ecx 774 mov %ecx, -24(%ebp) 775 mov 24(%ebp), %ecx 776 mov %ecx, -16(%ebp) 777 mov 28(%ebp), %ecx 778 mov %ecx, -8(%ebp) 779 mov 32(%ebp), %ecx 780 mov %ecx, -4(%ebp) 781 mov $33, %eax 782 mov %ebp, %ecx 783 sub $48, %ecx 784 int $0x80 785 test %eax, %eax 786 jnz 1f 787 mov 36(%ebp), %ecx 788 mov -48(%ebp), %edx 789 mov %edx, 0(%ecx) 7901: 791 pop %ebp 792 ret 793END(cloudabi_sys_mem_map) 794 795ENTRY(cloudabi_sys_mem_protect) 796 push %ebp 797 mov %esp, %ebp 798 mov 8(%ebp), %ecx 799 mov %ecx, -24(%ebp) 800 movl $0, -20(%ebp) 801 mov 12(%ebp), %ecx 802 mov %ecx, -16(%ebp) 803 movl $0, -12(%ebp) 804 mov 16(%ebp), %ecx 805 mov %ecx, -8(%ebp) 806 mov $34, %eax 807 mov %ebp, %ecx 808 sub $24, %ecx 809 int $0x80 810 pop %ebp 811 ret 812END(cloudabi_sys_mem_protect) 813 814ENTRY(cloudabi_sys_mem_sync) 815 push %ebp 816 mov %esp, %ebp 817 mov 8(%ebp), %ecx 818 mov %ecx, -24(%ebp) 819 movl $0, -20(%ebp) 820 mov 12(%ebp), %ecx 821 mov %ecx, -16(%ebp) 822 movl $0, -12(%ebp) 823 mov 16(%ebp), %ecx 824 mov %ecx, -8(%ebp) 825 mov $35, %eax 826 mov %ebp, %ecx 827 sub $24, %ecx 828 int $0x80 829 pop %ebp 830 ret 831END(cloudabi_sys_mem_sync) 832 833ENTRY(cloudabi_sys_mem_unmap) 834 push %ebp 835 mov %esp, %ebp 836 mov 8(%ebp), %ecx 837 mov %ecx, -16(%ebp) 838 movl $0, -12(%ebp) 839 mov 12(%ebp), %ecx 840 mov %ecx, -8(%ebp) 841 movl $0, -4(%ebp) 842 mov $36, %eax 843 mov %ebp, %ecx 844 sub $16, %ecx 845 int $0x80 846 pop %ebp 847 ret 848END(cloudabi_sys_mem_unmap) 849 850ENTRY(cloudabi_sys_poll) 851 push %ebp 852 mov %esp, %ebp 853 mov 8(%ebp), %ecx 854 mov %ecx, -24(%ebp) 855 movl $0, -20(%ebp) 856 mov 12(%ebp), %ecx 857 mov %ecx, -16(%ebp) 858 movl $0, -12(%ebp) 859 mov 16(%ebp), %ecx 860 mov %ecx, -8(%ebp) 861 movl $0, -4(%ebp) 862 mov $37, %eax 863 mov %ebp, %ecx 864 sub $24, %ecx 865 int $0x80 866 test %eax, %eax 867 jnz 1f 868 mov 20(%ebp), %ecx 869 mov -24(%ebp), %edx 870 mov %edx, 0(%ecx) 8711: 872 pop %ebp 873 ret 874END(cloudabi_sys_poll) 875 876ENTRY(cloudabi_sys_proc_exec) 877 push %ebp 878 mov %esp, %ebp 879 mov 8(%ebp), %ecx 880 mov %ecx, -40(%ebp) 881 mov 12(%ebp), %ecx 882 mov %ecx, -32(%ebp) 883 movl $0, -28(%ebp) 884 mov 16(%ebp), %ecx 885 mov %ecx, -24(%ebp) 886 movl $0, -20(%ebp) 887 mov 20(%ebp), %ecx 888 mov %ecx, -16(%ebp) 889 movl $0, -12(%ebp) 890 mov 24(%ebp), %ecx 891 mov %ecx, -8(%ebp) 892 movl $0, -4(%ebp) 893 mov $38, %eax 894 mov %ebp, %ecx 895 sub $40, %ecx 896 int $0x80 897 pop %ebp 898 ret 899END(cloudabi_sys_proc_exec) 900 901ENTRY(cloudabi_sys_proc_exit) 902 push %ebp 903 mov %esp, %ebp 904 mov 8(%ebp), %ecx 905 mov %ecx, -16(%ebp) 906 mov $39, %eax 907 mov %ebp, %ecx 908 sub $16, %ecx 909 int $0x80 910END(cloudabi_sys_proc_exit) 911 912ENTRY(cloudabi_sys_proc_fork) 913 push %ebp 914 mov %esp, %ebp 915 mov $40, %eax 916 mov %ebp, %ecx 917 sub $16, %ecx 918 int $0x80 919 test %eax, %eax 920 jnz 1f 921 mov 8(%ebp), %ecx 922 mov -16(%ebp), %edx 923 mov %edx, 0(%ecx) 924 mov 12(%ebp), %ecx 925 mov -8(%ebp), %edx 926 mov %edx, 0(%ecx) 9271: 928 pop %ebp 929 ret 930END(cloudabi_sys_proc_fork) 931 932ENTRY(cloudabi_sys_proc_raise) 933 push %ebp 934 mov %esp, %ebp 935 mov 8(%ebp), %ecx 936 mov %ecx, -16(%ebp) 937 mov $41, %eax 938 mov %ebp, %ecx 939 sub $16, %ecx 940 int $0x80 941 pop %ebp 942 ret 943END(cloudabi_sys_proc_raise) 944 945ENTRY(cloudabi_sys_random_get) 946 push %ebp 947 mov %esp, %ebp 948 mov 8(%ebp), %ecx 949 mov %ecx, -16(%ebp) 950 movl $0, -12(%ebp) 951 mov 12(%ebp), %ecx 952 mov %ecx, -8(%ebp) 953 movl $0, -4(%ebp) 954 mov $42, %eax 955 mov %ebp, %ecx 956 sub $16, %ecx 957 int $0x80 958 pop %ebp 959 ret 960END(cloudabi_sys_random_get) 961 962ENTRY(cloudabi_sys_sock_recv) 963 push %ebp 964 mov %esp, %ebp 965 mov 8(%ebp), %ecx 966 mov %ecx, -24(%ebp) 967 mov 12(%ebp), %ecx 968 mov %ecx, -16(%ebp) 969 movl $0, -12(%ebp) 970 mov 16(%ebp), %ecx 971 mov %ecx, -8(%ebp) 972 movl $0, -4(%ebp) 973 mov $43, %eax 974 mov %ebp, %ecx 975 sub $24, %ecx 976 int $0x80 977 pop %ebp 978 ret 979END(cloudabi_sys_sock_recv) 980 981ENTRY(cloudabi_sys_sock_send) 982 push %ebp 983 mov %esp, %ebp 984 mov 8(%ebp), %ecx 985 mov %ecx, -24(%ebp) 986 mov 12(%ebp), %ecx 987 mov %ecx, -16(%ebp) 988 movl $0, -12(%ebp) 989 mov 16(%ebp), %ecx 990 mov %ecx, -8(%ebp) 991 movl $0, -4(%ebp) 992 mov $44, %eax 993 mov %ebp, %ecx 994 sub $24, %ecx 995 int $0x80 996 pop %ebp 997 ret 998END(cloudabi_sys_sock_send) 999 1000ENTRY(cloudabi_sys_sock_shutdown) 1001 push %ebp 1002 mov %esp, %ebp 1003 mov 8(%ebp), %ecx 1004 mov %ecx, -16(%ebp) 1005 mov 12(%ebp), %ecx 1006 mov %ecx, -8(%ebp) 1007 mov $45, %eax 1008 mov %ebp, %ecx 1009 sub $16, %ecx 1010 int $0x80 1011 pop %ebp 1012 ret 1013END(cloudabi_sys_sock_shutdown) 1014 1015ENTRY(cloudabi_sys_thread_create) 1016 push %ebp 1017 mov %esp, %ebp 1018 mov 8(%ebp), %ecx 1019 mov %ecx, -16(%ebp) 1020 movl $0, -12(%ebp) 1021 mov $46, %eax 1022 mov %ebp, %ecx 1023 sub $16, %ecx 1024 int $0x80 1025 test %eax, %eax 1026 jnz 1f 1027 mov 12(%ebp), %ecx 1028 mov -16(%ebp), %edx 1029 mov %edx, 0(%ecx) 10301: 1031 pop %ebp 1032 ret 1033END(cloudabi_sys_thread_create) 1034 1035ENTRY(cloudabi_sys_thread_exit) 1036 push %ebp 1037 mov %esp, %ebp 1038 mov 8(%ebp), %ecx 1039 mov %ecx, -16(%ebp) 1040 movl $0, -12(%ebp) 1041 mov 12(%ebp), %ecx 1042 mov %ecx, -8(%ebp) 1043 mov $47, %eax 1044 mov %ebp, %ecx 1045 sub $16, %ecx 1046 int $0x80 1047END(cloudabi_sys_thread_exit) 1048 1049ENTRY(cloudabi_sys_thread_yield) 1050 push %ebp 1051 mov %esp, %ebp 1052 mov $48, %eax 1053 mov %ebp, %ecx 1054 sub $16, %ecx 1055 int $0x80 1056 pop %ebp 1057 ret 1058END(cloudabi_sys_thread_yield) 1059