1
ответ

Почему Windows 64 принимал решение потребовать, чтобы xmm6 и xmm7 были сохранены/восстановлены?

Почему Windows 64 принимал решение потребовать, чтобы xmm6 и xmm7 были сохранены/восстановлены? В Windows 32 Вы могли записать ассемблерные подпрограммы, которые ударили xmm0... xmm7. Но если Вы берете тот же самый ассемблерный код и работаете...
вопрос задан: 21 December 2008 08:52
0
ответов

Сколько регистров в 8086/8088?

Я прошел курс компьютерной архитектуры и понял, что процессор имеет 32 регистра по 32 бита каждый. Сейчас я изучаю курс компьютерной архитектуры, в котором я прочитал, что у 8086 всего 8 регистров. Но ...
вопрос задан: 17 October 2019 16:11
0
ответов

Что такое сохраненные регистры вызываемого и вызывающего абонента?

У меня возникли некоторые проблемы с пониманием разницы между сохраненными регистрами вызывающего и вызываемого абонентов и когда что использовать. Я использую MSP430 : procedure: mov.w # 0, R7 mov.w # 0, R6 add.w R6, R7 inc.w ...
вопрос задан: 7 May 2019 02:13
0
ответов

Как AX, AH, AL отображаются на EAX?

Мое понимание регистров x86 говорит, что к каждому регистру может обращаться весь 32-битный код, и он разбит на несколько доступных регистров. В этом примере EAX является 32-битным регистром, если ...
вопрос задан: 13 March 2019 15:38
0
ответов

Какова роль Регистра исходного индекса в приведенном ниже коде?

