"Опыт дизассемблирования большой .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