Запитання з тегом «assembly»

Питання програмування мови (асм). ОБОВ'ЯЗКОВО ТАКОЖ ТАКОЖ ТАГО з набором процесора та / або інструкцій, який ви використовуєте, а також з асемблером. ПОПЕРЕДЖЕННЯ. Для збірок .NET використовуйте замість тегу [.net-Assembly]. Для Java ASM використовуйте замість тегу [java-bytecode-asm].


3
Можлива помилка GCC при поверненні структури з функції
Я вважаю, що знайшов помилку в GCC під час впровадження програми PCG PRNG O'Neill. ( Початковий код у Провіднику компілятора Godbolt ) Після множення oldstateна MULTIPLIER(результат, збережений у rdi), GCC не додає цього результату INCREMENT, INCREMENTзамість цього, movabs'ing в rdx, який потім використовується як повернене значення rand32_ret.state Мінімальний приклад відтворення …
133 c  gcc  assembly  x86-64  compiler-bug 


15
Швидко знайдіть, чи є значення в масиві C?
У мене є вбудована програма із критичною часовою шкалою ISR, яка потребує повторення через масив розміром 256 (краще 1024, але 256 є мінімальним) і перевірити, чи відповідає значення вмісту масивів. boolБуде встановлено в це правда так. Мікроконтролер - це NXP LPC4357, ядро ​​ARM Cortex M4, а компілятором - GCC. Я …

3
Яке значення має "не тимчасовий" доступ до пам'яті у x86
Це дещо низьке питання. У складі x86 є дві інструкції SSE: MOVDQA xmmi, m128 і MOVNTDQA xmmi, m128 Керівництво для IA-32 Software Developer каже , що NT в MOVNTDQA означає Non-Temporal , і що в іншому випадку це те ж саме , як MOVDQA. Моє запитання: що означає Нетемпоральне ?
123 x86  sse  assembly 


5
Призначення регістрів ESI та EDI?
Яке власне призначення та використання регістрів EDI та ESI в асемблері? Я знаю, що вони використовуються для рядкових операцій для однієї речі. Чи може хтось також навести приклад?
119 assembly  x86 


3
Чому вказівки x86-64 на 32-бітних регістрах дорівнюють нулю верхній частині повного 64-розрядного регістра?
У x86-64 екскурсії по посібниках Intel я читав Мабуть, найдивовижніший факт полягає в тому, що така інструкція, як MOV EAX, EBXавтоматично нулює верхні 32 біти RAXрегістру. Документація Intel (3.4.1.1 регістри загального призначення в 64-бітному режимі в посібнику з базової архітектури), цитована в тому ж джерелі, говорить нам: 64-бітні операнди генерують …

8
`testl` eax проти eax?
Я намагаюся зрозуміти якусь збірку. Збірка наступна, мене цікавить testlрядок: 000319df 8b4508 movl 0x08(%ebp), %eax 000319e2 8b4004 movl 0x04(%eax), %eax 000319e5 85c0 testl %eax, %eax 000319e7 7407 je 0x000319f0 Я намагаюся зрозуміти цю точку testlміж %eaxі %eax? Я думаю, що специфіка цього коду не важлива, я просто намагаюся зрозуміти тест …

4
Для чого застосовуються директиви CFI у Gnu Assembler (GAS)?
Там , здається, директива .CFI після кожного рядка , а також є широкий varities цих напр., .cfi_startproc, І .cfi_endprocт.д .. більше тут . .file "temp.c" .text .globl main .type main, @function main: .LFB0: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 movq %rsp, %rbp .cfi_offset 6, -16 .cfi_def_cfa_register 6 movl $0, %eax leave …
118 assembly  gas 

9
Як переглянути збірку за кодом за допомогою Visual C ++?
Я читав ще одне питання, що стосується ефективності двох рядків коду, і ОП заявив, що він дивився на збірку за кодом, і обидві лінії були однакові в зборі. Відступ убік, як я міг переглянути код складання, створений при компіляції програми. Я використовую Visual C ++ від Microsoft, але я також …

20
Як я можу побудувати невелику операційну систему на старому настільному комп’ютері? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 4 роки тому . Удосконаліть це питання Це може бути марним, оскільки я знаю, що написання операційної системи …

6
Чому SSE скалярний sqrt (x) повільніше, ніж rsqrt (x) * x?
Я профілював частину нашої основної математики на Intel Core Duo, і, переглядаючи різні підходи до квадратного кореня, я помітив щось дивне: використовуючи скалярні операції SSE, швидше взяти зворотний квадратний корінь і помножити його щоб отримати sqrt, ніж це використовувати рідний опкорд sqrt! Я тестую його за допомогою циклу, наприклад: inline …


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.