Я просматривал некоторый ассемблерный код, включающий регистры общего назначения в микропроцессоре 8086, я нашел следующий код. mov SI, 2000h mov [2000h], 230d mov [2002h], 25d mov ax, [2000h] mov bx, [...
вопрос задан: 17 January 2019 07:17
0
ответов

Почему инструкции x86-64 для 32-битных регистров обнуляют верхнюю часть полного 64-битного регистра?

В туре по руководствам Intel для x86-64 я прочитал. Возможно, самым удивительным фактом является то, что такая инструкция, как MOV EAX, EBX, автоматически обнуляет старшие 32 бита регистра RAX. Документация Интел...
вопрос задан: 1 August 2018 16:49
0
ответов

Как узнать, представляет ли двоичное целое число отрицательное число?

Я читаю текст на языке C. В сеансе «Отрицательные и положительные значения» автор упомянул несколько способов представления отрицательного числа в двоичной форме. Я все понял и был ...
вопрос задан: 21 April 2018 18:15
0
ответов

Как напечатать значения регистров в GDB?

Как мне напечатать значение% eax и% ebp? (gdb) p $ eax $ 1 = void
вопрос задан: 14 June 2017 23:30
0
ответов

Операция выборки ЦП TSC, особенно в многоядерной многопроцессорной среде

В мире Linux, чтобы получить таймер/часы с точностью до наносекунд, можно использовать: #include int foo() { временные характеристики; clock_gettime (CLOCK_REALTIME, & ts); //--snip-- ...
вопрос задан: 23 May 2017 12:01
0
ответов

Сколько регистров XMM доступно на процессоре x86 с поддержкой SSE?

Как узнать количество регистров XMM на процессоре с поддержкой SSE? На Intel X5550, например.
вопрос задан: 23 December 2016 14:25
0
ответов

Почему вы не можете установить указатель инструкции напрямую?

В статье Википедии об ассемблере x86 говорится, что "регистр IP не может быть доступен программисту напрямую". Напрямую - это значит с помощью таких инструкций, как mov и add. Почему нельзя? В чем причина ...
вопрос задан: 14 December 2016 14:59
0
ответов

Почему ARM имеет 16 регистров?

Почему ARM имеет только 16 регистров? Это идеальное число? Увеличивает ли расстояние между регистрами с большим количеством регистров время обработки / мощность?
вопрос задан: 3 September 2016 12:01
0
ответов

Что означает R в RAX, RBX, RCX, RDX, RSI, RDI, RBP, RSP?[дублировать]

Язык ассемблера x86 пришлось изменить, поскольку архитектура процессора x86 изменилась с 8-разрядной на 16-разрядную, 32-разрядную, а теперь и на 64-разрядную. Я знаю, что в 32-битном ассемблере регистрируют имена (EAX, EBX и т.д.), ...
вопрос задан: 12 June 2016 12:13
0
ответов

Регистры операционной системы ядра Linux

Являются ли регистры (, такие как eax, ebx, ecx, edx, esp, ebp и т. д. ), доступными в процессоре физически, или они являются местами виртуальной памяти с точки зрения зрения программирования?
вопрос задан: 22 February 2016 13:44
0
ответов

Сборка: Использование регистра сегмента данных (DS)

В настоящее время я изучаю сборку x86 для развлечения, мне нравится программирование микроконтроллеров, поэтому я знаком с сборкой. В настоящее время я все время искал ответ на этот вопрос ...
вопрос задан: 19 January 2016 23:13
0
ответов

Как получить доступ к контрольному регистру CR0, CR2, CR3 из программы? Получение неисправности сегментации

Я написал программу, которая пытается прочитать из системы управления и запись в управление. Программа компилирует нормально, но когда встроенная сборка должна быть выполнена, она производит неисправность сегментации ....
вопрос задан: 19 October 2015 19:16
0
ответов

- это пространство для резервирования стека, необходимого для функций менее четырех аргументов?

Просто начал изучать сборку X64, и у меня есть вопрос о функциях, аргументах и ​​стеке. Насколько я понимаю, первые четыре аргумента в функции передаются на RCX, RDX, R8 и ...
вопрос задан: 16 October 2015 02:48
0
ответов

Счетчик программ и регистр команд

Программный счетчик содержит адрес инструкции, которая должна быть выполнена следующим, в то время как регистр команд содержит фактическую команду, которая должна быть выполнена. один из них не будет достаточно? И что это ...
вопрос задан: 9 October 2015 06:28
0
ответов

Установите значения регистра ЦП при отладке управляемого приложения в Visual Studio

Я отлаживаю приложение.NET в RC Visual Studio 2010 с помощью представления дизассемблирования. Код оптимизирован и редактор JIT. В конкретной точке я должен изменить флаг ZR CPU так, чтобы инструкция JNE...
вопрос задан: 2 April 2015 23:30
0
ответов

Перемещение в регистры с плавающей запятой -вместо стека

У меня есть функция, которая должна быть максимально быстрой, и она использует только целочисленные операции. Он работает на архитектуре AMD64, и мне нужно сделать несколько push/pop, чтобы было достаточно регистров для...
вопрос задан: 14 July 2012 16:01
0
ответов

Для чего предназначен регистр «FS»/«GS»?

Итак, я знаю, какими должны быть следующие регистры и их использование: CS = Сегмент кода (используется для IP) DS = сегмент данных (используется для MOV) ES = Сегмент назначения (используется для MOVS и т. д.) SS = стек ...
вопрос задан: 30 May 2012 04:57
0
ответов

Если регистры такие невероятно быстрые, почему у нас их не стало больше?

В 32-битной версии у нас было 8 регистров общего назначения. С 64-битной версией количество удваивается, но, кажется, не зависит от самого 64-битного изменения. регистры. С 64-битной версией количество удваивается, но, кажется, не зависит от самого 64-би
вопрос задан: 1 May 2012 06:09
0
ответов

Как мне прочитать значение всех регистров с помощью gdb?

Я отлаживаю программу на языке C на ассемблере, чтобы понять, как работает компилятор gcc. Я хочу прочитать свой сегментный регистр $fs, поэтому я использую x/x $fs, однако он говорит мне, что не может получить доступ к памяти. Как я могу получить...
вопрос задан: 26 April 2012 00:02
0
ответов

Счетчик программ?

Если я правильно это понимаю, счетчик программ указывает на адрес инструкции, которая должна быть выполнена, и в большинстве случаев вы добавляете четыре к счетчику программ, чтобы перейти к следующей инструкции...
вопрос задан: 11 April 2012 12:04
0
ответов

Как eax может хранить возвращаемое значение, размер которого превышает 4 байта?

EAX используется для хранения возвращаемого значения функции на 32-битной платформе, мне просто интересно, если размер возвращаемого значения функции превышает 4 байта, как EAX обрабатывает это? В этом случае ОС может сохранить ...
вопрос задан: 20 March 2012 10:16
0
ответов

Какое состояние регистров по умолчанию при запуске программы (asm, linux)?

Когда программа запускается (linux, elf) - есть ли нули в eax, ebx и т.д. или там может быть что угодно (я не делаю никаких вызовов и не использую внешние библиотеки)? На моей машине это действительно так, могу ли я передать ...
вопрос задан: 5 February 2012 07:06
0
ответов

Оптимизация используемых регистров при использовании встроенной сборки ARM в GCC

Я хочу написать некоторую встроенную сборку ARM в свой код на C. Для этого кода мне нужно использовать регистр или два больше, чем только те, которые объявлены как входы и выходы функции. Я знаю, как использовать ...
вопрос задан: 4 January 2012 00:42
0
ответов

Регистр обновления памяти Z80

Я снова задаю еще один безобидный вопрос о Z80 :-) То, как в настоящее время структурировано ядро ​​моего эмулятора, я увеличивая младшие 7 бит регистра обновления памяти каждый раз, когда байт кода операции ...
вопрос задан: 16 December 2011 21:44
0
ответов

регистры esp и ebp

Я сейчас изучаю ассемблер для процессоров Intel. Поскольку стек "растет вниз", почему мы должны добавлять для доступа к определенному элементу [ebp + 8] ;; Это даст доступ к первому параметру, который я знаю ...
вопрос задан: 2 December 2011 20:02
0
ответов

Что означают ds: si и es: di в сборке?

Инструкция movsb (перемещение строки, байтов) выбирает байт по адресу ds: si, сохраняет его по адресу es: di, а затем увеличивает или уменьшает si и di регистрируются по одному. Я знаю esi, si и edi, ...
вопрос задан: 1 November 2011 01:27