- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
CODE:00403FB0 proc unk2_Reset
CODE:00403FB0 mov [ds:sizeMemUnk_2_1], 0
CODE:00403FBA mov [ds:sizeMemUnk_2_2], 0
CODE:00403FC4 xor eax, eax
CODE:00403FC6 mov [ds:ddUnk2_42AB0C], eax
CODE:00403FCB mov [ds:ddUnk2_42AB10], eax
CODE:00403FD0 mov [ds:ddUnk2_42AB14], eax
CODE:00403FD5 mov [ds:dbUnk2_42AB5E], al
CODE:00403FDA xor eax, eax
CODE:00403FDC mov [ds:ddUnk2_42AB18], eax
CODE:00403FE1 mov [ds:ddUnk2_42AB1C], eax
CODE:00403FE6 xor eax, eax
CODE:00403FE8 mov [ds:ddUnk2_42AB20], eax
CODE:00403FED mov [ds:ddUnk2_42AB24], eax
CODE:00403FF2 mov eax, [ds:ddInit_6] ; eax = 6
CODE:00403FF7 sub eax, 2
CODE:00403FFA mov [ds:ddUnk2_42AB2C], eax
CODE:00403FFF mov eax, 12000h
CODE:00404004 mov [ds:ddUnk2_42AB28], eax
CODE:00404009 cmp eax, 2008h
CODE:0040400E jb short loc_404015
CODE:00404010 mov eax, 2008h
CODE:00404015 loc_404015:
CODE:00404015 sub eax, 8
CODE:00404018 mov [ds:ddUnk2_42AB30], eax
CODE:0040401D jmp loc_41C374
CODE:0040401D endp
Нашел настоящую жесть. Особенно манипуляции с константами позабавили. Не ожидал такого от проф. программистов.
ассемблерщики - лоу левел пэхэпэшники
Вопрос: сколько выкурил программист, чтобы создать подобную бредятину?
И в любом случае даже самый дохленький сишный компилятор "раскусит" манипуляции с константами и выкинет лишнее, уж это-то они все делают отлично.
Да, вижу. Ночью на говнокод заходить мне нельзя... :(
Должно было быть:
v1=0x12000;
v2=0x2000;
mov eax, AAA
mov [ds:ddUnk2_42AB28], eax
cmp eax, BBB
jb skip
mov eax, BBB
поди разбери что там за константы прописали
Какался он тоже на ассемблере. Что ещё расскажете?
ddUnk2_42AB0C, ddUnk2_42AB10, loc_404015 –— вот это всё руками, да?
и не задумывается, что там получается лишние команды. Может, это не перформансно-критический кусок.