Харитон
.686 .model flat, stdcall option casemap :none .nolist include \masm32\include\masm32rt.inc .list .data aszPromptA db "Enter a A number: ", 0 aszPromptB db "Enter a B number: ", 0 aszInt db "%i", 0 .data? A dd ? B dd ? R dd ? .code main proc printf(ADDR aszPromptA) invoke crt_scanf, ADDR aszInt, ADDR A printf(ADDR aszPromptB) invoke crt_scanf, ADDR aszInt, ADDR B mov eax, [A] .if eax > B add eax, [B] .else sub eax, [B] .endif mov [R], eax printf("Result: %i\n", [R]) ;завершение программы invoke crt__getch invoke ExitProcess, 0 main endp end main Что думете работает ?
Aiwan \ (•◡•) / _bot
@SkOYT
Харитон
Я просто друга попросил
Aiwan \ (•◡•) / _bot
Я просто друга попросил
тоесть сам код ты не знаешь как работает? я просто хотел уточнить какое сравнение идет в ифе
Харитон
Вот есть кое что по проще
Харитон
Харитон
Этот код работает
Харитон
Харитон
Здесь есть небольшой косяк (числа надо поменять и тогда будет работать )
Ask
radasm🥰... чувак, это самый примитив, напряги хоть чутьчуть мозги и почитай про команды ассемблера и примеры использования хотяб.
Mark
.686 .model flat, stdcall option casemap :none .nolist include \masm32\include\masm32rt.inc .list .data aszPromptA db "Enter a A number: ", 0 aszPromptB db "Enter a B number: ", 0 aszInt db "%i", 0 .data? A dd ? B dd ? R dd ? .code main proc printf(ADDR aszPromptA) invoke crt_scanf, ADDR aszInt, ADDR A printf(ADDR aszPromptB) invoke crt_scanf, ADDR aszInt, ADDR B mov eax, [A] .if eax > B add eax, [B] .else sub eax, [B] .endif mov [R], eax printf("Result: %i\n", [R]) ;завершение программы invoke crt__getch invoke ExitProcess, 0 main endp end main Что думете работает ?
x86asm .686 .model flat, stdcall option casemap :none .nolist include \masm32\include\masm32rt.inc .list .data aszPromptA db "Enter a A number: ", 0 aszPromptB db "Enter a B number: ", 0 aszInt db "%i", 0 .data? A dd ? B dd ? R dd ? .code main proc printf(ADDR aszPromptA) invoke crt_scanf, ADDR aszInt, ADDR A printf(ADDR aszPromptB) invoke crt_scanf, ADDR aszInt, ADDR B mov eax, [A] .if eax > B add eax, [B] .else sub eax, [B] .endif mov [R], eax printf("Result: %i\n", [R]) ;завершение программы invoke crt__getch invoke ExitProcess, 0 main endp end main
Mark
Жаль правда что еще нормальной подсветки синтаксиса как в дискорде, нету.
Mark
Ask
а все компиляторы понимают конструкцию .if eax > B ?
Aiwan \ (•◡•) / _bot
а все компиляторы понимают конструкцию .if eax > B ?
многие, где то это на макросах сделано, а где то часть синтаксиса, но суть одга и таже
Ask
хы, думал магия масма только
Aiwan \ (•◡•) / _bot
не магия, а холодный расчет
User
Писос
Ilyxa
Сильно
Dan
1) у вас ссылка устарела 2) мне как ни разу не спамившему надо рассказ писать?
1) ссылка не устарела, всё работает 2) всем было бы интересно узнать о тебе чуть больше
Glo
1) ссылка не устарела, всё работает 2) всем было бы интересно узнать о тебе чуть больше
1) значит это телеграм козлит 2) говорить особо нечего, вступил в чат дабы когда появится время заняться изучением асма
Glo
А чем тебя асм привлекает? Для какой цели ты хочешь изучить его?
во-первых просто интерес к тому, как кучка информации перерастает понемногу во что-то осмысленное, во-вторых у меня цель по жизни - либо создать технологию полного погружения, либо приложить руку к процессу ее создания. смею предположить, что здесь знание низкоуровневых языков как минимум не помешает
Master Mentor
Привет, френды!
Дмитрий
Здравствуй
Eugene
Тут к общению должна присоединиться Юлия Херст (или как её там) 😁
Lesi
Где можно почитать про идентификацию процессора? (CPUID ).
Sana
Где можно почитать про идентификацию процессора? (CPUID ).
Нашла только на этом форуме - https://codeby.net/threads/cpuid-identifikacija-processora.78279/
Aiwan \ (•◡•) / _bot
что то с этими акками не так. обе девки, после вопроса первой зашла вторая и ответила. совпадение? не думаю. наверное твинки
Aiwan \ (•◡•) / _bot
@IvUyr хотелось бы проверить, уж слишком умные для девушек. а здесь пока надо RO
Дмитрий
Доброго дня
Дмитрий
сишники посоветовали обратиться к вам
Дмитрий
подскажите что происходит в этой строке и что за структура используется в cl->reader https://github.com/oscam-emu/oscam-patched/blob/master/module-camd35.c#L755
User
всем привет вопрос в блок схеме можно ли указывать формулы
Eugene
Интересно, когда здесь начнут задавать вопросы о кулинарных рецептах?
Eugene
всем привет вопрос в блок схеме можно ли указывать формулы
Можно, я разрешаю :) Почему нет-то? Ну или, может, стоит спросить об этом препода или сокурсников?
­
User
А как пельмени отварить ?
­
А как пельмени отварить ?
День мута ты уже себе обеспечил. Придёшь ныть в личку - увеличу до недели.
Master Mentor
всем привет вопрос в блок схеме можно ли указывать формулы
Кстати нормальный вопрос. Чел всего лишь иносказательно справшивает а "может ли быть формула (составная конструкция) атомарной"? - ответ да, может, в узлах блок-схемы можно указывать формулы.
Paul'
Привет, почему в регистре EAX муссорное значение ? .686 .model flat, stdcall option casemap:none include C:\masm32\include\kernel32.inc includelib C:\masm32\lib\kernel32.lib include C:\masm32\include\masm32rt.inc .data HelloW db "Hello World %d", 0 .code start: ; print matrix1 mov eax, 0 mov cx, 6 RowLoopPRINT1: add eax, 1 loop RowLoopPRINT1 invoke crt_printf, offset HelloW, eax exit end start
Aiwan \ (•◡•) / _bot
скинь бинарник
Aiwan \ (•◡•) / _bot
возможно offset в макросе (в конструкции снтаксиса) превращается в lea eax,[HelloW]. но не точно
Aiwan \ (•◡•) / _bot
сделай без invoke и все будет норм
Paul'
спасибо 🥰
Aiwan \ (•◡•) / _bot
так почему же eax портится?
Paul'
так почему же eax портится?
там даже не еах портился а cx
Aiwan \ (•◡•) / _bot
ты выводишь eax. причем здесь ecx?
Paul'
ты выводишь eax. причем здесь ecx?
я пробовал делать RowLoopPRINT1: add eax, 1 invoke crt_printf, offset HelloW, ecx loop RowLoopPRINT1
Paul'
👆
не знаю
Aiwan \ (•◡•) / _bot
Paul'
👆
1 минуту виртуалку запускаю
Aiwan \ (•◡•) / _bot
ты линуксоид и изучаешь masm32?
Paul'
ты линуксоид и изучаешь masm32?
у меня м1 и в универе у нас масм32. Я изначально спросил в учителя можно ли на Gas потому что есть проблеми с виндовсом и он сказал нет только масм
Aiwan \ (•◡•) / _bot
бинарник это exe, исполняемый файл
Aiwan \ (•◡•) / _bot
понял. все дело в цикде loop
Aiwan \ (•◡•) / _bot
в качестве счетчика он использует ecx, а не cx. вот и считает до посинения пока в ноль не сбросится ECX, а ты присваешь 6 только первым 2м байтам, в старших уже есть значение
Aiwan \ (•◡•) / _bot
либо поменяй на ecx счетчик, либо используй loopw - w это word, 2 байта, тоесть будет использоваться тогда сх
Paul'
еще раз спасибо!
Aiwan \ (•◡•) / _bot
Denis
Привет. Помогите пожалуйста. Задача: Вывести на экран символ * столько раз, сколько укажет пользователь (в диапазоне от 0 до 65535)
Denis
8086
Aiwan \ (•◡•) / _bot
все сводится к выводу n-го количества раз * в цикле. сделай вывод 5 раз для начала, а потом дорабатывай код с учетом ввода пользователя
Баир
Наверное, самый частый вопрос: как вывести строку посимвольно?)
Aiwan \ (•◡•) / _bot
Наверное, самый частый вопрос: как вывести строку посимвольно?)
нет, очень редкий. обычно люди еще уточняют всю подноготную своего кода