ifndef ??version ?debug macro endm endif ?debug S "main.c" _TEXT segment byte public 'CODE' DGROUP group _DATA,_BSS assume cs:_TEXT,dsGROUP,ssGROUP _TEXT ends _DATA segment word public 'DATA' d@ label byte d@w label word _DATA ends _BSS segment word public 'BSS' b@ label byte b@w label word ?debug C E904137F2C066D61696E2E63 ?debug C E9F3127F2C06646566732E68 ?debug C E9EC127F2C087379737372762E63 ?debug C E9F3127F2C06646566732E68 _BSS ends _DATA segment word public 'DATA' _attrib label byte db 15 _page label byte db 0 _DATA ends _TEXT segment byte public 'CODE' ; ?debug L 29 __printc proc near push bp mov bp,sp ; ?debug L 30 mov ah , 009H ; ?debug L 31 mov al , [bp+4] ; ?debug L 32 mov bh , DGROUP:_page ; ?debug L 33 mov bl , DGROUP:_attrib ; ?debug L 34 mov cx , 1 ; ?debug L 35 int 010H @1: ; ?debug L 36 pop bp ret __printc endp ; ?debug L 41 __setvideomode proc near push bp mov bp,sp ; ?debug L 42 mov ah , 0 ; ?debug L 43 mov al , [bp+4] ; ?debug L 44 int 010H @2: ; ?debug L 45 pop bp ret __setvideomode endp ; ?debug L 50 __setcurpos proc near push bp mov bp,sp ; ?debug L 51 mov ah , 002H ; ?debug L 52 mov bh , 00H ; ?debug L 53 mov dh , [bp+6] ; ?debug L 54 mov dl , [bp+4] ; ?debug L 55 int 010H @3: ; ?debug L 57 pop bp ret __setcurpos endp ; ?debug L 61 __getcurpos proc near push bp mov bp,sp ; ?debug L 62 mov ah , 003H ; ?debug L 63 mov bh , 000H ; ?debug L 64 int 010H ; ?debug L 65 mov [[bp+4]], dl ; ?debug L 66 mov [[bp+6]], dh @4: ; ?debug L 67 pop bp ret __getcurpos endp ; ?debug L 71 __scrollup proc near push bp mov bp,sp ; ?debug L 72 mov ah , 006H ; ?debug L 73 mov al , [bp+4] ; ?debug L 74 mov cl , [bp+6] ; ?debug L 75 mov ch , [bp+8] ; ?debug L 76 mov dl , [bp+10] ; ?debug L 77 mov dh , [bp+12] ; ?debug L 78 mov bh , DGROUP:_attrib ; ?debug L 79 int 010H @5: ; ?debug L 80 pop bp ret __scrollup endp ; ?debug L 84 __scrolldown proc near push bp mov bp,sp ; ?debug L 85 mov ah , 007H ; ?debug L 86 mov al , [bp+4] ; ?debug L 87 mov cl , [bp+6] ; ?debug L 88 mov ch , [bp+8] ; ?debug L 89 mov dl , [bp+10] ; ?debug L 90 mov dh , [bp+12] ; ?debug L 91 mov bh , DGROUP:_attrib ; ?debug L 92 int 010H @6: ; ?debug L 93 pop bp ret __scrolldown endp ; ?debug L 97 __getkey proc near push bp mov bp,sp sub sp,2 ; ?debug L 99 mov ah , 0 ; ?debug L 100 int 016H ; ?debug L 101 mov [bp-2], al ; ?debug L 102 mov [bp-1], ah ; ?debug L 103 mov al,byte ptr [bp-2] mov bx,word ptr [bp+4] mov byte ptr [bx],al ; ?debug L 104 mov al,byte ptr [bp-1] mov bx,word ptr [bp+6] mov byte ptr [bx],al @7: ; ?debug L 105 mov sp,bp pop bp ret __getkey endp ; ?debug L 109 __reboot proc near ; ?debug L 110 int 019H @8: ; ?debug L 111 ret __reboot endp ; ?debug L 116 _inportb proc near push bp mov bp,sp sub sp,2 ; ?debug L 118 mov dx , [bp+4] ; ?debug L 119 in al , dx ; ?debug L 120 mov [bp-1] , al @9: ; ?debug L 121 mov sp,bp pop bp ret _inportb endp ; ?debug L 123 _outportb proc near push bp mov bp,sp ; ?debug L 124 mov dx , [bp+4] ; ?debug L 125 mov al , [bp+6] ; ?debug L 126 out dx , al @10: ; ?debug L 127 pop bp ret _outportb endp ; ?debug L 129 _updatekbdleds proc near ; ?debug L 131 mov al,237 push ax mov ax,96 push ax call near ptr _outportb pop cx pop cx That should fix the thread...