Официальный сайт студ.городка НГТУ
Программирование и БД » mov ax, [mem] vs mov ax, mem 

#1  22.03.07 09:07

mov ax, [mem] vs mov ax, mem

чем отличаются эти команды?
если
mem dw 1222h

ну и в дополнение, чем отличается от
mov ax, offset mem?

Исправлено Jeka (22.03.07 09:19)

Offline

#2  22.03.07 09:23

Re: mov ax, [mem] vs mov ax, mem

попробуй начала ассемблера почитать

Offline

#3  22.03.07 09:25

Re: mov ax, [mem] vs mov ax, mem

хороший ответ
РС: чем отличаются.

Исправлено Jeka (22.03.07 09:33)

Offline

#4  22.03.07 15:35

Re: mov ax, [mem] vs mov ax, mem

ассемблер это видимо чувак такой, который какие-то книги пишет, которые потом советуют читать.

Offline

#5  22.03.07 19:13

Re: mov ax, [mem] vs mov ax, mem

Злые люди))
mov ax, mem в данном случае эквивалентна mov ax, 1222. То есть в ах помещается то, что содержится по смешению mem.
mov ax, [mem] - Помещает в ах то, что содержится по смещению 1222. То есть значение хранящееся в mem становится новым смещением.
mov ax, offset mem - помещает в ах смещение (адрес почти что) mem. В данном примере о его конкретном значении сказать ничего нельзя.

Offline

#6  22.03.07 19:25

Re: mov ax, [mem] vs mov ax, mem

нет как раз mov ax, mem работает точно так же как mov ax, [mem]
Просто в первом случае транслятор выдаёт вернинг типа
*Warning*  Pointer expression needs brackets
А вот mov ax, offset mem работает точно так же как lea ax, [mem](lea ax, mem тоже с таким вернингом)
интересно просто в чем всё-таки различие.
Работу команд смотрел в дебагере)

Исправлено Jeka (22.03.07 19:26)

Offline

#7  22.03.07 19:52

Re: mov ax, [mem] vs mov ax, mem

нет как раз mov ax, mem работает точно так же как mov ax, [mem]

Хех, действительно. Забывать стал... Это когда регистровую адресацию используешь разница есть.

А вот mov ax, offset mem работает точно так же как lea ax, [mem](lea ax, mem тоже с таким вернингом)

Ну да, я вроде так и сказал.

Offline

#8  25.07.07 15:21

Re: mov ax, [mem] vs mov ax, mem

Draloskop написал(а):

нет как раз mov ax, mem работает точно так же как mov ax, [mem]

Хех, действительно. Забывать стал... Это когда регистровую адресацию используешь разница есть.

А вот mov ax, offset mem работает точно так же как lea ax, [mem](lea ax, mem тоже с таким вернингом)

Ну да, я вроде так и сказал.

Для большинства ассемблеров mov ax,[mem] и mov ax,mem -- _одна и та же_ инструкция, записанная разными способами, и говорить, что "они делают одно и тоже", неправильно. Flat Assembler будет транслировать mov ax,mem как другие ассемблеры mov ax,OFFSET mem.
p.s. Т.е. для Flat assembler mov ax,[mem] и mov ax,mem -- разные инструкции.

Исправлено Contestant (25.07.07 15:22)

 

#9  26.07.07 21:17

Re: mov ax, [mem] vs mov ax, mem

Укроп написал(а):

Contestant написал(а):

для Flat assembler mov ax,[mem] и mov ax,mem -- разные инструкции.

это называется мнемоника ))

Это не я бляяя...

Offline

Программирование и БД » mov ax, [mem] vs mov ax, mem 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.029 сек.
Выполнено 14 запросов.