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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.09.2017, 18:49   #1
йцукйцук
Новичок
Джуниор
 
Регистрация: 20.04.2017
Сообщений: 2
По умолчанию Команда sub

Здравствуйте, возникли проблемы с командой sub, до этой команды все работает, а вот именно sub - нет, подскажите пожалуйста в чем может быть проблема
mov rbp,rsp
mov rax, const1
mul a1
div const2


mov rax, const2
mul e1
mov r10, rax
mov rax, c1
div r10
sub rax, r10
йцукйцук вне форума Ответить с цитированием
Старый 06.09.2017, 19:34   #2
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

поставь перед 'DIV'-ами инструкцию 'XOR RDX,RDX'
скорей-всего ошибка деления возникает у тебя
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 06.09.2017, 19:51   #3
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Делите не правильно.И умножение посмотрите.

Безымянный.gif



Ирвин К. Язык ассемблера для процессоров Intel 2005
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 06.09.2017, 20:03   #4
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 729
По умолчанию

О, пацаны, блин, только щас увидел регистры R8B-R15B, хотя не первый день в радиоэлектронике. А что это за регистры-то такие, не сочтите за труд объяснить.
Cuprum5 вне форума Ответить с цитированием
Старый 06.09.2017, 20:23   #5
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Cuprum5
Цитата:
Сообщение от Cuprum5 Посмотреть сообщение
увидел регистры R8B-R15B
Таких нету. У вас видимо телефон и там плохо видны изображения. На самом деле там написано r/m8, r/m16, r/m32 - что означает обращение к памяти размеру 8 бит, 16 бит, 32 бита или любой регистр общего назначения соответствующего размера.
R0-R15 это регистры общего назначения в x86-64.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .

Последний раз редактировалось Pavia; 06.09.2017 в 20:27.
Pavia вне форума Ответить с цитированием
Старый 11.09.2017, 11:21   #6
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 729
По умолчанию

Да и регистры R8-R15 есть, по-мооему - новая архитектура x64!
Cuprum5 вне форума Ответить с цитированием
Старый 11.09.2017, 18:02   #7
7in
(aka Jin X) !RTFM!
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Сообщений: 295
По умолчанию

R8B-R15B есть, это младшие байты 64-битных регистров R8-R15. Они появились в 64-битной архитектуре x86-64 (Intel 64 / AMD 64).
https://ru.wikipedia.org/wiki/Регистр_процессора
И картинка в частности: https://ru.wikipedia.org/wiki/Регист...isters_svg.svg

p.s. Для обнуления RDX и пр. достаточно обнулить младшие 32 бита, старшие биты обнулятся автоматом, т.е. XOR EDX,EDX. Замечу, что при изменении слова или байта (XOR DX,DX или XOR DL,DL ; XOR DH,DH) с остальной частью регистра ничего не происходит.
Короче говоря, при доступе (на запись) к младшим 32 битам (именно к 32) старшие обнуляются. Даже INC EAX обнулит старшие 32 бита RAX.
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru

Последний раз редактировалось 7in; 11.09.2017 в 18:04.
7in вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Команда разработчиков Rost1slav Свободное общение 14 23.02.2015 18:08
Команда DIV Mr.Steroid Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 22.02.2012 13:23
команда cd Simbad JavaScript, Ajax 2 12.08.2011 14:05
Команда System: запуск программы в свёрнутом режиме, Не работает команда /min Me777 Общие вопросы C/C++ 0 12.07.2011 11:49