; datsrch.¹ºº D¹º¹¹¹ F¹¹¹ D¹º¹ S¹¹º¹¹ ººº.910623 ; Cºººº¹¹¹º (¹) 1991 N¹¹º Sººº¹¹º Sº¹ºº¹º¹ C¹¹¹¹ºº, A¹¹¹ºº¹ ; Aºº¹¹¹¹º ¹ºº L¹¹º¹ºº Pºº¹¹¹ºº¹ ; ------------------------------------------------------------- ; º¹ºº ¹¹ººº¹¹ /¹º ¹ºº¹¹¹¹¹ ; º¹¹¹ /¹ ºº¹ººº2 -+¹¹ººº¹¹ ¹¹¹ public _datsrch MAXLEN equ 0FA00h ; º¹º¹¹º¹ ¹¹¹¹ ¹/º ¹¹º¹º¹ funcnum equ word ptr [bp + 00Ah] ; ¹¹ººº¹º º¹º¹¹¹º¹ºº dat_len equ word ptr [bp + 00Ch] buf_seg equ word ptr [bp + 00Eh] buf_off equ word ptr [bp + 010h] key_off equ word ptr [bp + 012h] fil_off equ word ptr [bp + 014h] dat_seg equ word ptr [bp + 016h] ; ¹¹ººº¹º() D¹º¹¹¹ º¹¹¹ S¹¹º¹¹ ; D¹ººº¹º º¹¹º¹¹¹º ¹¹º¹¹¹ ¹º¹¹¹º ¹ºº¹º ¹ºº ºº¹¹¹¹¹¹ º¹ºº; ; ººº¹º¹¹º¹ ¹º¹ ¹ºº¹º¹¹º¹ º¹ºº¹º¹ºº¹º¹ººº ¹º¹ º¹¹º¹¹¹¹. ; I¹ ¹ººº¹, º¹¹ º¹¹ºº¹ ºº¹¹¹º ¹º º¹ºººº¹¹ ºº ¹¹¹¹¹¹. ; D¹ººº¹º ¹º ¹ºº ºº¹ º¹º¹ Bºº¹¹º¹'º Tºº¹º C º¹ºº¹ºº 2.0. ; D¹ººº¹º ººº¹º º¹º¹ ¹¹¹¹º º¹º¹ ºº ºº 65,534 º¹¹ºº¹º; ; º¹ºººº 65,535 (0FFFF¹) ¹º º¹º¹ºº¹¹ ¹ºº ¹ºººº. ; Vº¹ººººº¹ U¹ºº º¹ T¹¹º¹ C ; ------------------------------------------------------------- ; UINT _DS ¹º ºº¹º ¹ºººº¹¹ ; ººº¹ * º¹ºº¹_ºººº ºººº ¹ººº ¹¹¹º¹º ¹¹¹ ; UINT ººº_¹ºº ¹ºº¹º¹ ¹º º¹ºº¹_ºººº ; ººº¹ * ¹ºº¹ºº_ºº¹ ¹ºº¹ºº ºº¹ ¹¹¹º¹º ¹¹¹ ; UINT ºº¹_¹ºº ¹ºº¹º¹ ¹º ¹ºº¹ºº_ºº¹ ; ¹¹ºº ºº¹ * º¹ºº¹_º¹ºº ºººº º¹ººº¹ ; UINT º¹º_¹ºº ¹ºº¹º¹ ¹º º¹ºº¹_º¹ºº ; UINT º¹º_¹ºº ¹ºººº¹¹ ¹º º¹ºº¹_º¹ºº ; UINT ºº¹_ºº¹ ¹ººº ¹ºº¹¹º ºº¹º¹º ; UINT º¹¹º¹¹º º¹¹º¹º¹¹ ¹¹ººº¹ 0-3: ; 0 = ¹¹º¹ ºººº ; 1 = ¹ººº/¹ººº * ; 2 = ºº¹º ¹º¹¹ ; 3 = ºº¹¹º ºººº ; UINT º¹ºº¹¹ ºº¹º ¹ºº¹¹ ¹º¹¹¹¹ºº: ; 0000 = º¹0: ¹¹º¹ ¹º ; FFFF = º¹0: ¹¹º¹ º¹¹¹¹ ; FFFF = º¹2: º¹º ; * º¹ 1 ¹ººº/¹ººº º¹ ¹º¹º¹¹ººº º¹¹¹ºº¹ººººº¹ ; º¹ º¹ 0 º¹º ¹º¹º¹ºººººº¹ º¹ º¹ 2; ; º¹ º¹ ¹º¹º¹ ºººººº ºº¹ºº¹º¹. ; Sºº¹ºº Cººº º¹¹º T¹¹º¹ C ; ------------------------------------------------------------- ; ººº¹ *º¹ºº¹_ºººº = "º:\\¹ºº¹ºº\\¹ºº¹ºº.ºº¹"; ; UINT ººº_¹ºº = (UINT)º¹ºº¹_ºººº; ; ¹¹ºº ºº¹ *º¹ºº¹_º¹ºº = ºº¹ºººº¹º(0¹FA10); ; UINT º¹º_¹ºº = FP_SEG(º¹ºº¹_º¹ºº); ; UINT º¹º_¹ºº = FP_OFF(º¹ºº¹_º¹ºº); ; UINT ºº¹_ºº¹ = FILSIZ; ; UINT º¹¹º¹¹º = 0¹; ; UINT º¹ºº¹¹ = 0¹; ; UINT ºº¹¹ºº = 0¹; ; ... ; º¹¹º¹¹º = 0¹; /* ¹¹º¹ ºººº */ ; º¹ºº¹¹ = ºº¹¹¹ºº(º¹¹º¹¹º, ºº¹_ºº¹, º¹º_¹ºº, º¹º_¹ºº, ºº¹_¹ºº, ; ººº_¹ºº, _DS); ; ... ; (ººº¹ *)¹ºº¹ºº_ºº¹ = "SAMPLE"; ; ºº¹_¹ºº = (UINT)¹ºº¹ºº_ºº¹; ; º¹ºº¹¹ = 0¹; ; º¹¹º¹¹º = 2¹; /* ºº¹º ¹º¹¹ */ ; º¹ºº¹¹ = ºº¹¹¹ºº(º¹¹º¹¹º, ºº¹_ºº¹, º¹º_¹ºº, º¹º_¹ºº, ºº¹_¹ºº, ; ººº_¹ºº, _DS); ; ... ; º¹¹º¹¹º = 3¹; /* ºº¹¹º ºººº */ ; º¹ºº¹¹ = ºº¹¹¹ºº(º¹¹º¹¹º, ºº¹_ºº¹, º¹º_¹ºº, º¹º_¹ºº, ºº¹_¹ºº, ; ººº_¹ºº, _DS); ; Pº¹ººº¹º¹ Aºº¹º¹¹º¹º Rººº¹º¹º ¹¹ ¹ºº S¹ººº (BP) ; ------------------------------------------------------------- ; +16º ¹ºº¹º ¹º TC ºº¹º ¹ºººº¹¹ ............................ _DS ; +14º ¹ºº¹º ¹º ºººº¹ººº ¹ºº¹º¹ ............................ ººº_¹ºº ; +12º ¹ºº¹º ¹º ¹ºº¹ºº ºº¹ ¹ºº¹º¹ .......................... ºº¹_¹ºº ; +10º ¹ºº¹º ¹º º¹ººº¹ ¹ºº¹º¹ .............................. º¹º_¹ºº ; +0Eº ¹ºº¹º ¹º º¹ººº¹ ¹ºººº¹¹ ............................. º¹º_¹ºº ; +0Cº ¹ºº¹º ¹º ¹ººº ¹ºº¹¹º ºº¹º¹º ......................... ºº¹_ºº¹ ; +0Aº ¹ºº¹º ¹º ºº¹¹¹ºº º¹¹º¹º¹¹ (0-3) ..................... º¹¹º¹¹º ; +08º T¹¹º¹ C ¹º¹¹¹¹ ººº¹º¹¹ - ; +06º ºº¹¹¹ºº ¹º¹ºº º¹ - ; +04º ºº¹¹¹ºº ¹º¹ºº º¹ - ; +02º ºº¹¹¹ºº ¹º¹ºº ¹º - ; BP+00º ºº¹¹¹ºº ¹º¹ºº ºº - _TEXT segment byte public 'CODE' assume cs:_TEXT _datsrch proc near push bp ; ¹º¹º TC ¹ººº¹¹º¹¹ push ds push si push di mov bp, sp ; ºººº º¹ ¹¹º¹¹ ¹¹ ¹ºº ¹¹ººº cld ; ºººº¹ ¹ºº ºº¹ºº¹º¹¹ ºººº > ; Dº¹º¹ºº¹º ¹º¹¹º¹¹ºº º¹¹º¹º¹¹ ; º¹º º¹ ¹¹ º¹ mov ax, funcnum ; º¹¹º¹º¹¹ ¹¹ººº¹ º¹¹¹ º¹ cmp al, 000h ; 0 ¹¹º¹ ºººº je Fn00 cmp al, 002h ; 2 ¹¹º¹ º¹ºº jne Jmp00 ; ¹ººº¹ºº¹ jmp Fn02 Jmp00: cmp al, 003h ; 3 ¹¹ºº¹ ¹¹¹¹ jnz Jmp01 ; ¹ººº¹ºº¹ jmp Fn03 Jmp01: jmp Err2 ; ¹ºº¹¹¹¹ ¹ºº¹º¹ºº ºº¹¹¹º ; Oº¹º º¹¹ ¹¹¹¹ ¹ºº ; º¹¹¹ ºº¹º ¹¹¹¹ºº Fn00: mov dx, fil_off ; ¹¹¹¹º¹¹¹ º¹¹º¹º ¹ººº ¹º mov ax, dat_seg ; ¹¹¹¹º¹¹¹ º¹¹¹¹ºº ¹ººº ¹º mov ds, ax ; ¹º¹ ¹ººº ¹º ; ¹º:¹º ºº¹ººº ºº ¹º¹¹¹º ¹¹¹¹º¹¹¹ mov al, 000h ; ¹¹¹¹ ¹¹¹¹ºº ¹º º¹¹¹ ºº¹º mov ah, 03Dh ; ºº¹º º¹¹ ¹º¹¹º ¹¹º¹ ¹¹¹¹ int 021h ; º¹¹ ¹ºº ¹ºº 21 ¹º 3D jnc Jmp02 ; ¹ººº¹ºº¹ jmp Err2 ; ¹º¹º ¹¹ ºº¹º ¹ºººº Jmp02: mov word ptr cs:FHAN, ax ; º¹º¹ ¹¹¹¹ ¹¹º¹¹¹ ; Cº¹ººº¹ º¹¹ ¹¹¹¹'º ; ¹¹º¹¹º¹ ¹/º ¹¹º¹º¹ xor dx, dx ; ¹º = º¹ºº mov ax, MAXLEN ; ¹¹º¹¹º¹ ¹/º ¹¹º¹º¹ ¹º 64000 ¹ºº¹º mov bx, dat_len ; º¹¹¹ º¹¹ºº¹ ¹¹º¹º¹ ¹ººº ¹º div bx ; ¹º = ºººº¹¹ºº ¹ºº¹ ¹¹º¹ººº ; ¹º = º¹¹¹¹º¹¹º ¹ºº¹ ¹¹º¹º¹ºº xor dx, dx ; ¹º = º¹ºº mov word ptr cs:RCNT, dx ; ¹º¹º ¹¹¹¹ ¹/º ¹ºººº mul bx ; ¹º = ¹¹º¹¹º¹ ¹/º ¹¹º¹º¹ mov word ptr cs:MXIO, ax ; º¹º¹ ¹¹º¹¹º¹ ¹/º ¹¹º¹º¹ ; Pºº¹º¹ºº º¹¹ ¹¹¹¹ ºº¹ºº¹º ; ºº º¹¹ ºº¹ºº º¹ º¹¹ ; ¹ººº¹ºº º¹¹ºº¹ Fn01: mov ax, word ptr cs:[RCNT] ; ¹¹¹¹ ¹/º ¹ºººº ¹ººº ¹º mov cx, word ptr cs:[MXIO] ; ¹¹º¹¹º¹ ¹/º ¹¹º¹º¹ ¹ººº ¹º mul cx ; ¹º = ¹ºº ¹/º ¹ºººº º ¹/º ¹¹º¹º¹ ; ¹º = ¹ºº ¹/º ¹ºººº º ¹/º ¹¹º¹º¹ mov bx, word ptr cs:[FHAN] ; ¹¹¹¹ ¹¹º¹¹¹ ¹ººº ¹º xchg cx, dx ; ¹º = ¹ºº º¹ ¹¹¹¹ ºº¹ºº¹º xchg dx, ax ; ¹º = ¹ºº º¹ ¹¹¹¹ ºº¹ºº¹º mov al, 000h ; ¹¹ºº¹ºº¹ º¹¹º¹º ¹ºº¹ ¹º¹ mov ah, 042h ; º¹¹¹ ¹¹¹¹ ºº¹ºº¹º int 021h ; º¹¹ ¹ºº ¹ºº 21 ¹º 42 jnc Jmp03 ; ¹ººº¹ºº¹ jmp Err1 ; ¹¹ºº¹ ¹º¹ ¹º¹º ¹¹ º¹¹¹ ¹ºººº ; R¹¹¹ ¹ º¹¹ºº¹ ¹ºº¹ º¹¹ ¹¹¹¹ ; ¹ººº º¹¹ ¹º¹¹¹º Jmp03: mov bx, word ptr cs:[FHAN] ; ¹¹¹¹ ¹¹º¹¹¹ ¹ººº ¹º mov cx, word ptr cs:[MXIO] ; ¹¹º¹¹º¹ ¹/º ¹¹º¹º¹ ¹ººº ¹º mov dx, buf_off ; ¹º¹¹¹º º¹¹¹¹ºº ¹ººº ¹º mov ax, buf_seg ; ¹º¹¹¹º º¹¹º¹º ¹ººº ¹º mov ds, ax ; ¹º¹ ¹ººº ¹º ; ¹º:¹º ºº¹ººº ºº ¹º¹¹¹º mov ah, 03Fh ; º¹¹¹ º¹¹ ¹¹¹¹ int 021h ; º¹¹ ¹ºº ¹ºº 21 ¹º 3F jnc Jmp04 ; ¹ººº¹ºº¹ jmp Err1 ; ¹¹ºº¹ ¹º¹ ¹º¹º ¹¹ º¹¹¹ ¹ºººº Jmp04: cmp ax, 00000h ; º¹ºº ¹ºº º¹ºº ¹ºº¹º º¹¹¹ jnz Jmp05 ; ¹ººº¹ºº¹ jmp Err1 ; ¹¹ºº¹ ¹º¹º ¹¹ º¹ºº ¹ºº¹º º¹¹¹ Jmp05: mov word ptr cs:BREM, ax ; º¹º¹ ºº¹¹¹º º¹ ¹ºº¹º º¹¹¹¹º¹º¹ mov ax, buf_off ; ¹º¹¹¹º º¹¹º¹º ¹ººº ¹º mov word ptr cs:BOFF, ax ; º¹º¹ ¹º¹¹¹º º¹¹º¹º mov ax, funcnum ; ¹ºº¹º¹ºº ºº¹¹¹º ¹ººº ¹º cmp al, 000h ; ¹¹ ººº ¹ºº¹º¹ºº 0 ºº¹º ¹¹¹¹ ja Fn02 ; º¹¹º ¹ººº¹ºº¹ xor ax, ax ; º¹ºº ¹º ¹ºº º¹ºººº ºº TC jmp Exit ; ¹º¹º ºº ¹º¹º ; S¹¹º¹¹ ¹º¹º¹¹¹¹º¹º¹ºº Fn02: mov di, word ptr cs:[BOFF] ; ¹º¹¹¹º º¹¹º¹º ¹ººº ¹¹ mov ax, buf_seg ; ¹º¹¹¹º º¹¹¹¹ºº ¹ººº ¹º mov es, ax ; ¹º¹ ¹ººº ¹º ; ¹º:¹¹ ºº¹ººº ºº ¹º¹¹¹º mov ax, dat_seg ; º¹ºº º¹¹¹¹ºº ¹ººº ¹º mov ds, ax ; ¹º¹ ¹ººº ¹º ; ¹º:º¹ ºº¹ººº ºº º¹ºº mov cx, word ptr cs:[BREM] ; ºº¹¹¹º º¹ ¹ºº¹º º¹¹¹¹º¹º¹ ¹ººº ¹º ; Dº º¹¹ º¹¹º¹¹ ¹ºº ººº¹º¹¹º¹ ; ¹º¹ ¹ºº¹º¹¹º¹ ¹¹º¹ ¹¹º¹¹ Fn02a: mov si, key_off ; º¹ºº º¹¹º¹º ¹ººº º¹ Fn02b: mov al, byte ptr ds:[si] ; º¹ºº ¹ºº¹ ¹ººº ¹¹ cmp al, 000h ; ¹º¹º¹º¹ ¹¹ = º¹ºº (¹º¹ º¹ º¹ºº) jz Fn02e ; ¹º¹ ¹º¹º ¹¹ º¹ºº cmp al, byte ptr es:[di] ; ¹º¹º¹º¹ ºº ¹º¹¹¹º ¹ºº¹ je Fn02c ; ¹º¹ ¹ººº¹ºº¹ ¹¹ ¹ºº¹¹ or al, ' ' ; ¹ººº¹ºº º¹ºº ¹ºº¹ ºº ¹ºº¹º¹¹º¹ cmp al, byte ptr es:[di] ; ¹º¹º¹º¹ ºº ¹º¹¹¹º ¹ºº¹ je Fn02c ; ¹º¹ ¹ººº¹ºº¹ ¹¹ ¹ºº¹¹ inc di ; º¹ºº ¹º¹¹¹º ¹ºº¹ dec cx ; ¹¹¹º¹¹º¹ ¹ºº¹º º¹¹¹¹º¹º¹ jz Fn02d ; ¹º¹ ¹º¹º ¹¹ º¹ºº jmp short Fn02a ; ¹ººº¹ºº¹ Fn02c: inc si ; º¹ºº º¹ºº ¹ºº¹ inc di ; º¹ºº ¹º¹¹¹º ¹ºº¹ dec cx ; ¹¹¹º¹¹º¹ ¹ºº¹º º¹¹¹¹º¹º¹ jnz Fn02b ; ¹º¹ ¹ººº¹ºº¹ ¹¹ ººº º¹ºº ; T¹ºº ¹º ººº ¹ººº¹ ¹º º¹¹º¹¹; ; ººº º¹ºº º¹¹ºº¹ Fn02d: mov ax, word ptr cs:[RCNT] ; ¹¹¹¹ ¹/º ¹ºººº ¹ººº ¹º inc ax ; º¹ºº ºº¹ mov word ptr cs:RCNT, ax ; º¹º¹ ¹¹¹¹ ¹/º ¹ºººº jmp Fn01 ; ¹º¹º ºº Fº01 (º¹ºº º¹¹ºº¹) ; T¹ºº ¹º ¹ººº¹ ¹º º¹¹º¹¹; ; º¹ºººº º¹¹ º¹¹ºº Fn02e: mov ax, di ; ¹º¹¹¹º º¹¹º¹º ¹ººº ¹º sub ax, buf_off ; ¹º¹¹¹º º¹¹º¹º ¹ººº¹¹º¹ºº mov bx, dat_len ; º¹¹¹ º¹¹ºº¹ ¹¹º¹º¹ ¹ººº ¹º xor dx, dx ; ¹º = º¹ºº (¹ºº ¹¹º) div bx ; ¹º¹ººº¹ ¹ º¹º ¹º¹¹¹º º¹¹º¹º inc ax ; ºº ºº¹ºº ¹º º¹¹ ¹º¹ mul bx ; º¹ º¹¹ ¹ººº¹ºº º¹¹ºº¹ dec ax ; ¹ºº º¹¹ º¹ºº º¹¹º¹¹ add ax, buf_off ; ¹º¹¹¹º º¹¹º¹º ¹ººº¹¹º¹ºº mov word ptr cs:BOFF, ax ; º¹º¹ º¹¹ º¹º ¹º¹¹¹º º¹¹º¹º sub ax, di ; ¹º¹ ¹¹¹ººº º¹¹ ºº¹¹¹º º¹ sub cx, ax ; ¹ºº¹º º¹¹¹¹º¹º¹ mov word ptr cs:BREM, cx ; º¹º¹ ºº¹¹¹º º¹ ¹ºº¹º º¹¹¹¹º¹º¹ mov ax, word ptr cs:[RCNT] ; ¹º = ¹¹¹¹ ¹/º ¹ºººº mov bx, word ptr cs:[MXIO] ; ¹º = ¹¹¹¹ ¹¹º¹¹º¹ ¹/º ¹¹º¹º¹ mul bx ; ¹º = ¹ºº ¹¹º¹¹¹ ¹¹¹¹ º¹¹º¹º ; ¹º = ¹ºº ¹¹º¹¹¹ ¹¹¹¹ º¹¹º¹º add ax, di ; ¹º = ¹º¹¹¹º º¹¹º¹º jnc Jmp06 ; ¹º¹º ¹¹ ºº ¹¹ººº (¹º ºº¹º¹¹ºº) inc dx ; ¹¹¹ ¹¹ººº ¹ººº ¹º Jmp06: sub ax, buf_off ; ¹º¹¹¹º º¹¹º¹º ¹ººº¹¹º¹ºº mov bx, dat_len ; º¹¹¹ º¹¹ºº¹ ¹¹º¹º¹ ¹ººº ¹º div bx ; ¹º = ºººº¹¹ºº ¹ºº¹ ¹¹º¹ººº inc ax ; ¹º = º¹¹ºº ¹ºº º¹ºººº ºº TC jmp short Exit ; ¹º¹º ºº Eº¹º ; C¹ºº¹ º¹¹ ¹¹¹¹ ¹º¹ ; º¹ºººº ºº TC Fn03: mov bx, word ptr cs:[FHAN] ; ¹¹¹¹ ¹¹º¹¹¹ ¹ººº ¹º mov ah, 03Eh ; ¹¹ºº¹ º¹¹ ¹¹¹¹ int 021h ; º¹¹ ¹ºº ¹ºº 21 ¹º 3E xor ax, ax ; º¹ºº ¹º ¹ºº º¹ºººº ºº TC jmp short Exit ; ¹º¹º ºº ¹º¹º ; S¹¹¹/º¹¹¹ ¹ºººº ºº ; º¹ºº ¹ºº¹º º¹¹¹ (¹º¹); ; ¹¹ºº¹ º¹¹ ¹¹¹¹ Err1: mov bx, word ptr cs:[FHAN] ; ¹¹¹¹ ¹¹º¹¹¹ ¹ººº ¹º mov ah, 03Eh ; ¹¹ºº¹ º¹¹ ¹¹¹¹ int 021h ; º¹¹ ¹ºº ¹ºº 21 ¹º 3E ; Oº¹º ¹ºººº; º¹ºººº ¹ºººº ; ¹º¹¹ 0ºFFFF ºº TC Err2: mov ax, 0FFFFh ; FFFF = ¹º0: ºº¹º ¹ºººº ; ¹º2: ¹º¹ º¹¹¹¹¹¹ ; R¹ºººº ºº TC Exit: pop di ; º¹ºººº¹ TC º¹¹¹ºº¹ºº pop si pop ds pop bp ret ; º¹¹º º¹ºººº ºº TC _datsrch endp ; Iºº¹ºº¹¹ ºººº¹¹¹ FHAN dw 00000h ; ¹¹¹¹ ¹¹º¹¹¹ BOFF dw 00000h ; ¹º¹¹¹º º¹¹º¹º BREM dw 00000h ; ºº¹¹¹º º¹ ¹ºº¹º º¹¹¹¹º¹º¹ RCNT dw 00000h ; ¹¹¹¹ ¹/º ¹ºººº MXIO dw 00000h ; ¹¹¹¹ ¹¹º¹¹º¹ ¹/º ¹¹º¹º¹ _TEXT ends end  
 
 
 
 
mov   al, ds:[si]
mov   ds, ax
mov   dx, fil_off
mov   ax, cs:[RCNT]
mov   al, 000h
mov   cs:BREM, ax
mov   al, ds:[si]
mov   ax, dat_seg
mov   bx, cs:[FHAN]
mov   ax, funcnum
mov   cs:RCNT, dx
mov   al, 000h
mov   ah, 03Eh
mov   ah, 03Dh
mov   ax, dat_seg
mov   ah, 03Dh
mov   ax, dat_seg
mov   si, key_off
mov   cx, cs:[BREM]
mov   bx, dat_len
mov   bx, cs:[MXIO]
mov   ax, buf_seg
mov   ds, ax
mov   ah, 03Fh
 
 
 
 
 
w a r n e l l . c o m /
/ iAPX86 d a t s r c h . ¹ º º  © 1991-2004  t . w a r n e l l
 
               
_TEXT segment byte public 'CODE' _TEXT segment byte public 'CODE' _TEXT segment byte public 'CODE' _TEXT segment byte public 'CODE'