185 похожих чатов

А, и самый главный вопрос пусть в программе будет следующий кусок

кода

xor eax, eax
loop1:
cmp eax, 1000000
je loop_end
; какой-то полезный код
inc eax
jmp loop1

логично, что комп зависнет, если это засунуть в исполняемую память и сделать туда jmp. как это обходят при распределении времени между процессами?

13 ответов

13 просмотров

в плане вопрос как работают прерывания от PIT?

Michael
да

у тебя аппаратное прерывание preempt-ит любой код текущий. который бежит на ядре, не важно завис он или нет. В этот момент на стек сохраняется минимальный контекст типа cs, ss, rip, rsp и далее происходит выполнение обработчика прерывания, который установлен ядром. В данном случае таймерного прерывания.

стоит ознакомиться с понятием "прерывание"

почему зависнет то?

Michael- Автор вопроса
ᛒ ᛖ ᚱ ᚲ ᚢ ᛊ ᛞ ᛖ ᚲ ᛖ ᚱ
почему зависнет то?

если никаких прерываний не делать

Не зависнет, досчитает свой цикл и перейдет на loop_end

Michael- Автор вопроса
ᛒ ᛖ ᚱ ᚲ ᚢ ᛊ ᛞ ᛖ ᚲ ᛖ ᚱ
Не зависнет, досчитает свой цикл и перейдет на loo...

какой-то полезный код это не всегда nop или inc edx я имел ввиду код с вложенными циклами, записью в видеопамять, ...

Michael
какой-то полезный код это не всегда nop или inc ed...

так какая разница в том, что ты в этой секции кода расположишь. Если там нет cli то любое прерывание прервёт операцию

Michael
какой-то полезный код это не всегда nop или inc ed...

Ты какое то свое трактование слова «зависнет» используешь. Он закончит цикл даже если будет писать в видеопамять.

Michael- Автор вопроса
ᛒ ᛖ ᚱ ᚲ ᚢ ᛊ ᛞ ᛖ ᚲ ᛖ ᚱ
Ты какое то свое трактование слова «зависнет» испо...

зависнет в данном случае - не даст проц. времени другим процессам вовремя

Michael- Автор вопроса
Mixail Frolov
так какая разница в том, что ты в этой секции кода...

это уже был не вопрос) но с первоначальным вопросом я уже разобрался. всем спс за ответы

Похожие вопросы

Обсуждают сегодня

Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
Гайз, кто-нибудь пробовал запустить probe-rs под камень, которого нет в probe-rs? Мб есть какой-нибудь пример у кого... Через target-gen попробовал сгенерировать chip-descript...
Максим Смирнов
2
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@sand_witch скорее к тебе вопрос, добавил в .cabal webdriver-w3c и вот такая ошибка от nix develop error: Package ‘script-monad-0.0.4’ in /nix/store/7vdxbra0kwbr0ys0kc5...
Fedor
5
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Карта сайта