Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.29;
Скачать: CL | DM;

Вниз

Есть ли такая мнемокоманда в TASM   Найти похожие ветки 

 
evvcom ©   (2003-05-16 11:35) [0]

Попросили меня лабу на TASM написать. Естественно для DOS. Надо загрузить байт с расширением знака до слова. Использовал такую команду: movsx dx,[bx]. Ответ транслятора "Illegal instruction for currently selected processor(s)". Подскажите есть такой мнемокод или сама команда для 16 разр. пишется не так или регистры эти не используются в этой команде или ...?


 
Dms   (2003-05-16 11:38) [1]


> Надо загрузить байт с расширением знака до слова

mov dx, word ptr [bx]


 
evvcom ©   (2003-05-16 11:53) [2]


> mov dx, word ptr [bx]

Этот mov работает и без word ptr. Это грузится слово с адреса bx, а мне нужен байт с расширением знака, например [bx]=0F1h, тогда dx <- 0FFF1h. В 32 разр. Дельфи использует movsx edx,[ecx] (такие вроде регистры были)


 
Digitman ©   (2003-05-16 11:58) [3]


> Illegal instruction for currently selected processor


а какой, собственно, процессор выбран ?


 
Anatoly Podgoretsky ©   (2003-05-16 12:13) [4]

Попробуй


movsx dx, byte ptr[bx]

или пару команд


mov bl, [bx]
movsx dx, bl


Но тебя ругают за то, что для выбранного типа процессора данная команда не поддержана, смотри директивы в начале программы, наверно у тебя выбран 86 процессор.


 
Dms   (2003-05-16 12:16) [5]

movsx работает только при включенном режиме 386


 
VMcL ©   (2003-05-16 12:50) [6]

.386 или P386 в зависимости от режима


 
evvcom ©   (2003-05-16 14:11) [7]


> а какой, собственно, процессор выбран ?

А кто его знает? Я первым делом стал смотреть ключи на предмет выбора процессора, но ничего подобного не заметил:

Turbo Assembler Version 2.5 Copyright (c) 1988, 1991 Borland International
Syntax: TASM [options] source [,object] [,listing] [,xref]
/a,/s Alphabetic or Source-code segment ordering
/c Generate cross-reference in listing
/dSYM[=VAL] Define symbol SYM = 0, or = value VAL
/e,/r Emulated or Real floating-point instructions
/h,/? Display this help screen
/iPATH Search PATH for include files
/jCMD Jam in an assembler directive CMD (eg. /jIDEAL)
/kh# Hash table capacity # symbols
/l,/la Generate listing: l=normal listing, la=expanded listing
/ml,/mx,/mu Case sensitivity on symbols: ml=all, mx=globals, mu=none
/mv# Set maximum valid length for symbols
/m# Allow # multiple passes to resolve forward references
/n Suppress symbol tables in listing
/o,/op Generate overlay object code, Phar Lap-style 32-bit fixups
/p Check for code segment overrides in protected mode
/q Suppress OBJ records not needed for linking
/t Suppress messages if successful assembly
/w0,/w1,/w2 Set warning level: w0=none, w1=w2=warnings on
/w-xxx,/w+xxx Disable (-) or enable (+) warning xxx
/x Include false conditionals in listing
/z Display source line with error message
/zi,/zd Debug info: zi=full, zd=line numbers only

Сейчас попробую другие инструкции, предложенные выше...


 
VMcL ©   (2003-05-16 14:18) [8]

2: evvcom © (16.05.03 14:11)

В тексте ассеблерного кода:
укажи директиву .386 (или P386)


 
evvcom ©   (2003-05-16 14:25) [9]


> VMcL © (16.05.03 14:18)

Да, спасибо. Уже получилось. Нашел таки на него хелп, посмотрел про директиву.



Страницы: 1 вся ветка

Текущий архив: 2003.05.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
3-94676
Котяра
2003-05-12 21:09
2003.05.29
Компоненты ADO (конкретно TADOQuery) в Delphi 5


1-94794
YuN
2003-05-19 07:58
2003.05.29
Как выцепить сообщение в обработчике исключений?


1-94820
XopoSHiy
2003-05-17 15:57
2003.05.29
Dll + Строки + Delphi + VB


1-94860
AlexProdigy
2003-05-19 11:09
2003.05.29
TDateTimePicker + WinXP = глюк


14-95119
Дмитрий К.К.
2003-05-12 15:43
2003.05.29
Stack overflow при компиляции пакета