Ask
;)
Ask
я поначалу их тож путал))
Aiwan \ (•◡•) / _bot
то что доктор прописал, вроде заработало
Aiwan \ (•◡•) / _bot
#book Зубков, dos windows unix
Aiwan \ (•◡•) / _bot
такой вид записи правильный???
lea di,[dh*80+dl*2]
Aiwan \ (•◡•) / _bot
пишет ошибку: processed: lea di,[dh*80+dl*2]
error: reserved word used as symbol.
Aiwan \ (•◡•) / _bot
как правильно это записать?
Aiwan \ (•◡•) / _bot
даже вот так ошибку выдает
lea di,[dx*80]
Anonymous
Aiwan \ (•◡•) / _bot
дак как это нет?
Anonymous
Aiwan \ (•◡•) / _bot
а можно тогда lea вообще использовать в этом режиме, х16?
Anonymous
Dx вначале помножь на 80
Aiwan \ (•◡•) / _bot
s54820
даже вот так ошибку выдает
lea di,[dx*80]
Если будут 32-битные регистры, тогда сможешь EDX в эффективном адресе использовать, но умножать, как тебе уже сказали, только на степени двойки, восемь максимум.
Aiwan \ (•◡•) / _bot
processed: lea di,[dx*2]
error: reserved word used as symbol.
Anonymous
Можно di, si, bx (я давно 16 бит писал)
Anonymous
*80 = 16+64. Shl сделай
Aiwan \ (•◡•) / _bot
;lea di,[dh*80+dl*2]
lea di,[dh*8+10+dl*2]
Aiwan \ (•◡•) / _bot
не катит
Anonymous
Aiwan \ (•◡•) / _bot
Aiwan \ (•◡•) / _bot
Anonymous
*160=(16+64)*2
s54820
А, у тебя режим с 40 символами? Да, затупил, извини.
Aiwan \ (•◡•) / _bot
40х25
Aiwan \ (•◡•) / _bot
от портянки shl add imul хочу избавиться
Aiwan \ (•◡•) / _bot
полный код процедуры вот такой
write_read:
push di ;на входе bl = READ or WRITE (0 or 1)
xor di,di ; ax = атрибуты/ символ
push dx ; dx = координаты
push dx
shr dx,8
imul dx,80
mov di,dx
pop dx
xor dh,dh
shl dl,1
add di,dx ;mov di,40*2*dh+2*dl
; push bx
; xor bx,bx
; mov bl,dl
; xor dl,dl
; lea di,[dh*80+dl*2]
; lea di,[si*8+10+si*2]
cmp bl, READ
jnz @f
mov word ax,[es:di] ;READ
jmp .exit
@@:
mov word [es:di],ax ;WRITE
.exit:
pop dx
pop di
ret
s54820
полный код процедуры вот такой
write_read:
push di ;на входе bl = READ or WRITE (0 or 1)
xor di,di ; ax = атрибуты/ символ
push dx ; dx = координаты
push dx
shr dx,8
imul dx,80
mov di,dx
pop dx
xor dh,dh
shl dl,1
add di,dx ;mov di,40*2*dh+2*dl
; push bx
; xor bx,bx
; mov bl,dl
; xor dl,dl
; lea di,[dh*80+dl*2]
; lea di,[si*8+10+si*2]
cmp bl, READ
jnz @f
mov word ax,[es:di] ;READ
jmp .exit
@@:
mov word [es:di],ax ;WRITE
.exit:
pop dx
pop di
ret
Почему-то мне кажется, что если считать лишь адрес и возвращать его в di, а чтение/запись делать инлайном, то будет короче.
Anonymous
Imul - очень долгая операция, замени на shl
Anonymous
И push можно выкинуть в push dx/shr dx,8
Aiwan \ (•◡•) / _bot
так какие идеи есть чтоб lea использовать
Aiwan \ (•◡•) / _bot
Там же коллизии чтением символа проверяются?////
да
s54820
Или даже все вообще хранить посчитанным, усложнятся коллизии с границами экрана, а для управления можно просто прибавлять/вычитать 2 или 80.
Aiwan \ (•◡•) / _bot
эта процедура используется везде где есть проверка символа или его вывод на экран
Aiwan \ (•◡•) / _bot
поэтому и для хвоста и для какашек
Aiwan \ (•◡•) / _bot
вопрос можно ли lea вообще использовать в х16?
s54820
Тебе уже ответили. Можно. lea reg,[bx+si] (bx/bp + si/di) и плюс варианты с immediate. Без умножения. И можно потерять байт на оверрайде размеров операндов и использовать 32-битные регистры, и заодно уможнение на степень двойки.
s54820
Anonymous
Aiwan \ (•◡•) / _bot
тогда ах пушить надо, для записи там атрибут/символ
Anonymous
И да, использовать вместо mov ax,dx xchg ax,dx (1 байт)
s54820
Anonymous
Кодеры вы задрипанные, хакиры доморощенные. Вам бы стены в сортирах расписывать, а не за асм тут спорить, трепла бездарные.
Anonymous
а. это не флуд чат . сорь
Aiwan \ (•◡•) / _bot
Anonymous
мою любимый язык программирования хтмл
Aiwan \ (•◡•) / _bot
на оскарбления переходишь, или тролишь?
Anonymous
я хз
Aiwan \ (•◡•) / _bot
выбор за мной значит?
Anonymous
выбор за мной, я голосую за Путина
Anonymous
а теперь я пойду есть суп. всем пока
Anonymous
Aiwan \ (•◡•) / _bot
значит троль
Aiwan \ (•◡•) / _bot
эт проверка тролинга, выше мне тож неприятно было, сообщение исправлю
Чо так мягко его?
Anonymous
ля я тут подумал
надо практиковаться в реверсинге и крякать всякие пасты ксгей читов
Anonymous
Anonymous
типо такого xD
Anonymous
бля ребят вопрос
Допустим есть какая нить очередная ayyware paste которую продают по цене школьного обеда. лоадер проводит авторизацию, чек хвида, и если все ок, то качает дллку с сервера и мануалмапает ее в игру. Крякнуть такое по идее не займет более 30 минут, но что если создатель запидорил лоадер кучей протекторов, пакеров, итп? будет ли это значительно сложнее риверснуть, или не важно сколько долбоеб влил в лицензию VMProkekt, если он долбоеб, это ему не поможет и его хуйню все равно на изи крякнуть??
bilka00
bilka00
При грамотно построеной защите + вмп крякнуть иногда очень и очень сложно