Hello,
Few things to remember when trying to port gcc's asm code to codevision,
1) As far as I know Codevision doesn't support separate assembly modules, since there is no linker for codevision. You have to write C functions with inline assembly.
2) Codevision(as most of C compilers for AVR) use separate 'software stack - Y-Pointed' and 'hardware stack- SP pointed' while GCC does not. It uses single stack, only handled by SP.
3) There is major difference in how & which registers, C functions use for parameter passing and return values. As far as I know, codevision uses entirely software stack for parameter passing while gcc uses registers heavily.
4) There is also difference in which registers need to be preserved accross function calls and which can be trashed.
5) gcc assembler is quite capable, while codevision supports only Atmel assembler's features.
6) And most obviously there are syntax differences, like I/O register access, atmel assembler supports it directly, but gcc requires special macros.
There are many such major and trivial things. Once you get them it is quite straight forward, codevision and gcc manuals are your best friends

In my opnion, instead of trying to port asm code from gcc to codevision, it is quite easy to port codevision c to gcc c. There is nothing which codeivison can and gcc can't do, except if your code rely heavily on codevision's hardware libraries.

regards,
sam_des