889
Но это на x86. На других архитектурах слово может быть другого размера. Это что-то вроде точки отсчёта, байт — он и в Африке байт, а вот слово уже растяжимое, можно сколько угодно ему байт приписать, и от этого будут тянуться другие размеры данных
Просто емнип word изначально подразумевалось под машинным словом для 8086, потом просто оставили как 2 байта и всё на этом. Ну а далее dword - двойное слово, т.к. word уже есть и писать qbyte нелогично.
Anonymous
байт не всегда 8бит.
Размер байта тоже можно поменять, но байт не больше слова
889
@jinxonik
Aiwan \ (•◡•) / _bot
То есть нет определенного стандарта и кто как захотел так и называл?
да не. 16 бит исторически тянется от 80186, 16 битный проц.
889
@disba1ancer
Anonymous
😄😄Поднимаем чат
Петя
да не. 16 бит исторически тянется от 80186, 16 битный проц.
Ну я и говорю, что у интела слово - 16 бит, у других по другому, возможно
Петя
Я к тому, что может быть по разному, нет единого стандарта
Aiwan \ (•◡•) / _bot
Я к тому, что может быть по разному, нет единого стандарта
кто первый того и тапки, интел для х86 были первыми. для других архитектур ищи соответствующую оитературу, я не знаю
disba1ancer
Anonymous
Так и думал, disbalancer только под вечер заходит, и начинает на все старые сообщения отвечать))
889
что?
Чему равно слово, в чём измеряются регистры в словах или байтах и может ли слово быть не 2 байта?
889
быть не 2 байта, конечно может
Хорошо, а если не 2 байта, то что тогда подразумевает под собой слово?
disba1ancer
Хорошо, а если не 2 байта, то что тогда подразумевает под собой слово?
чаще всего это "тип", если можно так выразится, которым машина наиболее эффективно оперирует, но не всегда
889
чаще всего это "тип", если можно так выразится, которым машина наиболее эффективно оперирует, но не всегда
Ну есть вот у нас x86 и x86_64, слово и там и там 2 байта, но очевидно, что наиболее эффективно они оперируют не 2 байтами, скорее даже наоборот, при обработке памяти по 2 байта эффективность падает
disba1ancer
Vladimir
".word" в gas 16 бит для x86 и 32 для arm. Вообще да, "слово" - машинозависимый термин, появившийся при царе Горохе, когда ещё не было мультирежимных CPU. Строго говоря у x86 "слово" должно зависеть от текущего режима (кстати, тут тоже сам черт ногу сломит, может же быть 32-битный код и 16-битный стек). "Байт" вроде сейчас стандартизован в 8 бит.
Victor
Привет всем, такой вопрос: как поместить в регистр определенное количество байт из строки?
Victor
В fasm/tasm
Aiwan \ (•◡•) / _bot
Привет всем, такой вопрос: как поместить в регистр определенное количество байт из строки?
лучше ответь на вопрос(ы). какой размер регистра, куда будешь помещать? и дай количественное определение "определенное количество байт"?
Aiwan \ (•◡•) / _bot
ну а если по сути - mov
Vladimir
Victor
Aiwan \ (•◡•) / _bot
mov al, byte [str+0]
Victor
Спасибо за фидбек, попробую все
Aiwan \ (•◡•) / _bot
или через lodsb в цикле по длине строки, как сказали выше
Victor
Ок
Aiwan \ (•◡•) / _bot
а тебе для чего это?
Victor
Бл, я пока выяснял как это сделать сам забыл
Victor
Пусть останется загадкой
Aiwan \ (•◡•) / _bot
да, с асмом такое бывает. пока думаешь как сделать что то, забываешь конечную цель
Victor
А, все, вспомнил, я хотел сделать процедуру для прямого выведения в видеобуфер строки
Aiwan \ (•◡•) / _bot
тогда rep movs будет лучше
Victor
Спасибо, приму к сведению
Петя
Ребята, я не понял зачем 2 чата нужно, этот и not_flood?
Aiwan \ (•◡•) / _bot
Ребята, я не понял зачем 2 чата нужно, этот и not_flood?
с такими вопросами тебе надо во второй
Петя
с такими вопросами тебе надо во второй
То есть здесь только по асм вопросы, а там по всему?
Aiwan \ (•◡•) / _bot
типа того
Петя
Ок
Aiwan \ (•◡•) / _bot
уф уф салам алейкум
Anonymous
Салам салам
­
уф уф салам алейкум
Чё там было то?
Aiwan \ (•◡•) / _bot
Чё там было то?
аватрака в виде секси бабы, ну как обычно. странно что ответила, обычно молчат
Aiwan \ (•◡•) / _bot
Ну, это и сыграло с ней.
ага, видимо по всем чатам прошлась.
jesus-2.6.tar.gz ☮︎
Привет. Ребята, где капча?)
Aiwan \ (•◡•) / _bot
Привет. Ребята, где капча?)
другой бот за тебя ее решил
jesus-2.6.tar.gz ☮︎
я здесь капча
Хех, понятно
­
Привет. Ребята, где капча?)
С какой целью интересуешься?
Eugene
@jinxonik
Что?
889
Что?
Чему равно слово? Если слово не от 80186 и не равно 2 байта, то что оно под собой подразумевает?
Vladimir
Ну вот человек написал, что 32 бита слово у арм, вот что оно означает? Почему 32 бита?
https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D1%81%D0%BB%D0%BE%D0%B2%D0%BE
Vladimir
"Для 32-битных процессоров архитектуры x86: исторически машинным словом считается 16 бит, реально — 32 бита." - исчерпывающее объяснение
Eugene
Чему равно слово? Если слово не от 80186 и не равно 2 байта, то что оно под собой подразумевает?
Ну, собственно, см. предыдущий ответ :) Вообще, для x86-64 размер слова (исторически) также 16 бит, см. картинку №1 из мана Intel. В манах ARM размер слова тоже указывается как 32 бита, независимо от архитектуры: AArch32 или AArch64 (см. картинки №№2 и 3) 🤷‍♂️
Eugene
Вообще, причины такого вполне понятны: нет путаницы в терминах. Если слово будет то 16 бит (8086), то 32 (80386), то 64 (Intel 64), чтение документации превратится в кошмар. Да и как называть инструкции, которые, скажем, преобразуют 32-битное значение в 64-битное? Вот есть cdq, а это было бы c3264 или c32to64? Не говоря уже о SIMD.
Vladimir
Вообще, причины такого вполне понятны: нет путаницы в терминах. Если слово будет то 16 бит (8086), то 32 (80386), то 64 (Intel 64), чтение документации превратится в кошмар. Да и как называть инструкции, которые, скажем, преобразуют 32-битное значение в 64-битное? Вот есть cdq, а это было бы c3264 или c32to64? Не говоря уже о SIMD.
Лучше бы вообще от неоднозначных терминов отказаться. Это как с типами C: изначально задумывались short, int, long (как раз с учётом "машинного слова") и константы типа MAXINT. Нынче, особенно в системном программировании на это благополучно забили и пользуют определённые u16/u32/u64/s16/s32/s64 + никуда без алиасинга типов в памяти. Когда разрабатывали Жабу уже в девяностых, это учли, и там short/int/long уже имеют определённую строго задокументированную длину 16/32/64, как и во всяких си-решётках.
usernameak
а где можно встретить архитектуру где чар не 8 бит?)
всякие экзотические непотребства
usernameak
но это обычно и не general-purpose архитектуры
usernameak
говорят что на некоторых DSP бывает CHAR_BIT == 16 или CHAR_BIT == 32
usernameak
но на них и софт специализированный крутится
Ask
оу, про дсп даже недумал)
Aiwan \ (•◡•) / _bot
упс
Vitaliy ◀️TriΔng3l▶️
extend32?
sign_extend_32_to_64
Vitaliy ◀️TriΔng3l▶️
можно sex вместо sign-extend, кому букв жалко
s54820
sign_extend_32_to_64
Это же не джава. sext32. А куда еще 32 расширять? В 128 пока некуда.