Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Sergey_Tsoy
0 / 0 / 0
Регистрация: 20.01.2016
Сообщений: 30
1

Почему команда SHL И SAL эквиваленты

01.05.2016, 22:51. Просмотров 320. Ответов 5
Метки нет (Все метки)

http://asmworld.ru/uchebnyj-kurs/018-linejnyj-sdvig/
Прочитал статью про сдвиг и не понимаю почему операция SHL И SAL эквиваленты.
Ведь если допустим сдвиг числа 0100111 сдвинуть влево то получается что на место старшего бита встанет 1 (тоесть минус) и результаты будут отличаться. Везде написано что они эквиваленты можете наглядна для тех кто еще ни разу не писал на ассемблере объяснить в чем я не прав.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2016, 22:51
Ответы с готовыми решениями:

команда shl
привет товарищи. у меня много вопросов по команде shl, которая делает логические сдвиги. вопросы-...

В чем отличие sal от shl
написал программу begin asm mov eax ,4 sal eax,1 end; end нажимаю ф9 вижу у меня...

команда shl
почему когда я делаю вот такой код mov ax,1234 mov cl,5 shl ax,cl у меня не хочет заноситься в...

Команда div: почему вылетает исключение?
почему вылетает ошибка исключения(win asm) mov eax,3a5h mov ebx,200h div ebx

[TASM] Команды сдвига SAR, SAL
Здравствуйте, вопрос в том как мне с помощью команды сдвига SAR разделить число на 36. Я делю...

5
Полный 30h
Эксперт быдлокодинга
2574 / 461 / 62
Регистрация: 04.11.2010
Сообщений: 1,239
01.05.2016, 23:26 2
Цитата Сообщение от Sergey_Tsoy Посмотреть сообщение
и не понимаю почему операция SHL И SAL эквиваленты.
Команда shl используется для сдвига разрядов операнда влево. Ее машинный код идентичен коду sal, поэтому вся информация, приведенная для sal, относится и к команде shl.
В. Юров
0
Sergey_Tsoy
0 / 0 / 0
Регистрация: 20.01.2016
Сообщений: 30
02.05.2016, 07:29  [ТС] 3
Но ведь shl исп. Для без знаковых и sal для щнаковых я привел пример который не дает мне покоя
0
alexcoder
2012 / 721 / 150
Регистрация: 03.06.2009
Сообщений: 4,567
Завершенные тесты: 1
02.05.2016, 11:05 4
При сдвиге влево как знаковых, так и в беззнаковых чисел справа ВСЕГДА вдвигается 0, в отличие от сдвига вправо, поэтому эти команды имеют один машинный код.
0
Sergey_Tsoy
0 / 0 / 0
Регистрация: 20.01.2016
Сообщений: 30
02.05.2016, 11:07  [ТС] 5
И если справо ноль то ?
0
Полный 30h
Эксперт быдлокодинга
2574 / 461 / 62
Регистрация: 04.11.2010
Сообщений: 1,239
02.05.2016, 11:15 6
Цитата Сообщение от Sergey_Tsoy Посмотреть сообщение
Но ведь shl исп. Для без знаковых и sal для знаковых
Это утверждение верно лишь для команд сдвига вправо. Влево обе эти команды работают как логический сдвиг. Разные мнемоники введены лишь как маркетинговый ход.
Ваши же опасения по поводу того что в приведённом вами примере результат будет отличатся верны. Но на то и нужен программист что бы учитывать эти "риски" и использовать другие команды для их минимизации.
0
02.05.2016, 11:15
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2016, 11:15

Почему команда «dir>test.txt» работает, а команда «ftp /?>test.txt» — нет?
Пробовала без пробелов, что тут еще можно попробовать непонятно Выводит в окно командной строки....

команда HPageBreaks не работает, почему?
Пишу ActiveSheet.HPageBreaks.Add Before:= ActiveCell Выдает ошибку и не хочет работать. Что я...

Почему неработает команда Replace
Никак непойму, неработает команда вида Replace CorrectString, '<', 'myLeftPict' Replace...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru