netch: (Default)
netch ([personal profile] netch) wrote2007-07-06 08:26 am

Задумчиво

Почему в большинстве ассемблеров команда копирования называется MOV (move, то есть)?

Ладно, кто-то один придумал, но почему за ним повторяют?

[identity profile] ru-pchel.livejournal.com 2007-07-06 07:32 am (UTC)(link)
Ну mov выражает копирование не всегда. Только при регистровых операциях имхо.
А при прямой или косвенной адресацией идет перемещение потока битов из памяти в процессор.
имхо так.
Лично мне больше нравилось ld

[identity profile] ru-pchel.livejournal.com 2007-07-06 07:41 am (UTC)(link)
Не будем заниматься софистикой, хорошо?

Я могу спросить у тебя, а чем загрузка отличается от копирования?
К тому же могу заметить, что если память динамическая, и процесс регенерации почему то загнулся, то будет именно перемещение.

[identity profile] ru-pchel.livejournal.com 2007-07-06 07:54 am (UTC)(link)
:) Я вас умоляю :)

[identity profile] baspr.livejournal.com 2007-07-06 08:25 am (UTC)(link)
Видимо, ни у кого не возникает желания переделывать устоявшиеся мнемоники.

[identity profile] dinozavrik.livejournal.com 2007-07-06 09:11 am (UTC)(link)
Да, могли бы и SET назвать.

Впрочем, это ещё детские шалости. А вот использования символа равно (=) как оператора присвоения в C и в последующей целой плеяде языков, ставших мейнстриймовыми - это уже полный пиздец идеологическая диверсия.

[identity profile] zhuk-s.livejournal.com 2007-07-06 12:24 pm (UTC)(link)
Ну не зря же придумали :=

[identity profile] zhuk-s.livejournal.com 2007-07-06 12:31 pm (UTC)(link)
О. Вспомнил хохму школьных времен. Человеку отдаленно слышавшему про бейсик, предлагается решить какую-то там задачку. Какая задача, не суть важно, главное что в её условии была фраза "Пусть A меньше B".
В результате человек чего-то там рисует. Первой строчкой гордо:
10 LET A<B

[identity profile] http://users.livejournal.com/mak_/ 2007-07-06 09:59 am (UTC)(link)
по моему move здесь используется в каком-то значении типа "переслать".
т.е. в английском вполне себе используется как
(http://www.developer.com/lang/other/article.php/3496351)
The mov instruction is how you 'move' values about inside of the processor. For instance:

mov eax, 100
This 'moves' 100 into the eax register. It's the same as saying eax=100. To define the move instruction, think of it as this:

mov (destination), (source)
...
We can move the contents of memory into a register and vice-versa by using square brackets to indicate 'contents of'. The number of bytes moved is determined by the register name:



хотя я не знаток английского, не настаиваю:)

[identity profile] http://users.livejournal.com/_winnie/ 2007-07-06 12:38 pm (UTC)(link)
А что бы могла делать команда move, если понимать буквально? =) Тогда уж не "copy", а "copy value from" :)

[identity profile] fk0.livejournal.com 2007-07-06 06:46 pm (UTC)(link)
в нормальных ассемблерах (zilog) она называется LD... (load)