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

Вниз

способ получения в EAX, значение флага cf?   Найти похожие ветки 

 
Ruzzz ©   (2008-11-15 16:50) [0]

привет! решил на асме функцию написать, вот:
type
 TSyms = Set of Char;

function CharInSet(Ch: Char; Syms: TSyms): Boolean;
asm
               // and     eax, 0FFh
               bt      [edx], eax
               jb      @yes
               xor     eax, eax
               ret
@yes:
               mov     eax, 1
end;


так вот, я вроде когда-то видел более красивый способ получения в EAX, значение флага cf? Подскажите а то асм запыл уже. По-моему все начиная с xor eax, eax, можна заменить на одну команду


 
Leonid Troyanovsky ©   (2008-11-15 16:54) [1]


> Ruzzz ©   (15.11.08 16:50)  

> привет! решил на асме функцию написать

А в чем смысл?

--
Regards, LVT.


 
AndreyV ©   (2008-11-15 17:35) [2]

> [0] Ruzzz ©   (15.11.08 16:50)

 xor eax,eax
 slc или как там сдвиг влево через флаг переноса

а
 ret
не хочеш заменить на
 jmp @no
?


 
Ruzzz ©   (2008-11-15 17:42) [3]

по моему есть команды которые пишут состояния флагов в EAX? Я про это!
Т.е. можно написать:
function CharInSet(Ch: Char; Syms: TSyms): Boolean;
asm
              bt      [edx], eax
              НУЖНАЯ КОМАНДА (пишеть флаг CF в EAX)
end;


 
Ruzzz ©   (2008-11-15 17:46) [4]

смысл такой:
const
 syms: set of char = ["0".."9", "A".."Z", "a".."z", "À".."ÿ"];
var
 s: string;
...
if CharInSet(s[1], syms) then ...


 
AndreyV ©   (2008-11-15 17:49) [5]

> [3] Ruzzz ©   (15.11.08 17:42)

Так тебе CF или все?
Да, нужная команда сдвига
 rcl
а переходы и вообще не надо.


 
Ruzzz ©   (2008-11-15 17:52) [6]

Разобрался
function CharInSet(Ch: Char; Syms: TSyms): Boolean;
asm
               and     eax, 0FFh
               bt      [edx], eax
               SETC    al
end;


 
AndreyV ©   (2008-11-15 17:53) [7]

> [4] Ruzzz ©   (15.11.08 17:46)

И нафиг тут ассемблер.



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

Форум: "Начинающим";
Текущий архив: 2008.12.21;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.046 c
2-1226575325
Sveta
2008-11-13 14:22
2008.12.21
создание массива для button


4-1202133118
Nil
2008-02-04 16:51
2008.12.21
Снова про прозрачность части формы


2-1226500334
Res
2008-11-12 17:32
2008.12.21
TJpegImage


15-1224826433
БарЛог
2008-10-24 09:33
2008.12.21
А кто-нибудь помнит сайт, который показывает


15-1224751183
int64
2008-10-23 12:39
2008.12.21
Эксперты для IDE Delphi2007





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский