Приветствие!!!
сразу звинтиляюсь за первый постинг дествительно такой записи не может быть :oops: ... Тем не мение по "запредельных" непонятных адресах (для меня) несколько вопросов... вплоть до записи в регистры.
Итак
000AC07: BA0350 mov dx,05003
;без коментареев
000AC0A: EE out dx,al
000AC0B: E6EB out 0EB,al
000AC0D: B204 mov dl,004 ;""
000AC0F: 8AC3 mov al,bl
000AC11: 0C01 or al,001 ;""
000AC13: EE out dx,al
000AC14: E6EB out 0EB,al
000C343: 90 nop
000C344: 52 push dx
000C345: BA0040 mov dx,04000
;снизу аналогичная процедура
000C348: 8AD1 mov dl,cl
:вобще, ИМХО, у Аварда процедуры встречаются
;в двух экземплярах часто
000C34A: EE out dx,al
000C34B: E6EB out 0EB,al
000C34D: 5A pop dx
000C34E: C3 retn
00015BD8: 52 push dx
00015BD9: BA0040 mov dx,04000
;порт супер непонятный... что это???
00015BDC: 8AD1 mov dl,cl
;здесь все равно адрес I/O порта 40ххh
00015BDE: EE out dx,al
00015BDF: E6EB out 0EB,al
00015BE1: 5A pop dx
00015BE2: C3 retn
0001BAF3: 9C pushf
0001BAF4: 6660 pushad
0001BAF6: FA cli
0001BAF7: BA3540 mov dx,04035
;здесь чтение но все равно не ясно что читаем...
0001BAFA: EC in al,dx
0001BAFB: 0C40 or al,040 ;"@"
0001BAFD: EE out dx,al
0001BAFE: E6EB out 0EB,al
0001BB00: E6EB out 0EB,al
0001BB02: 0F01E0 smsw ax
0001BB05: 50 push ax
0001BB06: A801 test al,001 ;""
0001BB08: 7528 jne 00001BB32 -------- (3)
0001BB0A: E8D6FF call 00001BAE3 -------- (4)
0001BB0D: 1E push ds
0001BB0E: E8C328 call 00001E3D4 -------- (5)
0001BB11: 1F pop ds
005AAE: 66B800600080 mov eax,080006000
;ИМХО здесь максимально 0FFh
005AB4: BAF80C mov dx,00CF8 ;"°"
005AB7: 66EF out dx,eax
005AB9: 80C204 add dl,004 ;""
005ABC: ED in ax,dx
005ABD: 40 inc ax
005ABE: 0BC0 or ax,ax
005AC0: 7525 jne 000005AE7 -------- (2)
00015B12: 66B854000080 mov eax,080000054
;054h-"reserved"
00015B18: BAF80C mov dx,00CF8 ;"°"
00015B1B: 66EF out dx,eax
00015B1D: E6EB out 0EB,al
00015B1F: E6EB out 0EB,al
00015B21: B2FF mov dl,0FF ;"_"
00015B23: EC in al,dx
а теперь по поводу такой темы короче решил "порубать" алгоритм разпакования модулей т.е. алгоритм lha... прозьба хоть какие нить орентиры где начинается код есть сегмент не запакованый " = Award Decompression Bios = " все пути ведут сюда:
;загвоздка в том что я не знаю значения регисторов....
;причем не только здесь а и во многих местах кода
00037789: 6650 push eax
0003778B: 53 push bx
0003778C: 06 push es
0003778D: 8EDA mov ds,dx
0003778F: 1E push ds
00037790: 07 pop es
00037791: 33FF xor di,di
00037793: B90040 mov cx,04000 ;"@ "
00037796: 33C0 xor ax,ax
00037798: F3AB repe stosw
0003779A: 07 pop es
0003779B: 06 push es
0003779C: 8C060001 mov [00100],es
000377A0: 891E0201 mov [00102],bx
000377A4: 6633C9 xor ecx,ecx
000377A7: 66890EA857 mov [057A8],ecx
000377AC: 66890EAC57 mov [057AC],ecx
000377B1: 8D0EA857 lea cx,[057A8]
000377B5: 66C1C904 ror ecx,004 ;""
000377B9: 8CD8 mov ax,ds
по F6 далее не находит... я думаю вызов через стек:
push XXXXh
retn;или прямо через SS:SP
п.с. извеннеие за убитое место на серваке... хотя если кто нить ответит
для меня ответ будет очень полезен[/]
Приветствие!!!
сразу звинтиляюсь за первый постинг дествительно такой записи не может быть :oops: ... Тем не мение по "запредельных" непонятных адресах (для меня) несколько вопросов... вплоть до записи в регистры.
Итак
по F6 далее не находит... я думаю вызов через стек:
п.с. извеннеие за убитое место на серваке... хотя если кто нить ответит
для меня ответ будет очень полезен[/]