Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2015, 19:21   #1
Алиса_Карамзина
Новичок
Джуниор
 
Регистрация: 16.11.2015
Сообщений: 1
По умолчанию Переставить байты в переменных по следующей схеме

знаю, что надо использовать byte ptr, но не могу разобраться, как делать(

Даны две переменные A и B (long int) (int)
Переставить байты в переменных по следующей схеме
Начальная нумерация байт
A = 11 22 33 44
B = 55 66
После перестановки
A = 33 44 66 55
B = 11 22

b) A (byte)
B (integer)
C (integer)

вычислить

D = A^2-(B/С)
E = (C*B)+A

c++ builder, ассемблерная вставка

Цитата:
long int а =0x11223344
int b = 0x5566

_asm {
mov al, byte ptr ?
...}
Алиса_Карамзина вне форума Ответить с цитированием
Старый 19.12.2015, 09:33   #2
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Код:
varA   DD  0x11223344
varB   DW  0x5566

start:
   MOV   AX,[varB]             ; AX = 5566
   ROR   AX,8                  ; AX = 6655 (можно XCHG  AH,AL)
   PUSH  AX                    ; сохраним значение в стеке

   MOV   AX,WORD[varA+2]       ; AX = 1122
   MOV   [varB],AX             ; переменная(B) = 1122

   MOV   EAX,[varA]            ; EAX = 11223344
   SHL   EAX,16                ; EAX = 33440000
   MOV   [varA],EAX            ; сохраним изменения в переменной(A)
   POP   AX                    ; AX  = 6655
   MOV   WORD[varA],AX         ; переменная(А) = 33446655
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевести Gb в байты kholoshchak Общие вопросы Delphi 7 24.12.2013 14:40
C++ байты Mr.Fank C++ Builder 0 18.10.2011 21:19
Удалить байты KoBRaAndrey Общие вопросы Delphi 3 22.01.2010 17:53
Байты и биты Karp_13 Общие вопросы Delphi 9 10.11.2009 00:33
Байты в стринги FaTaL Общие вопросы Delphi 9 18.04.2008 15:46