2025-11-08 20:42:59 +03:00
|
|
|
|
; длин_тест9.квс
|
|
|
|
|
|
; Тест: запутанные переходы, крякмис (для длинных переходов)
|
|
|
|
|
|
|
|
|
|
|
|
.текст
|
|
|
|
|
|
.глобал _start
|
|
|
|
|
|
|
|
|
|
|
|
_start:
|
|
|
|
|
|
; Инициализация регистров
|
|
|
|
|
|
переместить_имм раикс, 10 ; rax = 10
|
|
|
|
|
|
переместить_имм рбикс, 5 ; rbx = 5
|
|
|
|
|
|
переместить_имм рсикс, 10 ; rcx = 10 (для проверки ZF в jz)
|
|
|
|
|
|
|
|
|
|
|
|
; ПЕРВЫЙ ПЕРЕХОД: переход_если_не_ноль
|
|
|
|
|
|
; ZF=0 (так как rax=10), значит jnz сработает
|
|
|
|
|
|
; Прыгаем к метке 'проверка_2', пропуская мертвый_код_1
|
|
|
|
|
|
переход_если_не_ноль проверка_2
|
|
|
|
|
|
|
|
|
|
|
|
; --- МЕРТВЫЙ КОД 1 ---
|
|
|
|
|
|
; Этот код НЕ должен выполниться
|
|
|
|
|
|
; Добавляем "мусор", чтобы точно выйти за пределы короткого перехода
|
|
|
|
|
|
переместить_имм раикс, 1
|
|
|
|
|
|
переместить_имм рдиай, 1
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_1
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_1
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 2
|
|
|
|
|
|
переместить_имм рдиай, 2
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_1
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_1
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 3
|
|
|
|
|
|
переместить_имм рдиай, 3
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_1
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_1
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 4
|
|
|
|
|
|
переместить_имм рдиай, 4
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_1
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_1
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 5
|
|
|
|
|
|
переместить_имм рдиай, 5
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_1
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_1
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 6
|
|
|
|
|
|
переместить_имм рдиай, 6
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_1
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_1
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 7
|
|
|
|
|
|
переместить_имм рдиай, 7
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_1
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_1
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 8
|
|
|
|
|
|
переместить_имм рдиай, 8
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_1
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_1
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 9
|
|
|
|
|
|
переместить_имм рдиай, 9
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_1
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_1
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 10
|
|
|
|
|
|
переместить_имм рдиай, 10
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_1
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_1
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 11
|
|
|
|
|
|
переместить_имм рдиай, 11
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_1
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_1
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 12
|
|
|
|
|
|
переместить_имм рдиай, 12
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_1
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_1
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 13
|
|
|
|
|
|
переместить_имм рдиай, 13
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_1
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_1
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 14
|
|
|
|
|
|
переместить_имм рдиай, 14
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_1
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_1
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 15
|
|
|
|
|
|
переместить_имм рдиай, 15
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_1
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_1
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
; ---------------------
|
|
|
|
|
|
|
|
|
|
|
|
проверка_2:
|
|
|
|
|
|
; ДОПОЛНИТЕЛЬНЫЙ ПЕРЕХОД 1: "Два шага вперед" - переход через мертвый_код_2 и мертвый_код_3
|
|
|
|
|
|
; Прыгаем к проверка_4, минуя мертвый_код_2 и мертвый_код_3
|
|
|
|
|
|
переход проверка_4
|
|
|
|
|
|
|
|
|
|
|
|
; --- МЕРТВЫЙ КОД 2 ---
|
|
|
|
|
|
; Этот код НЕ должен выполниться из-за прыжка выше
|
|
|
|
|
|
переместить_имм раикс, 1
|
|
|
|
|
|
переместить_имм рдиай, 1
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_2
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_2
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 2
|
|
|
|
|
|
переместить_имм рдиай, 2
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_2
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_2
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 3
|
|
|
|
|
|
переместить_имм рдиай, 3
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_2
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_2
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 4
|
|
|
|
|
|
переместить_имм рдиай, 4
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_2
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_2
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 5
|
|
|
|
|
|
переместить_имм рдиай, 5
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_2
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_2
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 6
|
|
|
|
|
|
переместить_имм рдиай, 6
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_2
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_2
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 7
|
|
|
|
|
|
переместить_имм рдиай, 7
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_2
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_2
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 8
|
|
|
|
|
|
переместить_имм рдиай, 8
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_2
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_2
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 9
|
|
|
|
|
|
переместить_имм рдиай, 9
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_2
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_2
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 10
|
|
|
|
|
|
переместить_имм рдиай, 10
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_2
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_2
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 11
|
|
|
|
|
|
переместить_имм рдиай, 11
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_2
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_2
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 12
|
|
|
|
|
|
переместить_имм рдиай, 12
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_2
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_2
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 13
|
|
|
|
|
|
переместить_имм рдиай, 13
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_2
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_2
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 14
|
|
|
|
|
|
переместить_имм рдиай, 14
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_2
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_2
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 15
|
|
|
|
|
|
переместить_имм рдиай, 15
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_2
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_2
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
; ---------------------
|
|
|
|
|
|
|
|
|
|
|
|
мертвый_код_3:
|
|
|
|
|
|
; ЖИВОЙ КОД 3: Этот код выполнится благодаря прыжку "назад"
|
|
|
|
|
|
; Выведем сообщение, чтобы убедиться, что он выполнился
|
|
|
|
|
|
переместить_имм раикс, 1
|
|
|
|
|
|
переместить_имм рдиай, 1
|
|
|
|
|
|
переместить_имм рсиай, msg_live_from_3
|
|
|
|
|
|
переместить_имм рдикс, len_msg_live_from_3
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
; ДОПОЛНИТЕЛЬНЫЙ ПЕРЕХОД 3: "Четыре вперед" - переход через мертвый_код_4, 5, 6, 7
|
|
|
|
|
|
; Цель слишком далеко для короткого перехода. Используем длинный.
|
|
|
|
|
|
; Прыгаем к проверка_8
|
|
|
|
|
|
переход проверка_8
|
|
|
|
|
|
; ---------------------
|
|
|
|
|
|
|
|
|
|
|
|
проверка_4:
|
|
|
|
|
|
; ЧЕТВЁРТЫЙ ПЕРЕХОД: переход_если_больше
|
|
|
|
|
|
; Сравниваем rax (10) и rbx (5) -> rax > rbx, ZF=0, SF=0, OF=0
|
|
|
|
|
|
сравнить раикс, рбикс
|
|
|
|
|
|
; Условие jg: ZF=0 (истина) И SF=OF (0=0, истина). jg СРАБОТАЕТ.
|
|
|
|
|
|
; Мы хотим прыгнуть МИМО мертвого кода 4, если jg сработает (т.е. если rax > rbx).
|
|
|
|
|
|
переход_если_больше мимо_мертвого_кода_4
|
|
|
|
|
|
; --- МЕРТВЫЙ КОД 4 ---
|
|
|
|
|
|
; Этот код НЕ должен выполниться (так как jg сработал)
|
|
|
|
|
|
переместить_имм раикс, 1
|
|
|
|
|
|
переместить_имм рдиай, 1
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_4
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_4
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 2
|
|
|
|
|
|
переместить_имм рдиай, 2
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_4
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_4
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 3
|
|
|
|
|
|
переместить_имм рдиай, 3
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_4
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_4
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 4
|
|
|
|
|
|
переместить_имм рдиай, 4
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_4
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_4
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 5
|
|
|
|
|
|
переместить_имм рдиай, 5
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_4
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_4
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 6
|
|
|
|
|
|
переместить_имм рдиай, 6
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_4
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_4
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 7
|
|
|
|
|
|
переместить_имм рдиай, 7
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_4
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_4
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 8
|
|
|
|
|
|
переместить_имм рдиай, 8
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_4
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_4
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 9
|
|
|
|
|
|
переместить_имм рдиай, 9
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_4
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_4
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 10
|
|
|
|
|
|
переместить_имм рдиай, 10
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_4
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_4
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 11
|
|
|
|
|
|
переместить_имм рдиай, 11
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_4
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_4
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 12
|
|
|
|
|
|
переместить_имм рдиай, 12
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_4
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_4
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 13
|
|
|
|
|
|
переместить_имм рдиай, 13
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_4
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_4
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 14
|
|
|
|
|
|
переместить_имм рдиай, 14
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_4
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_4
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 15
|
|
|
|
|
|
переместить_имм рдиай, 15
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_4
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_4
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
; ---------------------
|
|
|
|
|
|
мимо_мертвого_кода_4:
|
|
|
|
|
|
|
|
|
|
|
|
; ДОПОЛНИТЕЛЬНЫЙ ПЕРЕХОД 2: "Один назад" - переход к мертвому_коду_3 (делая его живым)
|
|
|
|
|
|
переход мертвый_код_3
|
|
|
|
|
|
|
|
|
|
|
|
; --- МЕРТВЫЙ КОД 5 ---
|
|
|
|
|
|
; Этот код НЕ должен выполниться
|
|
|
|
|
|
переместить_имм раикс, 1
|
|
|
|
|
|
переместить_имм рдиай, 1
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_5
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_5
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 2
|
|
|
|
|
|
переместить_имм рдиай, 2
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_5
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_5
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 3
|
|
|
|
|
|
переместить_имм рдиай, 3
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_5
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_5
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 4
|
|
|
|
|
|
переместить_имм рдиай, 4
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_5
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_5
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 5
|
|
|
|
|
|
переместить_имм рдиай, 5
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_5
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_5
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 6
|
|
|
|
|
|
переместить_имм рдиай, 6
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_5
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_5
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 7
|
|
|
|
|
|
переместить_имм рдиай, 7
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_5
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_5
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 8
|
|
|
|
|
|
переместить_имм рдиай, 8
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_5
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_5
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 9
|
|
|
|
|
|
переместить_имм рдиай, 9
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_5
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_5
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 10
|
|
|
|
|
|
переместить_имм рдиай, 10
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_5
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_5
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 11
|
|
|
|
|
|
переместить_имм рдиай, 11
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_5
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_5
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 12
|
|
|
|
|
|
переместить_имм рдиай, 12
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_5
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_5
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 13
|
|
|
|
|
|
переместить_имм рдиай, 13
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_5
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_5
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 14
|
|
|
|
|
|
переместить_имм рдиай, 14
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_5
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_5
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 15
|
|
|
|
|
|
переместить_имм рдиай, 15
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_5
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_5
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
; ---------------------
|
|
|
|
|
|
|
|
|
|
|
|
; --- МЕРТВЫЙ КОД 6 ---
|
|
|
|
|
|
; Этот код НЕ должен выполниться
|
|
|
|
|
|
переместить_имм раикс, 1
|
|
|
|
|
|
переместить_имм рдиай, 1
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_6
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_6
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 2
|
|
|
|
|
|
переместить_имм рдиай, 2
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_6
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_6
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 3
|
|
|
|
|
|
переместить_имм рдиай, 3
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_6
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_6
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 4
|
|
|
|
|
|
переместить_имм рдиай, 4
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_6
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_6
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 5
|
|
|
|
|
|
переместить_имм рдиай, 5
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_6
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_6
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 6
|
|
|
|
|
|
переместить_имм рдиай, 6
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_6
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_6
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 7
|
|
|
|
|
|
переместить_имм рдиай, 7
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_6
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_6
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 8
|
|
|
|
|
|
переместить_имм рдиай, 8
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_6
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_6
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 9
|
|
|
|
|
|
переместить_имм рдиай, 9
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_6
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_6
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 10
|
|
|
|
|
|
переместить_имм рдиай, 10
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_6
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_6
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 11
|
|
|
|
|
|
переместить_имм рдиай, 11
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_6
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_6
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 12
|
|
|
|
|
|
переместить_имм рдиай, 12
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_6
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_6
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 13
|
|
|
|
|
|
переместить_имм рдиай, 13
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_6
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_6
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 14
|
|
|
|
|
|
переместить_имм рдиай, 14
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_6
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_6
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 15
|
|
|
|
|
|
переместить_имм рдиай, 15
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_6
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_6
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
; ---------------------
|
|
|
|
|
|
|
|
|
|
|
|
; --- МЕРТВЫЙ КОД 7 ---
|
|
|
|
|
|
; Этот код НЕ должен выполниться
|
|
|
|
|
|
переместить_имм раикс, 1
|
|
|
|
|
|
переместить_имм рдиай, 1
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_7
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_7
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 2
|
|
|
|
|
|
переместить_имм рдиай, 2
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_7
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_7
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 3
|
|
|
|
|
|
переместить_имм рдиай, 3
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_7
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_7
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 4
|
|
|
|
|
|
переместить_имм рдиай, 4
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_7
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_7
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 5
|
|
|
|
|
|
переместить_имм рдиай, 5
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_7
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_7
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 6
|
|
|
|
|
|
переместить_имм рдиай, 6
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_7
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_7
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 7
|
|
|
|
|
|
переместить_имм рдиай, 7
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_7
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_7
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 8
|
|
|
|
|
|
переместить_имм рдиай, 8
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_7
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_7
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 9
|
|
|
|
|
|
переместить_имм рдиай, 9
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_7
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_7
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 10
|
|
|
|
|
|
переместить_имм рдиай, 10
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_7
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_7
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 11
|
|
|
|
|
|
переместить_имм рдиай, 11
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_7
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_7
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 12
|
|
|
|
|
|
переместить_имм рдиай, 12
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_7
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_7
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 13
|
|
|
|
|
|
переместить_имм рдиай, 13
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_7
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_7
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 14
|
|
|
|
|
|
переместить_имм рдиай, 14
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_7
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_7
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 15
|
|
|
|
|
|
переместить_имм рдиай, 15
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_7
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_7
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
; ---------------------
|
|
|
|
|
|
|
|
|
|
|
|
проверка_8:
|
|
|
|
|
|
; СЕДЬМОЙ ПЕРЕХОД: переход_если_перенос
|
|
|
|
|
|
; Выполним вычитание, которое вызовет перенос: rbx - rax = 5 - 10
|
|
|
|
|
|
переместить_имм рбикс, 5 ; rbx = 5
|
|
|
|
|
|
переместить_имм раикс, 10 ; rax = 10
|
|
|
|
|
|
; rbx - rax = 5 - 10 -> CF=1
|
|
|
|
|
|
вычесть рбикс, раикс ; rbx = rbx - rax = 5 - 10. Это вызовет перенос (CF=1).
|
|
|
|
|
|
; Условие jc: CF=1. CF=1. jc СРАБОТАЕТ.
|
|
|
|
|
|
; Мы хотим прыгнуть МИМО мертвого кода 8, если jc сработает (т.е. если был перенос).
|
|
|
|
|
|
переход_если_перенос мимо_мертвого_кода_8
|
|
|
|
|
|
; --- МЕРТВЫЙ КОД 8 ---
|
|
|
|
|
|
; Этот код НЕ должен выполниться (так как jc сработал)
|
|
|
|
|
|
переместить_имм раикс, 1
|
|
|
|
|
|
переместить_имм рдиай, 1
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_8
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_8
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 2
|
|
|
|
|
|
переместить_имм рдиай, 2
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_8
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_8
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 3
|
|
|
|
|
|
переместить_имм рдиай, 3
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_8
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_8
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 4
|
|
|
|
|
|
переместить_имм рдиай, 4
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_8
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_8
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 5
|
|
|
|
|
|
переместить_имм рдиай, 5
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_8
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_8
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 6
|
|
|
|
|
|
переместить_имм рдиай, 6
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_8
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_8
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 7
|
|
|
|
|
|
переместить_имм рдиай, 7
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_8
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_8
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 8
|
|
|
|
|
|
переместить_имм рдиай, 8
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_8
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_8
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 9
|
|
|
|
|
|
переместить_имм рдиай, 9
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_8
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_8
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 10
|
|
|
|
|
|
переместить_имм рдиай, 10
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_8
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_8
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 11
|
|
|
|
|
|
переместить_имм рдиай, 11
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_8
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_8
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 12
|
|
|
|
|
|
переместить_имм рдиай, 12
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_8
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_8
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 13
|
|
|
|
|
|
переместить_имм рдиай, 13
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_8
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_8
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 14
|
|
|
|
|
|
переместить_имм рдиай, 14
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_8
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_8
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 15
|
|
|
|
|
|
переместить_имм рдиай, 15
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_8
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_8
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
; ---------------------
|
|
|
|
|
|
|
|
|
|
|
|
мимо_мертвого_кода_8:
|
|
|
|
|
|
|
|
|
|
|
|
; ВОСЬМОЙ ПЕРЕХОД: переход_если_нет_переноса
|
|
|
|
|
|
; Убедимся, что CF=0. Выполним операцию, которая сбросит CF.
|
|
|
|
|
|
сравнить раикс, раикс ; CF = 0 (так как rax - rax = 0, без переноса)
|
|
|
|
|
|
; Условие jnc: CF=0. CF=0. jnc СРАБОТАЕТ.
|
|
|
|
|
|
; Мы хотим прыгнуть МИМО мертвого кода 9, если jnc сработает (т.е. если НЕ было переноса).
|
|
|
|
|
|
переход_если_нет_переноса мимо_мертвого_кода_9
|
|
|
|
|
|
; --- МЕРТВЫЙ КОД 9 ---
|
|
|
|
|
|
; Этот код НЕ должен выполниться (так как jnc сработал)
|
|
|
|
|
|
переместить_имм раикс, 1
|
|
|
|
|
|
переместить_имм рдиай, 1
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_9
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_9
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 2
|
|
|
|
|
|
переместить_имм рдиай, 2
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_9
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_9
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 3
|
|
|
|
|
|
переместить_имм рдиай, 3
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_9
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_9
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 4
|
|
|
|
|
|
переместить_имм рдиай, 4
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_9
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_9
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 5
|
|
|
|
|
|
переместить_имм рдиай, 5
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_9
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_9
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 6
|
|
|
|
|
|
переместить_имм рдиай, 6
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_9
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_9
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 7
|
|
|
|
|
|
переместить_имм рдиай, 7
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_9
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_9
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 8
|
|
|
|
|
|
переместить_имм рдиай, 8
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_9
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_9
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 9
|
|
|
|
|
|
переместить_имм рдиай, 9
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_9
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_9
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 10
|
|
|
|
|
|
переместить_имм рдиай, 10
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_9
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_9
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 11
|
|
|
|
|
|
переместить_имм рдиай, 11
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_9
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_9
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 12
|
|
|
|
|
|
переместить_имм рдиай, 12
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_9
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_9
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 13
|
|
|
|
|
|
переместить_имм рдиай, 13
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_9
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_9
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 14
|
|
|
|
|
|
переместить_имм рдиай, 14
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_9
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_9
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 15
|
|
|
|
|
|
переместить_имм рдиай, 15
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_9
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_9
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
; ---------------------
|
|
|
|
|
|
|
|
|
|
|
|
мимо_мертвого_кода_9:
|
|
|
|
|
|
|
|
|
|
|
|
; ДЕВЯТЫЙ ПЕРЕХОД: переход (безусловный)
|
|
|
|
|
|
; Просто прыгаем мимо мертвого кода 10.
|
|
|
|
|
|
переход мимо_мертвого_кода_10
|
|
|
|
|
|
; --- МЕРТВЫЙ КОД 10 ---
|
|
|
|
|
|
; Этот код НЕ должен выполниться (так как jmp сработал)
|
|
|
|
|
|
переместить_имм раикс, 1
|
|
|
|
|
|
переместить_имм рдиай, 1
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_10
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_10
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 2
|
|
|
|
|
|
переместить_имм рдиай, 2
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_10
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_10
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 3
|
|
|
|
|
|
переместить_имм рдиай, 3
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_10
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_10
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 4
|
|
|
|
|
|
переместить_имм рдиай, 4
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_10
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_10
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 5
|
|
|
|
|
|
переместить_имм рдиай, 5
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_10
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_10
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 6
|
|
|
|
|
|
переместить_имм рдиай, 6
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_10
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_10
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 7
|
|
|
|
|
|
переместить_имм рдиай, 7
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_10
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_10
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 8
|
|
|
|
|
|
переместить_имм рдиай, 8
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_10
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_10
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 9
|
|
|
|
|
|
переместить_имм рдиай, 9
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_10
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_10
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 10
|
|
|
|
|
|
переместить_имм рдиай, 10
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_10
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_10
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 11
|
|
|
|
|
|
переместить_имм рдиай, 11
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_10
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_10
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 12
|
|
|
|
|
|
переместить_имм рдиай, 12
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_10
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_10
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 13
|
|
|
|
|
|
переместить_имм рдиай, 13
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_10
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_10
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 14
|
|
|
|
|
|
переместить_имм рдиай, 14
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_10
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_10
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
переместить_имм раикс, 15
|
|
|
|
|
|
переместить_имм рдиай, 15
|
|
|
|
|
|
переместить_имм рсиай, msg_dead_10
|
|
|
|
|
|
переместить_имм рдикс, len_msg_dead_10
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
; ---------------------
|
|
|
|
|
|
|
|
|
|
|
|
мимо_мертвого_кода_10:
|
|
|
|
|
|
|
|
|
|
|
|
; --- ВЫВОД ЦЕЛЕВОГО СООБЩЕНИЯ ---
|
|
|
|
|
|
вывести_сообщение:
|
|
|
|
|
|
переместить_имм раикс, 1
|
|
|
|
|
|
переместить_имм рдиай, 1
|
|
|
|
|
|
переместить_имм рсиай, msg_success
|
|
|
|
|
|
переместить_имм рдикс, len_msg_success
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
|
|
|
|
|
|
; --- ЗАВЕРШЕНИЕ ---
|
|
|
|
|
|
переместить_имм раикс, 60
|
|
|
|
|
|
переместить_имм рдиай, 0
|
|
|
|
|
|
вызов_системы
|
|
|
|
|
|
|
|
|
|
|
|
.данные
|
|
|
|
|
|
; Перемешиваем строки и константы
|
|
|
|
|
|
; "Живой из 3!\n" = 8 букв * 2 + 1 (!) + 1 (\n от .строка_нуль) = 16 + 2 = 18 байт на содержимое. len = 18
|
|
|
|
|
|
msg_live_from_3: .строка_нуль "Живой из 3!\n"
|
|
|
|
|
|
.константа len_msg_live_from_3 = 18
|
|
|
|
|
|
; "Успех!\n" = 5 букв * 2 + 1 (!) + 1 (\n от .строка_нуль) = 10 + 2 = 12 байт на содержимое. len = 12
|
|
|
|
|
|
msg_success: .строка_нуль "Успех!\n"
|
|
|
|
|
|
.константа len_msg_success = 12
|
|
|
|
|
|
; "Мертвый код 10!" = 7 букв * 2 + 4 символа * 1 + 1 (\n от .строка_нуль) = 14 + 4 + 1 = 19 байт на содержимое. len = 19
|
|
|
|
|
|
msg_dead_10: .строка_нуль "Мертвый код 10!"
|
|
|
|
|
|
.константа len_msg_dead_10 = 19
|
|
|
|
|
|
; "Мертвый код 9!" = 7 букв * 2 + 4 символа * 1 + 1 (\n от .строка_нуль) = 14 + 4 + 1 = 19 байт на содержимое. len = 19
|
|
|
|
|
|
msg_dead_9: .строка_нуль "Мертвый код 9!"
|
|
|
|
|
|
.константа len_msg_dead_9 = 19
|
|
|
|
|
|
; "Мертвый код 8!" = 7 букв * 2 + 4 символа * 1 + 1 (\n от .строка_нуль) = 14 + 4 + 1 = 19 байт на содержимое. len = 19
|
|
|
|
|
|
msg_dead_8: .строка_нуль "Мертвый код 8!"
|
|
|
|
|
|
.константа len_msg_dead_8 = 19
|
|
|
|
|
|
; "Мертвый код 7!" = 7 букв * 2 + 4 символа * 1 + 1 (\n от .строка_нуль) = 14 + 4 + 1 = 19 байт на содержимое. len = 19
|
|
|
|
|
|
msg_dead_7: .строка_нуль "Мертвый код 7!"
|
|
|
|
|
|
.константа len_msg_dead_7 = 19
|
|
|
|
|
|
; "Мертвый код 6!" = 7 букв * 2 + 4 символа * 1 + 1 (\n от .строка_нуль) = 14 + 4 + 1 = 19 байт на содержимое. len = 19
|
|
|
|
|
|
msg_dead_6: .строка_нуль "Мертвый код 6!"
|
|
|
|
|
|
.константа len_msg_dead_6 = 19
|
|
|
|
|
|
; "Мертвый код 5!" = 7 букв * 2 + 4 символа * 1 + 1 (\n от .строка_нуль) = 14 + 4 + 1 = 19 байт на содержимое. len = 19
|
|
|
|
|
|
msg_dead_5: .строка_нуль "Мертвый код 5!"
|
|
|
|
|
|
.константа len_msg_dead_5 = 19
|
|
|
|
|
|
; "Мертвый код 4!" = 7 букв * 2 + 4 символа * 1 + 1 (\n от .строка_нуль) = 14 + 4 + 1 = 19 байт на содержимое. len = 19
|
|
|
|
|
|
msg_dead_4: .строка_нуль "Мертвый код 4!"
|
|
|
|
|
|
.константа len_msg_dead_4 = 19
|
|
|
|
|
|
; "Мертвый код 3!" = 7 букв * 2 + 4 символа * 1 + 1 (\n от .строка_нуль) = 14 + 4 + 1 = 19 байт на содержимое. len = 19
|
|
|
|
|
|
msg_dead_3: .строка_нуль "Мертвый код 3!"
|
|
|
|
|
|
.константа len_msg_dead_3 = 19
|
|
|
|
|
|
; "Мертвый код 2!" = 7 букв * 2 + 4 символа * 1 + 1 (\n от .строка_нуль) = 14 + 4 + 1 = 19 байт на содержимое. len = 19
|
|
|
|
|
|
msg_dead_2: .строка_нуль "Мертвый код 2!"
|
|
|
|
|
|
.константа len_msg_dead_2 = 19
|
|
|
|
|
|
; "Мертвый код 1!" = 7 букв * 2 + 4 символа * 1 + 1 (\n от .строка_нуль) = 14 + 4 + 1 = 19 байт на содержимое. len = 19
|
|
|
|
|
|
msg_dead_1: .строка_нуль "Мертвый код 1!"
|
2026-05-02 23:04:46 +03:00
|
|
|
|
.константа len_msg_dead_1 = 19
|