- 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
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
cmp bl,1
je France_jmp
cmp ax,380
je Bulgaria_jmp
cmp ax,383
je Slavonia_jmp
cmp ax,385
je Croatia_jmp
mov bx,400
mov dx,440
call IfAnd
cmp bl,1
je Germany_jmp
jmp next_s
USA_jmp: jmp USA
Grinford_jmp: jmp Grinford
France_jmp: jmp France
Bulgaria_jmp: jmp Bulgaria
Slavonia_jmp: jmp Slavonia
Croatia_jmp: jmp Croatia
Germany_jmp: jmp Germany
next_s:
mov bx,450
mov dx,459
call IfAnd
cmp bl,1
je Japan_jmp
mov bx,460
mov dx,469
call IfAnd
cmp bl,1
je Russia_jmp
cmp ax,471
je Taiwan_jmp
cmp ax,474
je Estonia_jmp
cmp ax,475
je Litvia_jmp
cmp ax,477
jmp next_ss
Japan_jmp: jmp Japan
Russia_jmp: jmp Russia
Taiwan_jmp: jmp Taiwan
Estonia_jmp: jmp Estonia
Litvia_jmp: jmp Latvia
Lithuania_jmp: jmp Lithuania
Philippines_jmp: jmp Philippines
Ukraine_jmp: jmp Ukraine
Moldova_jmp: jmp Moldova
Hongkong_jmp: jmp Hongkong
Britain_jmp: jmp Britain
Greece_jmp: jmp Greece
Cyprus_jmp: jmp Cyprus
Macedonia_jmp: jmp Macedonia
Malta_jmp: jmp Malta
Ireland_jmp: jmp Ireland
Belgium_jmp: jmp Belgium
Portugal_jmp: jmp Portugal
Iceland_jmp: jmp Iceland
Denmark_jmp: jmp Denmark
next_ss:
je Lithuania_jmp
cmp ax,480
je Philippines_jmp
cmp ax,482
je Ukraine_jmp
cmp ax,484
je Moldova_jmp
cmp ax,489
je Hongkong_jmp
Прога для проверки правильности штрих-кодов по контрольной сумме и определение страны-производителя. Про таблицы перехода и near-адресацию конечно в те времена еще не догадывался, только начинал учить асм.
PS: А интерфейс у нее ничего такой был для ассемблера, правда слизал с NU: http://habrastorage.org/storage1/e4efe022/903c7848/d99f7f4f/33d1ed16.png
Psionic 01.07.2011 13:34 # −2
Tronix 01.07.2011 17:08 # 0
LegionDead 01.07.2011 17:10 # −12
Tronix 01.07.2011 17:12 # +4
Psionic 01.07.2011 17:34 # +1
LegionDead 01.07.2011 16:32 # −1
Tronix 01.07.2011 17:08 # −1
guest 01.07.2011 17:32 # 0
Я достаточно близко приблизился к вашему уровню языка, чтобы Вам было понятно?
Tronix 01.07.2011 17:38 # 0
LegionDead 01.07.2011 17:39 # +1
Tronix 01.07.2011 17:47 # +1
DemonId7 03.07.2011 09:29 # 0
Наглядный пример неправильного выбора инструмента. Надо было брать тасм и навсегда забыть о jump out of range, поскольку он сам, где надо, сгенерирует связку Jx/JMP. Либо можно было воспользоваться макросами, они как раз идеально подходят для таких случаев.
Psionic 04.07.2011 10:25 # −2
DemonId7 05.07.2011 08:10 # +1
И эта, мой камент был к коду, который явно писался в те времена, когда фасма не было даже в планах, а тасм полностью эмулировал масм, плюс имел свои примочки.
Psionic 05.07.2011 10:33 # 0
DemonId7 05.07.2011 15:38 # 0
По lib-файлам не вижу особых проблем. Есть утилитки coff2omf и omf2coff, вполне рабочие. Но, судя по хэлпам, в вижене эти утилиты не нужны, поскольку link.exe прекрасно понимает формат omf и может самостоятельно сконвертировать его в родной coff.
bugmenot 05.07.2011 17:03 # −1
он никуда не девался
другое дело, что застрять в С++ Быдлере в 2010 году - символично
DemonId7 05.07.2011 17:26 # +1
bugmenot 05.07.2011 17:30 # 0
> Изменений практически ноль
> Речь о новой версии
мне кажется или кое-кто хуйню пишет?
DemonId7 05.07.2011 22:11 # 0
В копирайте указан 2010-й год и новая версия - 5.4. Что не так? Или тебе известны изменения, что появились с версии 5.3? Ну так колись, а не выёбывайся.
bugmenot 05.07.2011 23:22 # 0
Нифига себе какие нубы наглые пошли...
DemonId7 06.07.2011 23:14 # −1
Tronix 05.07.2011 17:28 # 0
guest 05.07.2011 15:45 # −3
Дрочите на комманды процессора и такты?
Psionic 05.07.2011 16:17 # +5
Не дрочу, а чинно мастурбирую, а если серьезно - прикалывает размеры и быстрота кода.
guest 06.07.2011 23:59 # −2
Это плохо. Вставать на девушек не будет. Только на такты CPU.
Lure Of Chaos 12.07.2011 16:36 # 0
guest8 17.12.2019 12:59 # −999
bormand 17.12.2019 14:49 # 0
> подменять команды старших процессоров
Зачем!?
j123123 17.12.2019 15:06 # 0
Чтоб быстрее работало
> подменять команды старших процессоров
Чтоб скомпилировать под старые процессоры без новых инструкций, не переписывая руками новые инструкции в старые. Чтоб не писать два раза код под новые и старые процессоры.
3.14159265 17.12.2019 15:22 # 0
bormand 17.12.2019 15:30 # 0
Я думаю, что чувак, который пишет на асме, и сам до этого додумается...
Да и прокладки на джампах тоже сомнительная хуйня, которая может сломать код.
bormand 17.12.2019 15:53 # 0
Хм, т.е. я смогу переключение в лонг мод сконпелировать под 8086? И юзать там 64-битные регистры? Охуенно же, пойду ставить тасм.
Arris 07.07.2011 21:06 # +3
- Как, опять?
carsten 05.07.2011 07:00 # 0
Kosovo je Srbija
bugmenot 05.07.2011 17:06 # 0
Lure Of Chaos 05.07.2011 20:26 # 0
обидели соседей очепяткой
carsten 10.07.2011 14:40 # +1
guest8 09.04.2019 11:06 # −999