Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 641 • Страница 26 из 33<  1 ... 23  24  25  26  27  28  29 ... 33  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 04.10.2004
A1exander писал(а):
Можно ли в ассемблере производить математические операции непосредственно с переменными?
Возможны операции регистр-память или память-регистр, но не память-память. Если нужно обработать 2 переменные в памяти, то одну из них перемещают в регистр.



Партнер
 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
Если числа 16-ричные (ы! 16-битные), то почему ты пишешь "byte ptr"?

C переменными можно делать действия. Нельзя делать операции переменная<>переменная. Это невозможно.
Возможны только операции переменная<>константа и переменная<>регистр
Примеры:
add word ptr m4,2 ; m4 + 2
inc word ptr m4 ; m4 + 1
sub ax, m4 ; регистр ax - m4
sub m4, ax ; m4 - регистр ax
cmp ax,m4 ; сравнить регистр ax и m4


 

Junior
Статус: Не в сети
Регистрация: 15.10.2009
Откуда: от туда
serj
Цитата:
C переменными можно делать действия. Нельзя делать операции переменная<>переменная. Это невозможно.
Возможны только операции переменная<>константа и переменная<>регистр

Спасибо, вот именно это я и хотел услышать.
maco
На ваш пост ниже
Вообщем я все понял, прочитав касательно этого повода в других источниках. То что я не читал предыдущие посты эт так (буду я там груду постов перечитывать, причем с такими проблемами к которым я пойду после весьма длительного изучения курса по ассемблеру) Вам и сержу спасибо. но обьясняете вы непонятно


Последний раз редактировалось A1exander 23.12.2009 15:04, всего редактировалось 1 раз.

 

Member
Статус: Не в сети
Регистрация: 04.10.2004
A1exander писал(а):
Как предопределить Константу
Я может быть издеваюсь, но вы уже умеете предопределять константы, но совершенно не умеете читать чужие посты или ленитесь их анализировать.
A1exander писал(а):
произвести с ней арифмет. операцию
Тупо указывается:
мнемоника имя_переменной, имя_константы


 

Junior
Статус: Не в сети
Регистрация: 15.10.2009
Откуда: от туда
maco писал(а):
A1exander писал(а):
Как предопределить Константу
Я может быть издеваюсь, но вы уже умеете предопределять константы, но совершенно не умеете читать чужие посты или ленитесь их анализировать.
A1exander писал(а):
произвести с ней арифмет. операцию
Тупо указывается:
мнемоника имя_переменной, имя_константы

Эту элементарщину я еще на первой лекции усвоил... И вот еще что в добавление к моему предыдущему посту Я так понимаю понятие "переменная" и "константа" = суть одно и тоже...


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
A1exander писал(а):
Я так понимаю понятие "переменная" и "константа" = суть одно и тоже...
Нда, тяжелый случай.
Поставлю тяжелую задачу - дайте определение понятиям "переменная" и "константа" :D.


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
maco, кажется в Фортране нет констант в явном виде, они лежат как определенные переменные.
Говорят, один раз случайно написали что-то типа 33=96 и спутник 'улетел'. (при последующем вызове константы 33 там уже был что-то совсем другое)


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
serj
Были в Фортране константы, которые являлись предопределенными статическими переменными, но это не распространялось на все константы. И правильная работа с такими конструкциями вроде бы специально оговаривалась.
Хотя при работе программы из памяти, которая может быть модифицирована в процессе выполнения программы, любая константа является в общем-то переменной :D.


 

Junior
Статус: Не в сети
Регистрация: 15.10.2009
Откуда: от туда
maco
maco писал(а):
[off]Нда, тяжелый случай.
Поставлю тяжелую задачу - дайте определение понятиям "переменная" и "константа"

Бред какой-то в чем разница то? если переменная не меняется в течение всей программы - значит она константа, если константа принимает другое значение в течение программы - то она переменная. И....
суть одно и тоже , в песок))))) :D
поправьте если ошибаюсь


Последний раз редактировалось A1exander 23.12.2009 16:13, всего редактировалось 1 раз.

 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
... maco, чем я неоднократно пользовался в DOS-программах. Регистров не хватало, переменные долго и я прямо адаптировал код перед запуском цикла.


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
A1exander
Переменная - это величина, которая может измениться при выполнении программы.
Константа - это величина, которая не может измениться при выполнении программы.
(вариант самомодифицирующегося кода не рассматривается)


 

