![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 20.04.2017
Сообщений: 2
|
![]()
Здравствуйте, возникли проблемы с командой 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 |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
![]()
поставь перед 'DIV'-ами инструкцию 'XOR RDX,RDX'
скорей-всего ошибка деления возникает у тебя
Нашедшего выход - затаптывают первым..
|
![]() |
![]() |
![]() |
#3 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
![]()
Делите не правильно.И умножение посмотрите.
Безымянный.gif ![]() ![]() Ирвин К. Язык ассемблера для процессоров Intel 2005
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 750
|
![]()
О, пацаны, блин, только щас увидел регистры R8B-R15B, хотя не первый день в радиоэлектронике. А что это за регистры-то такие, не сочтите за труд объяснить.
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
|
![]() |
![]() |
![]() |
#5 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
![]()
Cuprum5
Таких нету. У вас видимо телефон и там плохо видны изображения. На самом деле там написано r/m8, r/m16, r/m32 - что означает обращение к памяти размеру 8 бит, 16 бит, 32 бита или любой регистр общего назначения соответствующего размера. R0-R15 это регистры общего назначения в x86-64.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . Последний раз редактировалось Pavia; 06.09.2017 в 20:27. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 750
|
![]()
Да и регистры R8-R15 есть, по-мооему - новая архитектура x64!
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
|
![]() |
![]() |
![]() |
#7 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 296
|
![]()
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. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Команда разработчиков | 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 |