Текущий архив: 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.46 MB
Время: 0.007 c