 |
::
Меню :: |
 |
|
|
 |
::
Друзі :: |
 |
|
|
 |
::
Лічильники :: |
 |
|
|
|
Допоможіть вирішити задачу на асемблері
Наталія Терешкова
Допоможіть вирішити задачу на асемблері
Завдання: Задано два слова. Поміняти місцями їх значення
Відповіді:
Tester
a, b = "aa", "bb" a = b, b = a
Def
Асемблер для якої машини та якої розрядності? Під "словом" мається на увазі машинні слова чи символьні рядки? Для 32-бітної x86 архітектури, інлайновий асемблер Visual C++ 2022, обмінює два машинні слова (word) у змінних функціях. (квадратні дужки інлайнового асемблера не розіменовують адресу сишних змінних, тому через регістри) #include void xchange_words (short * w1, short * w2) { __asm ??{ word ptr [ebx] mov word ptr [eax], cx } } int main (int argc, char * argv) {short w1 = 123, w2 = 999; printf("Before: w1 = %d, w2 = %d\n", w1, w2); xchange_words(&w1, &w2); printf("After: w1 = %d, w2 = %d\n", w1, w2); return 0; }
|
 |
::
Наша кнопка :: |
 |
|
 |
Отримати код:
|
Підтримайте наш сайт і розмістіть нашу
кнопку на своєму ресурсі. |
|
|
 |
::
Популярне :: |
 |
|
|
 |
:: Посилання :: |
 |
|
|
|