| Сейчас на форуме: _MBK_, ManHunter, Magister Yoda, rtsgreg1989 (+9 невидимых) | 
| eXeL@B —› Основной форум —› MASM пишет что-то непонятное | 
| Посл.ответ | Сообщение | 
| 
 | 
Создано: 14 июля 2005 21:32  · Личное сообщение · #1 Привет всем, Хотел еще вопросик задать простенький, Пользуюсь MASM для MS DOS, компилирую программку ml.exe myname.asm /AT Выдает ошибку в строчке: mov ax, [bx] Пишет must be index or base register Что это значит, вообще хочу переслать в ax, то что содержиться по адресу в bx. Спасибо всем кто отвечает! ![]()  | 
| 
 | 
Создано: 14 июля 2005 21:50  · Личное сообщение · #2  | 
| 
 | 
Создано: 14 июля 2005 23:33  · Личное сообщение · #3  | 
| 
 | 
Создано: 14 июля 2005 23:35  · Личное сообщение · #4 Jupiter На фиг ты человека туда послал? ИМХО, ответа там всё равно не найти, а темы лишние лучше не разводить. freshman пишет: Выдает ошибку в строчке: freshman, ну ты же понимаешь, что ошибка не в этой строке. Тогда зачем так спрашивать? Прикрепи лучше файлик или сам ищи ошибку (а скорее всего опечатку). freshman пишет: Пишет must be index or base register Что это значит, Это значит, что в системе команд x86 процессора нет 16-ричных команд для загрузки из памяти указанной НЕ регистром указателем или регистром базы. У тебя BX – регистр базы, значит, такая команда есть, а вот если бы было наоборот: mov bx, [ax] То была бы эта ошибка. Короче давай файлик.  
Или я неправ? ----- Всем привет, я вернулся ![]()  | 
| 
 | 
Создано: 14 июля 2005 23:36  · Личное сообщение · #5  | 
| 
 | 
Создано: 14 июля 2005 23:58  · Личное сообщение · #6 Bitfry На фиг ты человека туда послал? ИМХО, ответа там всё равно не найти, а темы лишние лучше не разводить. ну-ну, а здесь подобные темы разводить - самое то, я понимаю но ты прав, что не туда его послал - ему скорее нужно подробнее изучить ассемблер Короче давай файлик. только так. а то, может быть, требуется что-нить типа byte/word ptr: ----- EnJoy! ![]()  | 
| 
 | 
Создано: 15 июля 2005 00:02  · Личное сообщение · #7  | 
| 
 | 
Создано: 15 июля 2005 01:46 · Поправил: read_me  · Личное сообщение · #8  | 
| 
 | 
Создано: 15 июля 2005 02:12  · Личное сообщение · #9 Всем большое спасибо, дело в том, что ту програмку которую я писал в начале я затер своими "экспериментами", так что установить что было в начале уже нельзя, наверное в программе я написал mov bx, [ax] после переработки получилась такая вот рабочая программка: CSEG segment org 100h Begin: mov dx, offset data mov bx,dx add bx,2 mov ax,word ptr [bx] int 20h data db 'ABCD$' CSEG ends end Begin Вообще то она просто пишет в ax "CD", благодаря вам узнал что ax и bx не равнозначны по способам применения. Еще раз большое спасибо! ![]()  | 
| 
 | 
Создано: 15 июля 2005 02:24  · Личное сообщение · #10  | 
| 
 | 
Создано: 15 июля 2005 09:36  · Личное сообщение · #11 read_me пишет: x и bx не равнозначны по способам применения В данном случае не совсем так: в ДОСе ax, bx, cx и dx используются для загрузки параметров при выполнении прерываний. В остальном - разницы нет, кроме специфичных команд типа loop, stos, scas... ----- Я медленно снимаю с неё UPX... *FF_User* ![]()  | 
| 
 | 
Создано: 15 июля 2005 10:06  · Личное сообщение · #12  | 
| 
 | 
Создано: 15 июля 2005 10:19  · Личное сообщение · #13  | 
| eXeL@B —› Основной форум —› MASM пишет что-то непонятное | 












 Для печати