Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];

Вниз

Есть ли такая мнемокоманда в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.034 c
14-95006
MalkoLinge
2003-05-12 17:38
2003.05.29
Покритикуйте компоненту..Только того... ПО-ДОБРОМУ :)))


1-94827
Mr. xXx
2003-05-19 15:09
2003.05.29
Why it causes a mistake :


1-94913
spater
2003-05-17 12:37
2003.05.29
Помогите сложить числа в StringGrid е


4-95155
KateDreamer
2003-04-02 04:07
2003.05.29
DLL


1-94850
Vasiliy Z
2003-05-16 11:41
2003.05.29
Меню





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский