Невероятно крутой человек. На ютубе полно всякой информации, но реально полезную и трудную для понимания показывают только невероятно крутые люди.
@limoshkamilk98872 ай бұрын
Спасибо Вам, канал "офигенный" вы просто молодцы, так совершенно доносить информацию. Ваша работа бесценна, желаю развития и реализации любых Ваших проектов❤❤❤
@nanoqsh3 жыл бұрын
Ассемблер полезная штука, можно читать скомпилированный код и смотреть как компилятор его оптимизировал
@sl17rider3 жыл бұрын
Коммент в поддержку канала! :)
@Uni-Coder3 жыл бұрын
Спасиб!
@vic78712 жыл бұрын
Спасибо!
@magadan46262 жыл бұрын
Можете объяснить? Вот есть система команд и есть инструкции, есть регистр команд, который говорит процессору, какую инструкцию выполнять.... Инструкции и команды - это одно и тоже? Почему в контексте процессоров они упоминаются одновременно?
@Uni-Coder2 жыл бұрын
Да, это одно и то же. Упоминаю оба термина, потому что в русскоязычной литературе/видео/лекциях и т.д. тоже упоминаются оба термина.
@wizard_still27 күн бұрын
Получается регистры хранят команды процессору? Просто везде пишут что там хранятся промежуточные вычисления. Не очень ясно как в 64 битах регистра обрабатываются гигабайты данных, когда работает программа. Получается что в регистрах вычисления не производятся? Те регистры как дирижёр ддя процессора?
@Uni-Coder27 күн бұрын
Нет, команды процессору хранятся в оперативной памяти. В регистрах лежат данные. Ну, и в оперативной памяти тоже данные лежат, там и данные, и команды
@Krylowandrey5 ай бұрын
Можно ли где ни будь посмотреть весь процесс сложения 2х чисел на уровне физических процессов ( напряжение, сопративлений, сила тока и т.п.)?
@ДанилЧисняков4 ай бұрын
если такое интересно, то тут нужно идти изучать цифровую схемотехнику. Где описано из какой элементной базы создаются сумматоры, зная элементую базу можно узнать какие там сопротивления и токи.
@PianoElipse2 жыл бұрын
хаха а я писал такую инструкцию, которая указана на preview. По факту это просто умножение числа в 4 раза (shl eax, 2)
@stepanshnder1850 Жыл бұрын
Слушай я вот что не понял. Допустим в АЛУ процессора идет комбинация вентилей И например: 1010. Так вот, каждая следующая логическая операция идет после прежней, но при этом не записывает данные предыдущей. Вот как тогда процессор понимает что именно комбинация 1010 произошла и должна быть записана в регистр???? Ведь там нет шины которая передает данные в регистр отдельно
@Uni-Coder Жыл бұрын
Ну, дружище, это уже схемотехника, а у меня канал про программирование. Я уж так в общих чертах объяснил про устройство процессоров, чтобы программисты понимали, и регистры, которые доступны программным способом через машинные инструкции. А глубже копаться - это уже дело электроники и схемотехники. Я думаю, там должны быть какие-то промежуточные регистры, которые защёлкивают данные первой операции, чтобы потом отправить их во вторую операцию. Просто эти регистры программно недоступны, нет ассемблерных команд для их чтения/записи. Ну если я правильно понял вопрос.
@stepanshnder1850 Жыл бұрын
@@Uni-Coder я спросил у чат гпт. Насколько я понял, то комбинация И логических операций в конце такта записывается в виде опкода в регистр, то есть процессор не знает какие отдельные биты использовались в прошлой логической операций. Спасибо за ответ конечно. Сам изучаю c++, интересно просто
@Ra.03 Жыл бұрын
Кто знает !!!! Подскажите как называется это - умение из любого процессора телефона умной кофеварки или любой фигни в которой есть процессор написать программу и сделать из любой хрени устройство которое будет делать то что ты ему сказал ну по возможностям устройства??????? А главное как этому научиться ???
@Uni-Coder Жыл бұрын
Программирование микроконтроллеров. Alex Guyver, например, этим занимается. А программирование телефонов - это отдельная тема
@РашидМинуллин Жыл бұрын
Коасавчик
@Uni-Coder2 жыл бұрын
Плейлист Универсальный программист: kzbin.info/aero/PL5m-8QEDhBYvE5EDQl9p5jFabkiMu--ei Плейлист Реальный код: kzbin.info/aero/PL5m-8QEDhBYsl0OEDVg0vX727Sfe0fS_3 Вы можете помочь развитию канала, подписавшись на Patreon: www.patreon.com/unicoder или Boosty: boosty.to/unicoder или переведя любую сумму на карту: 5536 9140 0276 0019 или Bitcoin: 3Cb8Jb8cZNeiMx1saUPfb2JxBwQRYYbuGF Также смотрите меня в Дзене: dzen.ru/unicoder
@mangoost112 ай бұрын
Ребята Так это же ассемблер а я-то думал....😂😂😂
@barabucho3 жыл бұрын
Очень много гемора,для писанины под х86 на asm,еще не беря во внимание всячиские замороченные оптимизации.
@Uni-Coder3 жыл бұрын
Да уж, так себе занятие
@TheKirk1989 Жыл бұрын
ты просто навалил кучу инфы мне на голову, и наверное никогда не слышал про то, что такое декомпозиция... Вангую, через некоторое время ты выпустишь ролик с++ и js за час
@steppeez2 жыл бұрын
10:36 ) for example: ADR R6, #4 ------------------------ 10100110 00000001 ------------------------ ARM Architecture Reference Manual ADR Address to Register adds an immediate value to the PC value, and writes the result to the destination register. (executed code adds an immediate value to the PC value, and writes the result to the destination register) Encodings T1 ADR , -------------------------------------------- 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 0 1 0 0 Rd imm8 -------------------------------------------- T2 ADR.W , before current instruction SUB ,PC,#0 Special case for zero offset --------------------------------------------------------------------------- 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 1 1 1 0 i 1 0 1 0 1 0 1 1 1 1 0 imm3 Rd imm8 --------------------------------------------------------------------------- T3 ADR.W , after current instruction --------------------------------------------------------------------------- 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 1 1 1 0 i 1 0 0 0 0 0 1 1 1 1 0 imm3 Rd imm8 --------------------------------------------------------------------------- d = UInt(Rd); imm32 = ZeroExtend(i:imm3:imm8, 32); add = TRUE; if BadReg(d) then UNPREDICTABLE; Architecture versions Encodings T1 All versions of the Thumb instruction set. Encodings T2, T3 All versions of the Thumb instruction set from Thumb-2 onwards. Assembler syntax where: See Standard assembler syntax fields on page 4-6. Specifies the destination register. Specifies the label of an instruction or literal data item whose address is to be loaded into . The assembler calculates the required value of the offset from the Align(PC,4) value of the ADR instruction to this label. If the offset is positive, encodings T1 and T3 are permitted with imm32 equal to the offset. Allowed values of the offset are multiples of four in the range 0 to 1020 for encoding T1 and any value in the range 0 to 4095 for encoding T3. If the offset is negative, encoding T2 is permitted with imm32 equal to minus the offset. Allowed values of the offset are -4095 to -1. In the alternative syntax forms: Specifies the offset value for the ADD form and minus the offset value for the SUB form. Allowed values are multiples of four in the range 0 to 1020 for encoding T1 and any value in the range 0 to 4095 for encodings T2 and T3. Note It is recommended that the alternative syntax forms are avoided where possible. However, the only possible syntax for encoding T2 with all immediate bits zero is SUB ,PC,#0. Operation if ConditionPassed() then EncodingSpecificOperations(); base = Align(PC, 4); // Word-aligned PC R[d] = if add then (base + imm32) else (base - imm32); Exceptions None.