[ECOS] HAL_*_STRING

Leandro Fanzone leandro@hasar.com
Wed Jun 15 14:32:00 GMT 2005


Hello,
         I'm using ecos 2.0 under x86, and tried to use the HAL_*_STRING 
macros, both for reading and writing. They don't work properly; the 
assembly output shows that they lack the rep instruction preceding the 
insb/outsb instructions. So the macros would be:

#define HAL_READ_UINT8_STRING( _register_, _buf_, _count_)      \
CYG_MACRO_START                                                 \
    asm volatile ( "rep insb"                                       \
                   :                                            \
                   : "c" (_count_), "d"(_register_), "D"(_buf_) \
        );                                                      \
CYG_MACRO_END

#define HAL_WRITE_UINT8_STRING( _register_, _buf_, _count_)     \
CYG_MACRO_START                                                 \
    asm volatile ( "rep outsb"                                      \
                   :                                            \
                   : "c" (_count_), "d"(_register_), "S"(_buf_) \
        );                                                      \
CYG_MACRO_END

The same thing for the 16 bit and 32 bit versions.
Regards,

Leandro Fanzone

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list