ich hab beim stöbern auf jeden Fall mal 1-2 Routinen gefunden die "ADLX","AHDR","IMAP" und "TRCK" suchen - vielleicht für gaaanz viel später wenn die schreckliche Langeweile hochkommt
hier eine der Funktion aus der HL.EXE die mit ADLX usw. rumspielt - ab Label loc_3FC60
die Routine scheint direkt in Assembler programmiert zu sein - enter/leave ist nicht so typisch für Kompiler, und dieses ständige re-initalisierung von es:bx mit les bx, dword ptr [bp+var_4.ofs] alle paar Zeilen sieht auch nicht aus wie der sonstige Code den der Kompiler generiert hat
ADLX_ADHRD_STUFF_sub_3FC2E proc far ; CODE XREF: sub_3F816+2Ap
; sub_4010D+35p
var_10 = far_ptr_t ptr -10h
var_C = far_ptr_t ptr -0Ch
var_8 = far_ptr_t ptr -8
var_4 = far_ptr_t ptr -4
arg_0 = word ptr 6
arg_2 = far_ptr_t ptr 8
arg_6 = word ptr 0Ch
enter 10h, 0
push si
push di
push ds
mov ax, seg seg142
mov ds, ax
assume ds:seg142
mov si, [bp+arg_0]
mov di, [bp+arg_6]
mov ax, seg seg123
mov es, ax
test es:word_40F44, 1
jnz short loc_3FC54
loc_3FC4E: ; CODE XREF: ADLX_ADHRD_STUFF_sub_3FC2E:loc_3FC5Ej
; ADLX_ADHRD_STUFF_sub_3FC2E:loc_3FC97j ...
mov ax, 0FFFFh
loc_3FC51: ; CODE XREF: ADLX_ADHRD_STUFF_sub_3FC2E+24Bj
jmp loc_3FE7C
; ---------------------------------------------------------------------------
loc_3FC54: ; CODE XREF: ADLX_ADHRD_STUFF_sub_3FC2E+1Ej
cmp si, 0Ch
jg short loc_3FC5E
cmp si, 8
jge short loc_3FC60
loc_3FC5E: ; CODE XREF: ADLX_ADHRD_STUFF_sub_3FC2E+29j
jmp short loc_3FC4E
; ---------------------------------------------------------------------------
loc_3FC60: ; CODE XREF: ADLX_ADHRD_STUFF_sub_3FC2E+2Ej
mov ax, [bp+arg_2.segm]
mov dx, [bp+arg_2.ofs]
mov [bp+var_4.segm], ax
mov [bp+var_4.ofs], dx
add [bp+arg_2.ofs], 8
les bx, dword ptr [bp+var_4.ofs]
assume es:nothing
cmp byte ptr es:[bx], 41h ; 'A'
jnz short loc_3FC97
les bx, dword ptr [bp+var_4.ofs]
cmp byte ptr es:[bx+1], 44h ; 'D'
jnz short loc_3FC97
les bx, dword ptr [bp+var_4.ofs]
cmp byte ptr es:[bx+2], 4Ch ; 'L'
jnz short loc_3FC97
les bx, dword ptr [bp+var_4.ofs]
cmp byte ptr es:[bx+3], 58h ; 'X'
jz short loc_3FC99
loc_3FC97: ; CODE XREF: ADLX_ADHRD_STUFF_sub_3FC2E+49j
; ADLX_ADHRD_STUFF_sub_3FC2E+53j ...
jmp short loc_3FC4E
; ---------------------------------------------------------------------------
loc_3FC99: ; CODE XREF: ADLX_ADHRD_STUFF_sub_3FC2E+67j
mov ax, [bp+arg_2.segm]
mov dx, [bp+arg_2.ofs]
mov [bp+var_8.segm], ax
mov [bp+var_8.ofs], dx
add [bp+arg_2.ofs], 8
les bx, dword ptr [bp+var_8.ofs]
cmp byte ptr es:[bx], 41h ; 'A'
jnz short loc_3FCD0
les bx, dword ptr [bp+var_8.ofs]
cmp byte ptr es:[bx+1], 48h ; 'H'
jnz short loc_3FCD0
les bx, dword ptr [bp+var_8.ofs]
cmp byte ptr es:[bx+2], 44h ; 'D'
jnz short loc_3FCD0
les bx, dword ptr [bp+var_8.ofs]
cmp byte ptr es:[bx+3], 52h ; 'R'
jz short loc_3FCD3
loc_3FCD0: ; CODE XREF: ADLX_ADHRD_STUFF_sub_3FC2E+82j
; ADLX_ADHRD_STUFF_sub_3FC2E+8Cj ...
jmp loc_3FC4E
; ---------------------------------------------------------------------------
loc_3FCD3: ; CODE XREF: ADLX_ADHRD_STUFF_sub_3FC2E+A0j
les bx, dword ptr [bp+var_8.ofs]
push word ptr es:[bx+6]
push word ptr es:[bx+4]
push cs
call near ptr sub_3FBF5
add sp, 4
add [bp+arg_2.ofs], ax
mov ax, [bp+arg_2.segm]
mov dx, [bp+arg_2.ofs]
mov [bp+var_C.segm], ax
mov [bp+var_C.ofs], dx
add [bp+arg_2.ofs], 8
les bx, dword ptr [bp+var_C.ofs]
cmp byte ptr es:[bx], 49h ; 'I'
jnz short loc_3FD1F
les bx, dword ptr [bp+var_C.ofs]
cmp byte ptr es:[bx+1], 4Dh ; 'M'
jnz short loc_3FD1F
les bx, dword ptr [bp+var_C.ofs]
cmp byte ptr es:[bx+2], 41h ; 'A'
jnz short loc_3FD1F
les bx, dword ptr [bp+var_C.ofs]
cmp byte ptr es:[bx+3], 50h ; 'P'
jz short loc_3FD22
loc_3FD1F: ; CODE XREF: ADLX_ADHRD_STUFF_sub_3FC2E+D1j
; ADLX_ADHRD_STUFF_sub_3FC2E+DBj ...
jmp loc_3FC4E
; ---------------------------------------------------------------------------
loc_3FD22: ; CODE XREF: ADLX_ADHRD_STUFF_sub_3FC2E+EFj
les bx, dword ptr [bp+var_C.ofs]
push word ptr es:[bx+6]
push word ptr es:[bx+4]
push cs
call near ptr sub_3FBF5
add sp, 4
add [bp+arg_2.ofs], ax
mov ax, [bp+arg_2.segm]
mov dx, [bp+arg_2.ofs]
mov [bp+var_10.segm], ax
mov [bp+var_10.ofs], dx
add [bp+arg_2.ofs], 8
les bx, dword ptr [bp+var_10.ofs]
cmp byte ptr es:[bx], 54h ; 'T'
jnz short loc_3FD6E
les bx, dword ptr [bp+var_10.ofs]
cmp byte ptr es:[bx+1], 52h ; 'R'
jnz short loc_3FD6E
les bx, dword ptr [bp+var_10.ofs]
cmp byte ptr es:[bx+2], 43h ; 'C'
jnz short loc_3FD6E
les bx, dword ptr [bp+var_10.ofs]
cmp byte ptr es:[bx+3], 4Bh ; 'K'
jz short loc_3FD71
loc_3FD6E: ; CODE XREF: ADLX_ADHRD_STUFF_sub_3FC2E+120j
; ADLX_ADHRD_STUFF_sub_3FC2E+12Aj ...
jmp loc_3FC4E
; ---------------------------------------------------------------------------
loc_3FD71: ; CODE XREF: ADLX_ADHRD_STUFF_sub_3FC2E+13Ej
cmp si, 0Ch
jz short loc_3FD93
les bx, dword ptr [bp+var_8.ofs]
mov al, es:[bx+0Ah]
mov ah, 0
mov dx, seg seg123
mov bx, 9
mov es, dx
assume es:seg123
sub bx, es:word_40F46
cmp ax, bx
jbe short loc_3FD93
jmp loc_3FC4E
; ---------------------------------------------------------------------------
loc_3FD93: ; CODE XREF: ADLX_ADHRD_STUFF_sub_3FC2E+146j
; ADLX_ADHRD_STUFF_sub_3FC2E+160j
cmp si, 0Ch
jnz short loc_3FDBF
mov ax, [bp+var_C.segm]
mov dx, [bp+var_C.ofs]
add dx, 8
mov bx, seg seg123
mov es, bx
mov es:word_40F42, ax
mov es:word_40F40, dx
les bx, dword ptr [bp+var_8.ofs]
assume es:nothing
mov ax, es:[bx+0Eh]
mov dx, seg seg123
mov es, dx
assume es:seg123
mov es:word_40F12, ax
loc_3FDBF: ; CODE XREF: ADLX_ADHRD_STUFF_sub_3FC2E+168j
mov bx, si
imul bx, 2Ah
mov ax, seg seg123
mov es, ax
mov word ptr es:[bx+34h], 100h
les bx, dword ptr [bp+var_4.ofs]
assume es:nothing
push word ptr es:[bx+6]
push word ptr es:[bx+4]
push cs
call near ptr sub_3FBF5
add sp, 4
add ax, 0FFDEh
mov bx, si
imul bx, 2Ah
mov dx, seg seg123
mov es, dx
assume es:seg123
mov es:[bx+18h], ax
les bx, dword ptr [bp+var_8.ofs]
assume es:nothing
mov al, es:[bx+0Ah]
mov ah, 0
mov bx, si
imul bx, 2Ah
mov dx, seg seg123
mov es, dx
assume es:seg123
mov es:[bx+30h], ax
mov bx, si
imul bx, 2Ah
mov ax, seg seg123
mov dx, [bp+arg_2.segm]
mov cx, [bp+arg_2.ofs]
mov es, ax
mov es:[bx+20h], dx
mov es:[bx+1Eh], cx
mov bx, si
imul bx, 2Ah
mov ax, seg seg123
mov dx, [bp+arg_2.segm]
mov cx, [bp+arg_2.ofs]
mov es, ax
mov es:[bx+16h], dx
mov es:[bx+14h], cx
mov bx, si
imul bx, 2Ah
mov ax, seg seg123
mov es, ax
mov word ptr es:[bx+36h], 4
or di, di
jnz short loc_3FE67
mov bx, si
imul bx, 2Ah
mov ax, seg seg123
mov es, ax
or word ptr es:[bx+36h], 2
jmp short loc_3FE76
; ---------------------------------------------------------------------------
loc_3FE67: ; CODE XREF: ADLX_ADHRD_STUFF_sub_3FC2E+225j
mov bx, si
imul bx, 2Ah
mov ax, seg seg123
mov es, ax
mov es:[bx+12h], di
loc_3FE76: ; CODE XREF: ADLX_ADHRD_STUFF_sub_3FC2E+237j
mov ax, 1
jmp loc_3FC51
; ---------------------------------------------------------------------------
loc_3FE7C: ; CODE XREF: ADLX_ADHRD_STUFF_sub_3FC2E:loc_3FC51j
pop ds
assume ds:dseg
pop di
pop si
leave
retf
ADLX_ADHRD_STUFF_sub_3FC2E endp
Alles anzeigen