0 / 0 / 0
Регистрация: 24.06.2009
Сообщений: 21
|
|
1 | |
Использование 32 разрядных регистров05.12.2010, 20:10. Показов 6794. Ответов 10
Метки нет Все метки)
(
Как использовать 32 разрядные регистры?
Читал, что надо дописать use32, куда так и не понял)) Если использовать регистры eax, edx, ebx, ecx, то ф-ии меняются? Например: при деление idiv остаток заносится в ah, а число в al Kак это будет выглядить с применением eax?
0
|
|
05.12.2010, 20:10 | |
Ответы с готовыми решениями:
10
Деление 32 разрядных чисел с использованием 16 разрядных регистров Описать макрос SUM R, где R_ — имя одного из 32- разрядных регистров общего назначения, для записи в R_ сумм Сложение 32-х разрядных чисел на 16 разрядных регистрах Вывод на экран двоичного содержимого двух регистров (ввести значения этих регистров требуется с клавиатуры) |
0 / 0 / 0
Регистрация: 24.06.2009
Сообщений: 21
|
|
05.12.2010, 22:44 [ТС] | 3 |
а как разрешить использование 32 р регистров?
0
|
Ушел с форума
![]() 15832 / 7415 / 993
Регистрация: 11.11.2010
Сообщений: 13,378
|
|
06.12.2010, 05:27 | 4 |
![]() Добавлено через 44 минуты в nasm [BITS 32]
2
|
0 / 0 / 0
Регистрация: 14.04.2011
Сообщений: 4
|
|
14.04.2011, 11:09 | 5 |
а в модели .386 ячейка памяти содержит 8 или 16 бит?
Добавлено через 7 минут и при компиляции можно ли использовать link16?
0
|
Ушел с форума
![]() 15832 / 7415 / 993
Регистрация: 11.11.2010
Сообщений: 13,378
|
|
14.04.2011, 11:11 | 6 |
floating_ax, зависит от типа ячейки
a1 db ? - определить ячейку памяти типа байт (8 бит) a2 dw ? - определить ячейку памяти типа слово (16 бит) a3 dd ? - определить ячейку памяти типа двойное слово (32 бита) a4 dq ? - определить ячейку памяти типа счетверенное слово (64 бита) a5 dt ? - определить ячейку памяти типа десять байтов (80 бит) а вот адрес у всех этих ячеек в модели .386 равен 32-битам link16 можно использовать
0
|
0 / 0 / 0
Регистрация: 14.04.2011
Сообщений: 4
|
|
14.04.2011, 11:18 | 7 |
нет-нет, мне необходимо узнать: когда я косвенно адресуюсь на ячейку памяти, то я адресуюсь на байт (как в 80286) или на два байта.
т.е. верно mov Arr[si], al или mov Arr[si], ax
0
|
Ушел с форума
![]() 15832 / 7415 / 993
Регистрация: 11.11.2010
Сообщений: 13,378
|
|
14.04.2011, 11:26 | 8 |
floating_ax,
если Arr определен как массив байт например Arr db 100 dup (?), то mov Arr[esi], al а если хочешь поместить что-то сразу в две ячейки, тогда mov word ptr Arr[esi], ax если Arr определен как массив слов например Arr dw 100 dup (?), то mov Arr[esi], ax а если хочешь поместить что-то в ячейку величиной в байт, тогда mov byte ptr Arr[esi], al адресация в .386 через [esi], а не через [si]
1
|
0 / 0 / 0
Регистрация: 14.04.2011
Сообщений: 4
|
|
14.04.2011, 11:52 | 9 |
Mikl___, Спасибо
Добавлено через 22 минуты а если я напишу lea esi, Arr ;как ассемблер определит верно mov [esi], ax ;или mov [esi], al ;?
0
|
Ушел с форума
![]() 15832 / 7415 / 993
Регистрация: 11.11.2010
Сообщений: 13,378
|
|
14.04.2011, 12:01 | 10 |
floating_ax, я же написал, если Arr определен как массив байтов, то при обращении через AL ничего не нужно, а при обращении через АХ придется добавлять WORD PTR, если Arr определен как массив слов, то при обращении через AХ ничего не нужно, а при обращении через АL придется добавлять BYTE PTR -- ты сам попробуй
1
|
0 / 0 / 0
Регистрация: 14.04.2011
Сообщений: 4
|
|
14.04.2011, 12:08 | 11 |
Mikl___, ок
0
|
14.04.2011, 12:08 | |
Помогаю со студенческими работами здесь
11
Схема платы расширения для чтения n- m-разрядных регистров Использование регистров Использование регистров бухгалтери не только для нужд бух учета Сложить содержание регистров R1 и R4 текущего банка регистров и отразить результат на статическом индикаторе Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |