Пришлось опять включить интуицию. Протрейсил вниз от этой строчки "CALL DWORD PTR DS:[<&USER32.CreateWindowExA>]", нашёл там RETN 8, а потом место CALL, откуда весь этот большой кусок кода вызывается. И в самую первую строчку куска воткнул такой же RETN 8. Дебаг показал, что теперь вся эта кухня с окном пропускается полностью. Пропатчил, вроде заработало .
» Assembler
наливай...
В чем можно писать на винде х64, чтоб код был полностью совместим с 16 битовым тасмом?
в 16 битовом тасме и написать
bomzzz
Винда х64, тасм х16 соответственно не запускается.
Виртуалка, на ней тасм - слишком неудобно... Досбокс тоже.
Винда х64, тасм х16 соответственно не запускается.
Виртуалка, на ней тасм - слишком неудобно... Досбокс тоже.
64 битная винда вообще неудобно.
A1exSun
Цитата:
Цитата:
В чем можно писать на винде х64, чтоб код был полностью совместим с 16 битовым тасмом?masm64, писать в классическом стиле и использовать только 16-битовые регистры
A1exSun
А смысл выбирать в чем писать х16 приложения, если запускать все равно придется в виртуальной машине, так как x64 процессоры в long mode(в котором работает x64 windows система) не поддерживают виртуализацию x16 задач. Можно также установить x32 windows(legacy mode), в таком случае все запустится без проблем.
Цитата:
Чем неудобно? Есть еще qemu, где очень удобная консоль для работы с виртуальной машиной.
А смысл выбирать в чем писать х16 приложения, если запускать все равно придется в виртуальной машине, так как x64 процессоры в long mode(в котором работает x64 windows система) не поддерживают виртуализацию x16 задач. Можно также установить x32 windows(legacy mode), в таком случае все запустится без проблем.
Цитата:
Виртуалка, на ней тасм - слишком неудобно... Досбокс тоже.
Чем неудобно? Есть еще qemu, где очень удобная консоль для работы с виртуальной машиной.
ему надо просто 32 битную винду поставить и моск себе не парить
doktorpilulkin
Цитата:
Удобно.
akaGM
И все окай будет работать?
cp58
Цитата:
Редактировать код приходиться в той же виртуалке...
bomzzz
Цитата:
Не нужно мне 32 бит винду.
Я хочу сейчас писать в каком-то большом IDE, а потом перекомпилировать тасмом под х16. Так невозможно?
Цитата:
64 битная винда вообще неудобно.
Удобно.
akaGM
И все окай будет работать?
cp58
Цитата:
Чем неудобно?
Редактировать код приходиться в той же виртуалке...
bomzzz
Цитата:
ему надо просто 32 битную винду поставить и моск себе не парить
Не нужно мне 32 бит винду.
Я хочу сейчас писать в каком-то большом IDE, а потом перекомпилировать тасмом под х16. Так невозможно?
A1exSun
VS 2010, писать на ml64 при условии что ты хорошо знаешь классический асм
+
ну может придётся немного заняться условной компиляцией...
а вообще я думал, что твои идиотские задатодатели со своими идиотскими заданиями быстрее отваляться или всё-таки купят хотя бы один четвёртый пень с Win98...
VS 2010, писать на ml64 при условии что ты хорошо знаешь классический асм
+
ну может придётся немного заняться условной компиляцией...
а вообще я думал, что твои идиотские задатодатели со своими идиотскими заданиями быстрее отваляться или всё-таки купят хотя бы один четвёртый пень с Win98...
akaGM
Ладно. Ставлю XP в виртуалку и не трахаю себе мозг. В ней в RedASM писать или в чем?
Скачивать RadASM IDE Pack, RadASM Language Pack и RadASM Assembly Programming Pack?
Или что лучше? Нужен хороший дебаггер.
Я писал бы все в emu8086, но там иногда кое-чего не хватает.
Ладно. Ставлю XP в виртуалку и не трахаю себе мозг. В ней в RedASM писать или в чем?
Скачивать RadASM IDE Pack, RadASM Language Pack и RadASM Assembly Programming Pack?
Или что лучше? Нужен хороший дебаггер.
Я писал бы все в emu8086, но там иногда кое-чего не хватает.
Цитата:
или всё-таки купят хотя бы один четвёртый пень с Win98.
Добавлено:
98 винда на 486 пойдет, можно маненька съеканомит
Добавлено:
а себе он предпочел купить модный комп поставить 64 винду, чтоб потом поставить хп32 на виртуалке
Добавлено:
и все потому что памяти ему всучили больше 4 гигов. чтоб он дома мог спутниковые орбиты рассчитывать
bomzzz
Откуда ты все знаешь?
Откуда ты все знаешь?
я вообще то просто смеялся сильно. но обычно ставят 64 битную потому что думают что под 32 нельзя памяти больше 3-4 гиг использовать
Добавлено:
хотя столько памяти нужно или для серверов, или для каких то баз огромных, а 64 бита для огромных вычислений. потом сидят без дров и без софта
Добавлено:
хотя столько памяти нужно или для серверов, или для каких то баз огромных, а 64 бита для огромных вычислений. потом сидят без дров и без софта
bomzzz
Цитата:
Памяти у меня действительно 4 Гб и на 32 будет доступно вроде 3.24, но это не проблема. Пользуюсь 64 потому что вправду быстрее работает. И не хочу ради одного тасма (если бы не универ, то он мне нафиг надо) все рушить.
Добавлено:
Цитата:
Я максимум умудрялся только 3 загрузить.
Цитата:
Все драйвера и половина софта х64.
Цитата:
ставят 64 битную потому что думают что под 32 нельзя памяти больше 3-4 гиг использовать
Памяти у меня действительно 4 Гб и на 32 будет доступно вроде 3.24, но это не проблема. Пользуюсь 64 потому что вправду быстрее работает. И не хочу ради одного тасма (если бы не универ, то он мне нафиг надо) все рушить.
Добавлено:
Цитата:
хотя столько памяти нужно или для серверов, или для каких то баз огромных
Я максимум умудрялся только 3 загрузить.
Цитата:
потом сидят без дров и без софта
Все драйвера и половина софта х64.
скрытую память выше адреса видео карты можно сделать доступной для данных создав рам диск. так же как в досе XMS было выше 1 мб
Добавлено:
VSuite.Ramdisk.Server.Edition
SuperCache.SuperVolume.2010
SuperSpeedRamDisk
Добавлено:
VSuite.Ramdisk.Server.Edition
SuperCache.SuperVolume.2010
SuperSpeedRamDisk
Ребят извините тупо не знаю. Надо сохранить регистры все инструкции PUSHAD/POPAD не работают - версия 64 разряда. Подскажите плиз
погугли не такая команда должна быть pusha это 16 бит, pushad 32 бит, а для 64 еще наверняка какую то букву прилепили в конец
Пушаку/попаку
а по-моему, аналогов в 64-версии ещё нет...
ужас с этим 64 битами
Добавлено:
а я только до ссе и ммикс добрался , до 64 наверно уже никогда не доберусь
Добавлено:
а я только до ссе и ммикс добрался , до 64 наверно уже никогда не доберусь
а может и правда PUSHFQ, не юзал пока...
delover
Нету такой инструкции, да и зачем? r8-15 регистры просто так дали?
akaGM
Цитата:
Эта инструкция записывает в стек регистр флагов RFLAGS.
Нету такой инструкции, да и зачем? r8-15 регистры просто так дали?
akaGM
Цитата:
а может и правда PUSHFQ, не юзал пока...
Эта инструкция записывает в стек регистр флагов RFLAGS.
БЛИН щас на PUSH EDI ругается
Добавлено:
Короче асм переписывать придётся
Добавлено:
cp58
Я ничиго не понял, ламер я
Добавлено:
Короче асм переписывать придётся
Добавлено:
cp58
Я ничиго не понял, ламер я
delover
Цитата:
push rdi
Добавлено:
delover
Цитата:
Поэтому люди используют язык C и лишь малую часть делают вставками ассемблера.
Цитата:
БЛИН щас на PUSH EDI ругается
push rdi
Добавлено:
delover
Цитата:
Короче асм переписывать придётся
Поэтому люди используют язык C и лишь малую часть делают вставками ассемблера.
Вот хочу
[more]
Код: [no]procedure TurnonBytes(P, Count: LongWord); assembler;
asm
PUSHAD
MOV EDI, P
MOV ESI, EDI
MOV ECX, Count
PUSH EDI
PUSH ECX
XOR EAX, EAX
@@1: LODSB
ADD AL, AH
STOSB
SUB AH, AL
ADD AH, CL
ROR AH, 3
LOOP @@1
POP ECX
POP EDI
MOV ESI, EDI
@@2: LODSB
XOR AL, 055H
MOV EDX, 4
TEST ECX, EDX
JNE @@3
ROL AL, 3
JMP @@6
@@3: SHR EDX, 1
TEST ECX, EDX
JNE @@4
SHL EDX, 1
ROL AL, 2
JMP @@6
@@4: SHR EDX, 1
TEST ECX, EDX
JNE @@5
XOR AL, 0AAH
ROL AL, 1
@@5: SHL EDX, 2
@@6: STOSB
LOOP @@2
POPAD
end;[/no]
[more]
Код: [no]procedure TurnonBytes(P, Count: LongWord); assembler;
asm
PUSHAD
MOV EDI, P
MOV ESI, EDI
MOV ECX, Count
PUSH EDI
PUSH ECX
XOR EAX, EAX
@@1: LODSB
ADD AL, AH
STOSB
SUB AH, AL
ADD AH, CL
ROR AH, 3
LOOP @@1
POP ECX
POP EDI
MOV ESI, EDI
@@2: LODSB
XOR AL, 055H
MOV EDX, 4
TEST ECX, EDX
JNE @@3
ROL AL, 3
JMP @@6
@@3: SHR EDX, 1
TEST ECX, EDX
JNE @@4
SHL EDX, 1
ROL AL, 2
JMP @@6
@@4: SHR EDX, 1
TEST ECX, EDX
JNE @@5
XOR AL, 0AAH
ROL AL, 1
@@5: SHL EDX, 2
@@6: STOSB
LOOP @@2
POPAD
end;[/no]
delover
Цитата:
Сохраняйте в стеке x64 регистры, делов то.(но лучше не тащить этот старый код и переписать с использованием новых регистров r8-15 и стек не нужен будет вобще для этой задачи, с fastcall и подавно)
Цитата:
Тут сказать нечего.
Цитата:
Вот хочу
Сохраняйте в стеке x64 регистры, делов то.(но лучше не тащить этот старый код и переписать с использованием новых регистров r8-15 и стек не нужен будет вобще для этой задачи, с fastcall и подавно)
Цитата:
В 1994 сишный LZSS работал в 3 раза медленнее чем мой TURBO PASCAL. Си это бренд и только.
Тут сказать нечего.
Цитата:
лучше не тащить этот старый код
Этот старый код шифрует данные реальные новые данные и юзается на полную, реальные датасеты, как раз там где FB загибается. Писать сиё на языках высокого уровня просто идиотизм мне кажется.
akaGM
Цитата:
Ну почему же:
PUSHAQ / POPAQ - Push/pop all 64-bit general registers (except for RSP)
Цитата:
а по-моему, аналогов в 64-версии ещё нет
Ну почему же:
PUSHAQ / POPAQ - Push/pop all 64-bit general registers (except for RSP)
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
Предыдущая тема: .NET GUI компоненты
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.