Forum huvudsida -> Programmering -> assembler i c++
Sidor: 1
Dojjan | 22:37 - 2:a Juli 2005 | Post #1 | |
Medlem Inlägg: 114 Skicka PM |
Kan nån förklara det här: asm("mov %%ebp, %0":"=m"(oldEBP)); oldEBP är en unsigned int för övrigt. Jag vet att mov flyttar data, men vad i all världen gör "%%" där och vad betyder :"=m"? jag antar att det flyttar in värdet 0 i oldEBP, eller har jag fel? |
Dojjan | 11:13 - 5:e Juli 2005 | Post #2 | |
Medlem Inlägg: 114 Skicka PM |
Ingen på sidan som kan assember? |
Independence | 11:22 - 5:e Juli 2005 | Post #3 | |
Administratör Inlägg: 1800 Skicka PM |
Jag kan inte ett dyft assembler tyvärr ------------------------- Vi är riddarna som säger fiskbulle! |
ozamosi | 15:51 - 5:e Juli 2005 | Post #4 | |
Administratör Inlägg: 1129 Skicka PM |
Ush... GNU ASM - lika lättläst som BrainFuck... Om jag fattat rätt lagrar instruktionen "mov %%ebp %0" värdet i ebp (ebp är ett processorregister) till det första argumentet. Det första argumentet består är "=m"(oldEBP) , där = betyder resultat och m betyder... Något? Datatyp kanske (gissar vilt). Sedan kommer namnet på den variabel resultatet ska lagras i. Det det står är alltså motsvarande "oldEBP = ebp;" Edit: Syftningsfel. EBP ,,R ett processorregister, det innehåller inte ett. ------------------------- Ljusblå Senast redigerad 16:44 - 5:e Juli 2005 |
HärJ | 15:58 - 5:e Juli 2005 | Post #5 | |
Moderator Inlägg: 1198 Skicka PM |
BF är lättläst ju. hur kan det det bli svårt om man bara har 8 tecken? Assembler vill jag kunna...och lisp... ------------------------- Tänk om jag vore en skalärprodukt! |
sdac | 15:53 - 6:e Juli 2005 | Post #6 | |
Medlem Inlägg: 235 Skicka PM |
Har aldrig sett assembly användas på det där sättet i C++. Själv brukar jag använda inlineassembly i visual c++ såhär:
Inga konstigheter alls. ;p Senast redigerad 15:54 - 6:e Juli 2005 |
Celeron | 17:15 - 6:e Juli 2005 | Post #7 | |
Medlem Inlägg: 418 Skicka PM |
Jag vet inte, men Dojjan's kod ser ganska mycket ut som C. ------------------------- Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/ |
ozamosi | 18:33 - 6:e Juli 2005 | Post #8 | |
Administratör Inlägg: 1129 Skicka PM |
Citat av sdac: Har aldrig sett assembly användas på det där sättet i C++. Själv brukar jag använda inlineassembly i visual c++ såhär:
Inga konstigheter alls. ;p Ja, du använder intel-synax och inte gnu-syntax. Som sagt, GNU-syntax är helt oläsligt, och intel-syntax är riktigt trevligt. ...och sen förenklar ju inte GNUs argumentsystem läsbarheten direkt... ------------------------- Ljusblå |
Dojjan | 10:37 - 7:e Juli 2005 | Post #9 | |
Medlem Inlägg: 114 Skicka PM |
Och hur hade det sett ut i intel-syntaxen då? |
ozamosi | 13:55 - 7:e Juli 2005 | Post #10 | |
Administratör Inlägg: 1129 Skicka PM |
Vetefan... Byt plats på %%ebp och %0 till och börja med (gnu-asm assignar - som i princip ända språket i världen - från vänster till höger), ta bort alla %. Sen hur man stoppar in c++-variabler i asm-kod är väl upp till kompilatorn, och jag har ingen aning om hur man gör. ------------------------- Ljusblå |
Python | 19:32 - 18:e September 2007 | Post #11 | |
Medlem Inlägg: 157 Skicka PM |
Citat av ozamosi:Ush... GNU ASM - lika lättläst som BrainFuck... BF är jättelättläst 8 tecken. Man lär sig vad alla gör och hur man använder dom på 10 min, typ. ------------------------- ------------------------- |
Lajnold | 23:13 - 18:e September 2007 | Post #12 | |
Medlem Inlägg: 65 Skicka PM |
Citat av Python:Citat av ozamosi: Nu kanske du inte var seriös, men att man ser direkt vad en viss symbol gör betyder inte att språket är lättläst. ------------------------- Ingen signatur! |
Python | 14:34 - 19:e September 2007 | Post #13 | |
Medlem Inlägg: 157 Skicka PM |
Nej det är så klart sant ------------------------- ------------------------- |
Sidor: 1
Forum huvudsida -> Programmering -> assembler i c++
Du får inte posta i den här tråden | Till toppen
Datum
2024-12-22 15:45
Vecka: 51
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.