Annotation of uae/src/md-i386-watcom/support.c, revision 1.1

1.1     ! root        1:  /* 
        !             2:   * UAE - The Un*x Amiga Emulator
        !             3:   * 
        !             4:   * Miscellaneous machine dependent support functions and definitions
        !             5:   *
        !             6:   * Copyright 1997 Bernd Schmidt
        !             7:   */
        !             8: 
        !             9: #include "sysconfig.h"
        !            10: #include "sysdeps.h"
        !            11: 
        !            12: #include "config.h"
        !            13: #include "options.h"
        !            14: #include "machdep/m68k.h"
        !            15: 
        !            16: struct flag_struct regflags;
        !            17: 
        !            18: int fast_memcmp (const void *a, const void *b, int len)
        !            19: {
        !            20:     return memcmp (a, b, len);
        !            21: }
        !            22: 
        !            23: int do_memcmpy(char *foo, const char *bar, int len);
        !            24: #pragma aux do_memcmpy = \
        !            25: "xor eax,eax" \
        !            26: "sub esi,edi" \
        !            27: "sub edx,16" \
        !            28: "jc LLB7" \
        !            29: "LLB8:" \
        !            30: "mov ebx,[esi + edi]" \
        !            31: "mov ecx,[edi]" \
        !            32: "cmp ebx,ecx" \
        !            33: "jne LLC1" \
        !            34: "mov ebx,[esi + edi + 4]" \
        !            35: "mov ecx,[edi + 4]" \
        !            36: "cmp ebx,ecx" \
        !            37: "jne LLC2" \
        !            38: "mov ebx,[esi + edi + 8]" \
        !            39: "mov ecx,[edi + 8]" \
        !            40: "cmp ebx,ecx" \
        !            41: "jne LLC3" \
        !            42: "mov ebx,[esi + edi + 12]" \
        !            43: "mov ecx,[edi + 12]" \
        !            44: "cmp ebx,ecx" \
        !            45: "jne LLC4" \
        !            46: "add edi,16" \
        !            47: "sub edx,16" \
        !            48: "jnc LLB8" \
        !            49: "LLB7:" \
        !            50: "add edx,16" \
        !            51: "sub edx,4" \
        !            52: "jc LLB2" \
        !            53: "LLB1:" \
        !            54: "mov ebx,[esi + edi]" \
        !            55: "mov ecx,[edi]" \
        !            56: "cmp ebx,ecx" \
        !            57: "jne LLC5" \
        !            58: "add edi,4" \
        !            59: "sub edx,4" \
        !            60: "jnc  LLB1" \
        !            61: "LLB2:" \
        !            62: "add edx, 4" \
        !            63: "jz LLB9" \
        !            64: "LLB3:" \
        !            65: "mov bl,[esi + edi]" \
        !            66: "mov cl,[edi]" \
        !            67: "cmp bl,cl" \
        !            68: "jne LLC6" \
        !            69: "inc edi" \
        !            70: "dec edx" \
        !            71: "jnz LLB3" \
        !            72: "jmp LLB9" \
        !            73: "LLC01:" \
        !            74: "mov ebx,[esi + edi]" \
        !            75: "LLC1:" \
        !            76: "mov [edi],ebx" \
        !            77: "mov ebx,[esi + edi + 4]" \
        !            78: "LLC2:" \
        !            79: "mov [edi + 4],ebx" \
        !            80: "mov ebx,[esi + edi + 8]" \
        !            81: "LLC3:" \
        !            82: "mov [edi + 8],ebx" \
        !            83: "mov ebx,[esi + edi + 12]" \
        !            84: "LLC4:" \
        !            85: "mov [edi + 12],ebx" \
        !            86: "add edi,16" \
        !            87: "sub edx,16" \
        !            88: "jnc LLC01" \
        !            89: "add edx,16" \
        !            90: "sub edx,4" \
        !            91: "jc  LLC03" \
        !            92: "LLC02:" \
        !            93: "mov ebx,[esi + edi]" \
        !            94: "LLC5:" \
        !            95: "mov [edi],ebx" \
        !            96: "add edi,4" \
        !            97: "sub edx,4" \
        !            98: "jnc  LLC02" \
        !            99: "LLC03:" \
        !           100: "add edx,4" \
        !           101: "jz LLC05" \
        !           102: "LLC04:" \
        !           103: "mov bl,[esi + edi]" \
        !           104: "LLC6:" \
        !           105: "mov [edi],bl" \
        !           106: "inc edi" \
        !           107: "dec edx" \
        !           108: "jnz LLC04" \
        !           109: "LLC05:" \
        !           110: "mov eax,1" \
        !           111: "LLB9:" \
        !           112:  parm [edi] [esi] [edx] \
        !           113:  value [eax] \
        !           114:  modify [esi edi edx ecx ebx]
        !           115: 
        !           116: 
        !           117: int memcmpy (void *foo, const void *bar, int len)
        !           118: {
        !           119:     return do_memcmpy (foo, bar, len);
        !           120: }
        !           121: 
        !           122: void machdep_init (void)
        !           123: {
        !           124: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.