Size: a a a

Ассемблер

2020 December 08

ST

Saenro T in Ассемблер
Ну вот и добрался)
источник

D

DRONE in Ассемблер
Saenro T
Ну вот и добрался)
Да она такие вопросы ставит, что хрен знаешь как на них отвечать :)
источник

D

DRONE in Ассемблер
Загадками разговаривает
источник

ST

Saenro T in Ассемблер
Как бы указываешь номер списка и шагаешь по нему к искомому элементу, через byte, word, dword и т.п. в зависимости от того, какой длины эти элементы
источник

ST

Saenro T in Ассемблер
Например как-то так:
mov r1, [r2+r3×n]
r1 — сюда пойдёт элемент;
r2 — база, здесь начало массива;
r3 — номер элемента;
n — длина элемента.
источник

ST

Saenro T in Ассемблер
Если элементы dw (4 bytes), то считывание элемента из массива выглядит как-то так:
mov eax, [ebx+esi×4]
источник

ST

Saenro T in Ассемблер
А записывать в массив лучше так:
mov [ebp+edi×4], eax
(по старинке)
mov [ebx+edi×4], eax
Хм, так, через ebx, по идее даже быстрее чем через ebp
источник

D

DRONE in Ассемблер
Спс
источник

OK

Oliver Kromvel in Ассемблер
всем привет. Возникла проблема при программировании в 64 битном режиме. При чтении из консоли выводится данная ошибка... Но я открыл для ввода в консоль как
mov   rcx, offset namein
     mov   rdx,GENERIC_READ+GENERIC_WRITE
     mov   r8,0
     mov   r9,0
     mov   qword ptr [rsp+32],OPEN_EXISTING
     mov   qword ptr [rsp+40],0
     mov   qword ptr [rsp+48],0
     call   CreateFileA
источник

LW

Loren White in Ассемблер
поставь себе AsmDude расширение, синтаксис подсвечивать будет
источник

ST

Saenro T in Ассемблер
Oliver Kromvel
всем привет. Возникла проблема при программировании в 64 битном режиме. При чтении из консоли выводится данная ошибка... Но я открыл для ввода в консоль как
mov   rcx, offset namein
     mov   rdx,GENERIC_READ+GENERIC_WRITE
     mov   r8,0
     mov   r9,0
     mov   qword ptr [rsp+32],OPEN_EXISTING
     mov   qword ptr [rsp+40],0
     mov   qword ptr [rsp+48],0
     call   CreateFileA
А ты в курсе как стек устроен?
источник

ST

Saenro T in Ассемблер
RSP+ ??? Ты где это надыбал?)
источник

OK

Oliver Kromvel in Ассемблер
это fastcall, передаю больше 5 параматеров
источник

ST

Saenro T in Ассемблер
А как думаешь, куда передаёшь?
источник

ST

Saenro T in Ассемблер
Если уж так передаёшь, попробуй хотя бы RSP-
Просто интересно куда у тебя RSP изначально смотрит, можешь exe скинуть?
источник

ST

Saenro T in Ассемблер
Там вроде на -56 байт нужно сдвинуть RSP, а у тебя наоборот, +хх
источник

OK

Oliver Kromvel in Ассемблер
хорошо, сейчас скину exeшник
источник

OK

Oliver Kromvel in Ассемблер
Saenro T
Там вроде на -56 байт нужно сдвинуть RSP, а у тебя наоборот, +хх
Я там сначала вычел -56)
источник

楽園松本 in Ассемблер
Сегодня вот что пришло в голову. Современные программы, практически все, без исключения, нашпигованы багами. При том, что баги эти проявляются не в каких-либо потаённых местах приложения, но касаются самой функциональной части софта. Так, например, программа для звуковой связи вдруг перестаёт воспроизводить звук; или в программе для видеосъёмки вдруг пропадает кнопка записи; или в мессенджере перестают пересылаться сообщения.

Что случилось? Я полагаю, программы стали слишком сложными. Ключевое слово -- слишком.

Тогда вопрос: а какие программы "не слишком" сложные?

Я думаю, те, которые может на асме написать и протестировать один человек.

Глядя на демосцену 90х, я понимаю, что это было золотое время программирования. У программ был один автор, или несколько авторов, ответственных за отдельные законченные модули. Программы полностью использовали возможности оборудования и выжимали максимум из конфигураций. И, главное, они нормально работали.
источник

С

Сергей in Ассемблер
楽園松本
Сегодня вот что пришло в голову. Современные программы, практически все, без исключения, нашпигованы багами. При том, что баги эти проявляются не в каких-либо потаённых местах приложения, но касаются самой функциональной части софта. Так, например, программа для звуковой связи вдруг перестаёт воспроизводить звук; или в программе для видеосъёмки вдруг пропадает кнопка записи; или в мессенджере перестают пересылаться сообщения.

Что случилось? Я полагаю, программы стали слишком сложными. Ключевое слово -- слишком.

Тогда вопрос: а какие программы "не слишком" сложные?

Я думаю, те, которые может на асме написать и протестировать один человек.

Глядя на демосцену 90х, я понимаю, что это было золотое время программирования. У программ был один автор, или несколько авторов, ответственных за отдельные законченные модули. Программы полностью использовали возможности оборудования и выжимали максимум из конфигураций. И, главное, они нормально работали.
Нет, не из-за сложности такие ошибки, а из-за того что покупатели требуют программы с ошибками. Ну а кто платит, тот и танцует.
Скажу проще - будешь делать долго программу без глюков, а сосед с глюками, но вчера и за большие деньги.
Далее ещё печальней: одному сделать программу почти не реально (я про серьёзную), поэтому везде мелькают коллективные разработки. И да, когда создатель пытается её показать людям, все отворачиваются, потому что знают, что один в поле не воин и не вечен. Те кто не отворачиваются, потом попадают на огромные деньги.
источник