Size: a a a

Ассемблер

2021 April 14

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
давай
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
лучше в ДРАКОН схему оформи, мож и косяк свой найдешь
источник

3I

33 Ivan in Ассемблер
Мы вводим один знак и проверяем минус это или число, если число переходим на метку vvod если минус устанавливаем значение переменной sign =1 и вводим еще один символ (все символы мы вводим в одну переменную вмещающую 1 символ) и после переходим  по метке vvod
В метке vvod мы переводим символ в число приплюсовываем к X1 (это переменная в которой будет все число полностью) и умножаем эту переменную на 10 потом вводим еще символ, если это не enter снова идем на метку vvod если enter идем дальше и делим все число на 10 чтоб небыло лишнего нуля в конце, потом смотрим или переменная знака ( sign) равна 1  если да то отнимаем от 0 число, если нет просто выходим
источник

3I

33 Ivan in Ассемблер
Извиняюсь за грамматику
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
"если это не ентер". пока ты не закончишь работу системной функции, нажав энтер, твой код не будет выполняться
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
ты не сможешь, по идее, добиться что пока отрабатывает код из системной памяти, ядро допустим, ты не можешь паралельно выполнять свой код из своей памяти
источник

3I

33 Ivan in Ассемблер
Тогда вопрос, почему с положительными числами этот принцип работает?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
а системная функция заканчивает работать когда ты нажмешь энтер, тем самым введенная строка помещается в твои данные, но это не точно, я не знаком с механикой работы сист функций в линуксе
источник

3I

33 Ivan in Ассемблер
Я заканчиваю работу системной функции сразу после ввода символа
источник

3I

33 Ivan in Ассемблер
И переменная куда я записываю символ вместит только единственное значение
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
тогда зачем нажимать энтер?
источник

3I

33 Ivan in Ассемблер
Потому что я зациклил ввод
источник

3I

33 Ivan in Ассемблер
И мне нужно как-то из него выйти
источник

3I

33 Ivan in Ассемблер
Я с каждым проходом ввожу по 1 символу
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
после каждого символа ты нажимаешь ентер?
источник

3I

33 Ivan in Ассемблер
Нет, консоли хватает и следующего символа
источник

3I

33 Ivan in Ассемблер
Потому что это уже больше чем один символ
источник

3I

33 Ivan in Ассемблер
А я могу ввести лишь один
источник

3I

33 Ivan in Ассемблер
Поэтому это означает что ввод символа закончен
источник

AM

Alexander Morozov in Ассемблер
Чтение из файла там. eax байт по адресу буфера.
источник