Toon posts:

[MS C/C++ 7.0] ASM code

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb voor een project een C-library om bepaalde hardware te benutten. Nu zie ik onder doelplatform staan dat hij geschikt is voor de ANSI-C compiler en de Borland C compiler voor 386 of hoger.

In de source staat in een aantal functies een stuk ASM-code op de volgende wijze:

code:
1
2
3
4
5
6
7
void function(int temp,int temp)
{
   asm {
      push es
      push di
   }
}


De MS C compiler geeft nu fouten waarop het lijkt dat hij deze code als c-code wil zien (hij mekkert over het ontbreken van ; en zo)

Mijn vraag is:
Gaat ANSI C of (nog belangrijker nog) Borland C anders met ASM code om?

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
Volgens mij moet je onder MS C++ __asm{ ... } doen. Hoe t onder BC of ANSI zit weet ik niet zo 123...

[ Voor 31% gewijzigd door SWfreak op 28-03-2003 14:21 ]


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 21-08 17:14
ISO C en ISO C++ hebben geen eisen over de inhoud van een asm blok, tenslotte is dat assembly en geen C of C++.

PS. je bedoelt ISO-C ipv ANSI-C, is vaak gemaakte fout. Maar er bestaat niet zoiets als "de ANSI-C compiler" of "de ISO-C compiler"

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • AuC
  • Registratie: Januari 2003
  • Laatst online: 10-07 15:00

AuC

In MSVC++ is het _asm {...}

  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

Dit ziet er overigens niet uit alsof het bedoeld is voor VC 7.0 (als je dat bedoelde met MS C/C++ 7.0), het is 16-bits code dus verwacht niet dat het lekker werkt onder windows (zowieso kun je hardware niet direct aanspreken in win).
Als dit bedoeld is voor een 16-bits programma heb ik niks gezegd :) (maar ik dacht niet dat dat kon met VC7).

www.madwizard.org