"Опыт дизассемблирования большой .com - программы" - читать интересную книгу автора (Крупник А.Б.);<0074e>
s22 proc near d0076a equ 00076ah d00771 equ 000771h call s24 ;<00791> ;0074e ............... b0076a: push cx ;0076a call s25 ;<0086b> ;0076b call s23 ;<00776> ;0076e pop cx ;00771 dec bx ;00772 Поиск элемента данных d0076a окончился неудачей. А d00771 встретился в таком фрагменте: ..................................... mov BYTE PTR ds:b0076a,51h ;0080b mov BYTE PTR ds:d00771,59h ;00810 ...................................... Здесь явно идет модификация кода подпрограммы s22. Значит, необходимо заменить d00771 на b00771, пометить этой меткой соответствующую инструкцию в s22 и уда- лить присвоения d0076a equ 00076ah d00771 equ 000771h Исправленный фрагмент s22 будет выглядеть так: ;<0074e> s22 proc near call s24 ;<00791> ;0074e ...................................................... b0076a: push cx ;0076a call s25 ;<0086b> ;0076b call s23 ;<00776> ;0076e b00771: pop cx ;00771 dec bx ;00772 .............................................. mov BYTE PTR ds:b0076a,51h ;0080b mov BYTE PTR ds:b00771,59h ;00810 ................................................ Рассмотрим еще один пример. В начале s32 встретились уже знакомые псевдо- операторы: ;<00bf7> s32 proc near d00c1c equ 000c1ch d00c1e equ 000c1eh |
|
|