Annotation of uae/src/md-i386-watcom/support.c, revision 1.1.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.