Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаются все вопросы, связанные с программированием на Ассемблере как общего так и конкретного характера.
 
важное примечание
для тех кто считает, что здесь место халявных исполнений курсовых и лабораторных работ.
тут обычно помогают тем, кто сам хоть что-то пытается понять и сделать, но что-то не понимает, что-то не получается...
ведь ассемблер изучают и задачки на нём дают обычно не менеджерам по продажам и даже не всем физ.-мат. специальностям
вы сами избрали этот путь? вот и идите по нему сами, ножками... с ручками и с головой...
 
короче, тут не сборище придурков-альтруистов, которым нечего делать и они ждут-не дождутся когда вы их попросите
что-то сделать _за_ вас
если позарез надо и вы даже готовы заплатить, тогда вам сюда
удачи
 
некоторые ресурсы
http://www.wasm.ru/ Самый популярный русскоязычный ресурс. https://wasm.in/
Ассемблер - книги (ASM, Assembler)
 
Просьба все большие листинги оформлять тегом more.
 
если вам вдруг не отвечают или ответ вас не устраивает
и вообще полезно прочитать всем спрашивающим

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:42 29-11-2006 | Исправлено: akaGM, 17:44 11-06-2020
MBK2

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Prober

Цитата:
32-bit operands generate a 32-bit result, zero-extended to a 64-bit result in the destination general-purpose register.

Хитро, и вправду не знал! Но ведь это... скорее баг, чем фича?

Всего записей: 4576 | Зарегистр. 18-09-2018 | Отправлено: 10:55 16-09-2023
ne_viens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Чем короче код, тем больше вероятность, что он целиком попадёт в строку (64 байта) кеша инструкций L1.
И amd64 (или х86_64) это расширение х86 архитектуры, а не чистая 64 битная.
Там xor eax, eax; реально xor eax, eax; and rax, 0xffffffff;
mov eax, ebx; в действительности movzx rax, ebx; итд.
 

Цитата:
а что по тикам?

Они одинаковые, верхние 4 байта обнуляются железно, а не дополнителной  and rax, 0xffffffff;
 
 
Добавлено:

Цитата:
...скорее баг, чем фича?

 
Фича. При 32бит вычислениях таким образом удаляются зависимости от предыдущих инструкций, и тогда вычисления можно распаралелить на конвейере.

Всего записей: 1530 | Зарегистр. 01-11-2004 | Отправлено: 11:06 16-09-2023
MERCURY127



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вообще, это довольно идиотское поведение процессора. фактически, я не могу без бубна оперировать младшими 32 битами Rxx без обнуления старших.

Всего записей: 11564 | Зарегистр. 03-08-2008 | Отправлено: 11:19 16-09-2023
MBK2

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну xor al,al обнуляет младшие 8; xor ax,ax обнуляет младшие 16; xor eax,eax ... ТАДАМ! - внезапно обнуляет все.  
Не говоря уже о том, что интел, выходит, зачем то запилил две лишние инструкции, идентичные xor eax,eax по действию

Всего записей: 4576 | Зарегистр. 18-09-2018 | Отправлено: 11:28 16-09-2023
ferrium

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я не знаю куда написать этот пост. Если не в тему, прошу переместите или удалите. Уже стар, полтос. В прикладном понимании, опытный юзер ПК с 1988 года. Знаю все основные компоненты ПК и для чего они предназначены, как их выбирать, устанавливать, ставить программы... Опыт программирования с Бейсика - основы, Турбо Паскаль - тоже основы, элементарные программки для вычислений чего-либо.
 
Моё внутреннее "я", ненавидит себя за то, что так и не стало понимать как работает ПК. Ежедневно чувствую что приближаюсь к старости и меня не оставляет надежда, что я смогу вникнуть в то, как всё устроено. Я не силен в физике и математике, хотя в универе и была 2 годичная вышмат и физика...
 
Мне нужно понять на микроуровне доступным языком как происходит включение компьютера и подробный алгоритм до загрузки операционной системы. Понимаю, что нужна книга по Архитектуре ЭВМ. Но их такое огромное количество, что я не могу выбрать. Поэтому прошу людей разбирающихся в Ассемблере дать советы, какие книги можно и нужно прочесть чтобы наконец понять КАК организован запуск компьютера, что получает электрический сигнал первым, как начинается запуск BIOS или UEFI, устройство процессора и принципы его функционирования, устройство памяти... Естественно я не зря выбрал ветку про Ассемблер. Хочется начать с этого языка... ведь именно он ближе машине и одновременно доступен человеку...
 
P.S. Спасибо. Писал на одном дыхании, возможно много воды, но я искреннен.

Всего записей: 49 | Зарегистр. 25-06-2005 | Отправлено: 16:22 16-09-2023
MBK2

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ferrium

Цитата:
 Уже стар, полтос.  

Да бросьте, какие наши годы, жизнь только начинается!

Цитата:
Мне нужно понять на микроуровне доступным языком как происходит включение компьютера и подробный алгоритм до загрузки операционной системы.  


Цитата:
 
— Высочайшее достижение нейтронной мегалоплазмы! — провозгласил он. — ротор поля наподобие дивергенции градуирует себя вдоль спина и там, внутре, обращает материю вопроса в спиритуальные электрические вихри, из коих и возникает синекдоха отвечания...
 


Всего записей: 4576 | Зарегистр. 18-09-2018 | Отправлено: 17:41 16-09-2023
MERCURY127



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ferrium, Забей и залей поллитрой. Как работают СОВРЕМЕННЫЕ компы - уже не знает никто, а как они работали 30 лет назад (о чем и было большинство книжек про “архитектуру ПК”) - уже никому не нужно.