Junior
Статус: Не в сети
Регистрация: 15.10.2009
Откуда: от туда
maco
Спасибо конечно за определения (так сказать память освежили, класс эдок пятый школьный программы)
Но я же вас спрашивал не про определения, мне важно понять суть понять структуру. Если ассемблере манипуляции с константой совершенно идентичны манипуляциям с переменной и любые операции с ними выполняются одинаково. То для меня переменная и константа это одно и тоже. я же пришел сюда за помощью и советом а не за насмешками и зубрением определений.


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
A1exander писал(а):
Если ассемблере манипуляции с константой совершенно идентичны манипуляциям с переменной и любые операции с ними выполняются одинаково
Вот как раз и не идентичны (не одинаковы) :).
А вся разница как раз начинается с базовых определений, которые нужно понимать, а не зазубривать.


mov reg,var
mov reg,const
mov var,reg
mov var,const
mov const,reg
mov const,var


 

Member
Статус: Не в сети
Регистрация: 13.06.2007
Откуда: UK/Glasgow
Фото: 0
Хочу спросить у знатоков асма, а есть ли будущее у этого языка, стоит ли в него вдаваться?

_________________
-=AMD POWER FAN CLUB=-


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
SwiPTorrent, на asm не пишут программы для х64, для этого есть только мерзкий FASM64. От M$ нет ничего, masm64 не существует в природе.
Вывод сделаешь сам.

Добавлено спустя 7 минут 26 секунд:
A1exander, внимательно прочитай и попробуй понять. Пока этого не сделаешь, будешь и дальше задавать глупые вопросы.
Переменные - это ячейки в памяти, область данных.
Константы - это часть кода программы.
Область данных и область программы - это РАЗНОЕ и адресуется через РАЗНЫЕ сегменты(сегментные регистры). С точки зрения процессора, это две совершенно разные структуры.
Код программы - это, что исполняется. Хоть она и лежит в памяти, ее трогать нельзя. Область данных - некоторая зона памяти, которую можно читать и писать.

(несколько упростил и утрировал)


 

member+
Статус: Не в сети
Регистрация: 16.01.2004
Откуда: Estonia,Tallinn
serj
Это говорит о том что пока у него нет будущего, но если появится что-то типа masm64 то оно появится ?

_________________
X99-TF/E5-2678v3+Evo212/2x16Gb-DDR4-Gloway-TYPE-a@2133-12-13-13-26/GTX1070TI/KINGSTON-SNV2S1000G


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
не появится. В x64 на asm не пишут. Да и на х86 не пишут.


 

Member
Статус: Не в сети
Регистрация: 15.02.2009
Откуда: Лангепас
SwiPTorrent
ASM завоевал определённые области применения. И пока ни один из других языков в эти области влезть не смог (да и не сможет). Любая вещь, желающая получить полный доступ к железу - прерогатива АСМа...


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
Asm - он в общем-то разный, в том числе и не x86. Что-то удобнее писать на asm'е, а что-то - на языках высокого уровня.
oxy писал(а):
Любая вещь, желающая получить полный доступ к железу - прерогатива АСМа
Далеко не факт. Вполне может быть реализовано и на языке высокого уровня. Вопрос в основном заключается в удобстве.


 

member+
Статус: Не в сети
Регистрация: 16.01.2004
Откуда: Estonia,Tallinn
serj писал(а):
В x64 на asm не пишут

Извращенцы (точнее программисты-фанаты пишущие не для работы, а для души) найдутся всегда, даже на BAT-файлах пишут (и не плохо надо сказать пишут)

У ASM есть свой шарм

Добавлено спустя 1 час 1 минуту 51 секунду:
Кстати вопросик...

У Зубкова в книге есть процедурка
Цитата:
; Алгоритм рисования круга, используя только сложение, вычитание и сдвиги
; (упрощенный алгоритм промежуточной точки).


Собственно код прост и понятен, вопрос в том "где прочитать про этот алгоритм, особенно про неупрощенный" ?

(дома нету интернета по этому часами копать гугл я просто не имею возможности)

_________________
X99-TF/E5-2678v3+Evo212/2x16Gb-DDR4-Gloway-TYPE-a@2133-12-13-13-26/GTX1070TI/KINGSTON-SNV2S1000G


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 641 • Страница 26 из 33<  1 ... 23  24  25  26  27  28  29 ... 33  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan