𝐦𝐚𝐤𝐟𝐥𝐨𝐲
фича)
s54820
Aiwan \ (•◡•) / _bot
ноль в конце строки воспринимается как символ "а"
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
а если 2 нуля воткнуть?
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
0,0
Aiwan \ (•◡•) / _bot
aa
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
ща на 7 попробую
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
там 64 бита
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
C:\Users\user\Downloads>test.exe
Hello world!
s54820
format PE64 Console 5.0
include 'win64wx.inc'
include 'ENCODING\WIN1251.INC'
section '.data' data readable writeable
conTitle du 'Console', 0
mes du 'Hello world!',13,10,0
mesLen = ($-mes)/2
hStdIn dd 0
hStdOut dd 0
chrsRead dd 0
chrsWritten dd 0
section '.bss' readable writeable
readBuf db ?
.code
Start:
invoke SetConsoleTitle, conTitle
test eax, eax
jz Exit
invoke GetStdHandle, STD_OUTPUT_HANDLE
mov [hStdOut], eax
invoke GetStdHandle, STD_INPUT_HANDLE
mov [hStdIn], eax
invoke WriteConsole, [hStdOut], mes, mesLen, chrsWritten, 0
invoke ReadConsole, [hStdIn], readBuf, 1, chrsRead, 0
Exit:
invoke ExitProcess, 0
.end Start
Кстати, какой eax вообще на 64-битной ОС?
Aiwan \ (•◡•) / _bot
ща исправлю, посмотрим что получится
Aiwan \ (•◡•) / _bot
s54820
Aiwan \ (•◡•) / _bot
с "du" не может быть косяк, он вроде переопределяется
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
а если в середину сообщения воткнуть ноль?
s54820
Aiwan \ (•◡•) / _bot
вставил нулевой символ
Aiwan \ (•◡•) / _bot
mes du 'Hello ',0,'world!',13,10,0
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
а если dw?
s54820
Да оно и есть dw, если encoding не подключать.
Aiwan \ (•◡•) / _bot
error: value out of range.
Aiwan \ (•◡•) / _bot
s54820
error: value out of range.
Ну надо было dw 'H','e','l','l','o',13,10,0. Но не поможет.
Aiwan \ (•◡•) / _bot
,kz
Aiwan \ (•◡•) / _bot
а так почему неправильно 'hello world',13,10
Aiwan \ (•◡•) / _bot
c dw тоже самое
s54820
а так почему неправильно 'hello world',13,10
Потому что у db есть специальная обработка строк, а в остальных случаях строка 'abc' значит ('a' shl 16) or ('b' shl 8) or 'c', и оно, естественно, в 16-битное слово не влезает. Особенно с еще более длинной строкой.
Aiwan \ (•◡•) / _bot
mes dw 'H','e','l','l','o','!',13,10,0
енкодинг отключен
s54820
Aiwan \ (•◡•) / _bot
значит вывод, убрать завершающий ноль
Viktor
так откуда там а взялся-то?
Viktor
как 0 в а превратилось?
Aiwan \ (•◡•) / _bot
мож высер какой нить системной функции?
Viktor
тогда почему при 1 другое, причем стабильно?
Viktor
я вот вообще сижу на nasm'е пишу под макось, мне норм
Viktor
но блин, дальше лаб под x86 ассемблер писать не хочу, не нравится мне чет
читать еще куда ни шло
Aiwan \ (•◡•) / _bot
больше вопрос в том почему ноль воспринимает как "а"
Aiwan \ (•◡•) / _bot
ха
Aiwan \ (•◡•) / _bot
у мя со шрифтами значит чето было, я их менял
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
вот тебе ноль и подменили
Aiwan \ (•◡•) / _bot
и нихера
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
теперь ты знаешь что делать если сломается кнопка "a"
Aiwan \ (•◡•) / _bot
когда приложение запущено, меняю шрифт на любой другой, а тут же пропадает, но при перезапуске тоже самое
Aiwan \ (•◡•) / _bot
как глобально шрифт поменять?
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
шрифт сбрасывается
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
через панель управления
Aiwan \ (•◡•) / _bot
точечные
Aiwan \ (•◡•) / _bot
я чет не че не пойму, поменял еще кой какую настройку и все шрифты вроде как норм стали
Aiwan \ (•◡•) / _bot
s54820
Ну ты можешь взять IDA и долго ковыряться в ConHostV1.dll, чтобы понять, где там и что вызывает такое странное поведение. А можешь просто не выводить нулевой символ в консоль — тебе никто не обещал, что он будет как пробел рендериться.
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
ну с А это ж перебор. никто б не подумал что 0x00 будет им
Aiwan \ (•◡•) / _bot
точечные косяпорят с включенной этой опцией, проверьте, а то не усну
s54820
Aiwan \ (•◡•) / _bot
да эт не особо проблема, просто понять, чтоб потом не натыкаться на это
s54820
миша
С каких пор про асм флуд стал каналом?
миша
миша
Anonymous
у меня отображается как группа. Хм, кто-то еще пользуется светлой темой?
Ask
а в чем проблема что флуд стал каналом и чем не угодила светлая тема?
миша
Ask
Katya
s54820
«Write an assembly language program to compute the distance squared» — там выше речь именно об этом была, да?
Katya
да
s54820
да
Ну если что, там корень и не просят, только squared.
Yura
слушайте, а если свою ос писать то как на ней реализовывать компиляторы. например с++
Yura
на асме или как?
Anonymous
Yura
нет ну в плане я свою ос прям с нуля пишу.
Anonymous
Ты не понял
Anonymous
Почтий про то, что такое gnu c compiler collection