Сраный ассемблер.
ты смелый, сюда наверняка заглянули микроконтроллерщики, Watch ur back, buddy!..
Ассемблер не сраный. Для начала не ассемблер, а ассемблер'ы. Для каждой платформы он свой так как напрямую состав комманд и синтаксис зависят от платформы. Платформы и наборы комманд могут пересекатся. Т.е. один процессор может поддерживать как несколько наборов комманд, так и отдельно некоторые команды других платформ.
Главное исключение в его не популярности в том, что жизнь слишком коротка чтобы разрабатывать на ассемблере.
Главное исключение в его не популярности в том, что жизнь слишком коротка чтобы разрабатывать на ассемблере.
Есть серьезные места, где число операции это число характеристики, где меньше и быстрее и точнее и подробнее - лучше. Например в твоих руках. Отклик мышки, отклик ВР шлема, отклик в сетевой игре, обратная связь двигателя самолёта, данные состояния ядерного реактора...
Раз уж вышло на глангу то я прошу кепа подплыть к нам.
всякий высокоуровневый синтаксический сахар на самом деле просто обертка для более примитивных механизмов.
на самом деле с точки зрения низкоуровнего языка программирования (ассемблера) всё это - джампы
Или в случае рекурсии call/ret.
я исправил
Это же правда. Сами подумайте, зачем делать while is goto если можно его делать из jmp.
Может просто время суток такое, но я залип на одновременном использовании слов "is" и "из" в примерно похожем контексте.
тока не JMP, а JE, JNE, JZ, JNZ и т.д.
вот, держи, мне не пригодилось
любой цикл при компиляции сводится к ассемблерному предку GOTO - JMP
только всетаки условный переход
IF+GOTO = какие проблемы?
goto
if goto
goto
if goto
goto
ЖИВЕШЬ, КАК ИИСУС
@
ПИШЕШЬ КОД, КАК ИИСУС
@
ТЕХЛИД РАСПЯЛ ЕЩЕ ДО ОБЕДА
@
ПИШЕШЬ КОД, КАК ИИСУС
@
ТЕХЛИД РАСПЯЛ ЕЩЕ ДО ОБЕДА
ЖИВЕШЬ КАК ИИСУС
@
ЖИВЕШЬ КАК ИИСУС?
@
ЖИВЕШЬ КАК ИИСУС
@
ЖИВЕШЬ КАК ИИСУС?
@
ЖИВЕШЬ КАК ИИСУС
В этой шутке хоть и есть суть, но в ней нет юмора. Ну почти нет, она весьма вымучена. Над ней довольно сложно смеяться.
Больше стараний и практики и у тебя всё получится. Удачи!
Ну это очень поверхностный взгляд на циклы абсолютного профана.
Во-первых забыли do .. Until
Во-вторых забыли условный переход (сильно, как ни странно, отличается от безусловного goto) if
Следом забыли JL, JNL, JZ, JZ и т.п. и т.д.
Джаваскриптопидары необразованные, короче.
Во-первых забыли do .. Until
Во-вторых забыли условный переход (сильно, как ни странно, отличается от безусловного goto) if
Следом забыли JL, JNL, JZ, JZ и т.п. и т.д.
Джаваскриптопидары необразованные, короче.
Так тут смысл в том, что реализация идет от верхнего уровня, то низкого уровня=> куда тут пихать do .. Until ?
Обычно в цикле переход на следующую итерацию таки JMP, а вот выход - JZ/JE/JC/...
А в некоторых arm вообще есть brz/bre/brc/... которое только пропускает следующую инструкцию, а дальше идет jmp.
Следующим уровнем можно написать
MOV IP, addr
А дальше нужно углубляться в особенности микропрограммы процессора
А в некоторых arm вообще есть brz/bre/brc/... которое только пропускает следующую инструкцию, а дальше идет jmp.
Следующим уровнем можно написать
MOV IP, addr
А дальше нужно углубляться в особенности микропрограммы процессора
Ты перепутал с delay slot в мипсах. В армах почти в каждой команде битовая маска условного исполнения. Можно запись из регистра в регистр условной сделать, например. Условные переходы это безусловный переход с теми самыми битами условного исполнения.
Остуди свое траханье, это не тех. статья и не научная работа, это смИшная картинка из этих ваших тырнетов.
Хуйня какая-то, там должны быть команды условного перехода.
JMP же
JMP - команда безусловного перехода. В любом цикле где-нибудь должна быть команда условного перехода, чтобы его можно было прервать. JZ, JL, JB итп
каюсь, асм был очень и очень давно, 2 JZ GTE тебе в колесницу
Илюха, ты точно такой же комикс несколько месяцев назад постил.
Эволюция лени.
Использовался в ассемблере jmp и никого это не парило, но потом ребята подумали и мол прыгать указывая регистры это тупо и давайте придумаем метки для прыжка.
И так появились метки и goto в более высокоуровневых языках. Потом посмотрели ребята и сказали - прыгать в любую точку в коде (особенно вниз пропуская часть кода) это неправильно и надо за такое бить по рукам и придумали обертку в виде do...while, но как оказалось не очень удобно в определенном количестве итераций постоянно икрементить или дикрементить условие в блоке do.
И так сделали for в котором можно прописать заранее начальные условия и его шаг при итерации.
Ну а потом вообще обленились и придумали foreach ибо пускай коллекция данных сама решает где начало и когда остановится.
Использовался в ассемблере jmp и никого это не парило, но потом ребята подумали и мол прыгать указывая регистры это тупо и давайте придумаем метки для прыжка.
И так появились метки и goto в более высокоуровневых языках. Потом посмотрели ребята и сказали - прыгать в любую точку в коде (особенно вниз пропуская часть кода) это неправильно и надо за такое бить по рукам и придумали обертку в виде do...while, но как оказалось не очень удобно в определенном количестве итераций постоянно икрементить или дикрементить условие в блоке do.
И так сделали for в котором можно прописать заранее начальные условия и его шаг при итерации.
Ну а потом вообще обленились и придумали foreach ибо пускай коллекция данных сама решает где начало и когда остановится.
Чтобы написать коммент, необходимо залогиниться