Всего записей: 11564 | Зарегистр. 03-08-2008 | Отправлено: 17:41 16-09-2023 | Исправлено: MERCURY127, 17:42 16-09-2023
useretail



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ferrium

Цитата:
я не зря выбрал ветку про Ассемблер. Хочется начать с этого языка... ведь именно он ближе машине и одновременно доступен человеку

оффтоп конечно: https://libgen.is/book/index.php?md5=51A96279372F192BCB0DB93F0E2377AE

----------
Зло приносят не великие люди, а ничтожества, которые пытаются быть великими.
Джон Фаулз

Всего записей: 4640 | Зарегистр. 14-09-2007 | Отправлено: 17:44 16-09-2023
MBK2

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
https://cracklab.team/index.php?threads/987/

Всего записей: 4576 | Зарегистр. 18-09-2018 | Отправлено: 18:07 16-09-2023
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ferrium
 
давай я задам тебе один вопрос, но ответишь ты на него (если ответишь) уже в нашей флудильне.
 
а зачем тебе всё это?
 
у меня есть соображения на этот счёт, но пока я воздержусь от их высказывания.
отмечу только одно: ни ассемблер, ни программирование вообще не имеет никакого отношения ни к процессу загрузки ни к функционированию компьютера.
и за знаниями такого рода лучше обращаться к электронщикам и знатокам операционок и микрокода CMOS BIOS.

Всего записей: 24120 | Зарегистр. 06-12-2002 | Отправлено: 01:02 17-09-2023 | Исправлено: akaGM, 08:26 17-09-2023
shaverdoff



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ребяты привет, может быть есть у кого образ дискетки с исходниками книжки Самоучитель Ассемблер А86, Андрея Жукова?

Всего записей: 5 | Зарегистр. 12-04-2007 | Отправлено: 15:59 02-12-2023
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shaverdoff
 
http://library.lol/main/B479074A2D74F6730B457B512E729016

Всего записей: 24120 | Зарегистр. 06-12-2002 | Отправлено: 18:44 07-12-2023
adsllinkact



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как расшифровываются условные переходы?

Код:
ja  беззнаковый  операнд1>операнд2  
jae  беззнаковый  операнд1>=операнд2  
jb  беззнаковый  операнд1<операнд2  
jbe  беззнаковый  операнд1<=операнд2  
je  любой  операнд1=операнд2  
jg  знаковый  операнд1>операнд2  
jge знаковый  операнд1>=операнд2  
jl  знаковый  операнд1<операнд2  
jle  знаковый  операнд1<=операнд2  
jna  беззнаковый  то же что и jbe  
jnae  беззнаковый  то же что и jb  
jnb  беззнаковый  то же что и jae  
jnbe  беззнаковый  то же что и ja  
jne  любой  операнд1<>операнд2  
jng  знаковый  то же что и jle  
jnge  знаковый  то же что и jl  
jnl  знаковый  то же что и jge  
jnle знаковый  то же что и jg
...

j = jump = переход  
n = not = не
e = equals = равно
a = above = больше
b = below = меньше
...?
 
Добавлено:
Случайно нашёл:
https://en.wikipedia.org/wiki/Branch_(computer_science)

Всего записей: 179 | Зарегистр. 20-11-2013 | Отправлено: 01:54 11-02-2024 | Исправлено: adsllinkact, 02:05 11-02-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
adsllinkact
 
а зачем тебе,
сочинение пишешь ? :)

Всего записей: 24120 | Зарегистр. 06-12-2002 | Отправлено: 09:26 15-02-2024
MBK2

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
jnae


Цитата:
jnbe


Цитата:
jnge


Цитата:
jnle

Однако, фантазия у вас по части мнемоники!
Предлагаю еще сильнее расширить спектр: jnne=je,  jnnb=jb...
С другой стороны, а где js, jo, например?

Всего записей: 4576 | Зарегистр. 18-09-2018 | Отправлено: 11:45 15-02-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ага...

Цитата:
jnbe
jump not bed

Цитата:
jnl
jump not loh

Всего записей: 24120 | Зарегистр. 06-12-2002 | Отправлено: 14:02 15-02-2024
adsllinkact



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Что бы запомнить, а то я путаюсь в этих аббревиатурах.
Было бы оно по простому написано, например:

Код:
? al,bl
j>=
j==
j!=

 
MBK2
Это не моя фантазия, а из книги Норсеева Сергея - Разработка оконных приложений на FASMе:
http://old-dos.ru/books/7/f/5/WindowApplicationFasm.pdf
Страница 40.

Всего записей: 179 | Зарегистр. 20-11-2013 | Отправлено: 00:31 11-03-2024 | Исправлено: adsllinkact, 00:39 11-03-2024
MBK2

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
adsllinkact
Это вы еще ARMовский ассемблер не видели...

Всего записей: 4576 | Зарегистр. 18-09-2018 | Отправлено: 03:17 11-03-2024
JFK2005



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
adsllinkact
А что не так с мнемониками? Это же базовый английский.
 
Jump if Not Below or Equals. Просто и понятно.
 
Вот в машинных кодах программировать - это было ещё то занятие, я вам скажу.

Всего записей: 2060 | Зарегистр. 26-10-2005 | Отправлено: 08:19 11-03-2024
MBK2

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
JFK2005
Была такая байка, что лет сорок назад настоящий программист, если его разбудить среди ночи, мог по телефону на память продиктовать текст загрузчика в машинных кодах.
А программировать в кодах иногда и сейчас приходится, причем, на разной экзотике

Всего записей: 4576 | Зарегистр. 18-09-2018 | Отправлено: 09:43 11-03-2024
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru