Nickless Skrevet 25. mai 2008 Del Skrevet 25. mai 2008 Hei. Tenkte jeg skulle begynnte å lære meg assembly, har holdt på med C-programmering en stund, og har interessert meg for assembly lenge, så nå lurte jeg på om noen kan fortelle meg hvilket program jeg kan programere asssembly i, har hørt at man kan bruke notisblokk osv, men føler ikke at det er tingen , og bruker man noen form for kompilator, isåfall hvilken anbefales? Lenke til kommentar
DeadManWalking Skrevet 25. mai 2008 Del Skrevet 25. mai 2008 Det er flere typer typer eller syntakser om du vil, altså forskjellige språk. Nasm, masm, HLA og GCC inline Assembly. Det blir litt avhengig av hva du har tenkt å lage? På Nasm sine sider står det mye, de har også god dokumentasjon. Masm er vel mer et windows fenomen? Bare så det er sagt, man lager ikke større programmer i Assembly. Det man kan gjøre er at man skriver deler av et større C++ prosjekt i Assembly for å øke ytelsen. Nå skal det også sies at jeg har antatt at du vil lære x86 IA-32 assembly. Lenke til kommentar
teflonpanne Skrevet 27. mai 2008 Del Skrevet 27. mai 2008 Du må ha en assembler ja, som nasm eller gas for linux f.eks. I windows fins det noen andre, men jeg vet ikke helt hvem. Koden skriver du i en teksteditor. Jeg kan anbefale deg å lære deg enten vim eller emacs, to veldig fleksible og kraftige editorer når du først har lært deg dem, men det tar litt tid før alle kommandoene sitter skikkelig. Men ikke bruk notepad ihvertfall Hvis du vil lære deg assembly, low level detaljer om prosessoren, cache, minne, operativsystemet, nettverk, tråder osv og hvordan alt henger sammen anbefaler jeg http://www.amazon.com/Computer-Systems-Pro...t/dp/013034074X denne boken. Den er ikke bare om assembler, men den tar for seg basicen og hvordan man skriver enkle programmer i det. I tillegg er det masse C-kode for de ovennevnte tingene for hvordan man programmerer effektivt med prosessoren og cache og slikt. Ofte er det også assemblerkode av C-koden. Les infoen og reviewesene, kjempebra bok syns jeg. Lenke til kommentar
Nickless Skrevet 27. mai 2008 Forfatter Del Skrevet 27. mai 2008 Okey, takk for svar Lenke til kommentar
Zethyr Skrevet 26. juni 2008 Del Skrevet 26. juni 2008 Bare så det er sagt, man lager ikke større programmer i Assembly. Det man kan gjøre er at man skriver deler av et større C++ prosjekt i Assembly for å øke ytelsen.Definér "større". Det går da fint å skrive en del megabytes asm-kode, og det kan man gjøre ganske mye "stort" med. Lenke til kommentar
DeadManWalking Skrevet 26. juni 2008 Del Skrevet 26. juni 2008 Hehe, litt diffust utsagn kanskje. Om jeg ikke tar feil er mainloopen til doom3 skrevet i masm, det er noe stort. Jeg tenkte mer i retningen av prosjekter som er basert på klient-server, hvor informasjonsbehandling og informasjonsutveksling over nettet er hovedmomentet. Et eksempel på "stort" er extens, det brukes av skoler og barnehager. Assembly har sitt bruksområdet. Lenke til kommentar
Zethyr Skrevet 26. juni 2008 Del Skrevet 26. juni 2008 Går fint å skrive noe sånt i asm, men det er klart at det er jo mer tidkrevende i en del tilfeller. Jeg tror Transport Tycoon er skrevet fullstendig i asm, forresten Lenke til kommentar
pumba50 Skrevet 18. november 2009 Del Skrevet 18. november 2009 Det tar lengre tid å skrive i assembly ja, men hvis man har biblioteker så vil jeg nesten påstå at det går akseptabelt fort å skrive. Men så er det så mange positive sider ved å skrive i assembly også. Renhet er vel det de fleste setter pris på. Et rent program hvor 90% av det du skriver kommer fra deg i motsetning til et høynivåprogram hvor halvparten eller mer er kodet av andre. Noen av grunnene til at jeg foretrekker å skrive win32asm Mulighet for raskere og mer optimalisert kode Raskere programstart Mindre diskbruk Bedre kontroll og større læringskurve Forstår høynivåspråk bedre Slippe å bruke hjelpefiler i utviklingsverktøy, man forholder seg simpelt hen til Win32 programmers reference hjelpefila. Hver linje med instruksjoner gir mening og man forstår det i motsetning til i høynivåspråk der kan alt mulig skje, man har liten eller ingen kontroll på hvor mye minne man bruker ved den gitte kode, man vet ikke hva som skjer under og man vet i få tilfeller hvem som har laget rutinene. Lenke til kommentar
Gjest Slettet+9871234 Skrevet 21. november 2009 Del Skrevet 21. november 2009 (endret) Du finner en rekke ressurser og kildetekst her: http://www.kjellbleivik.com/Books/#assembly Jeg liker selv Emabarcadero (tidligere Borland) C++ Builder der man kan skrive C / C++ kode med inline assembler blokker ASM {assembler instuksjoner her } I tillegg kan man produsere ASM filer før obj filene, så man kan lære en del ved å studere assembler koden som produseres av enkle C programmer som for eksempel løsningene til Kernighan og Ritchie, jfr. andre lenke på ovennevnte link. Endret 11. august 2010 av Slettet+9871234 Lenke til kommentar
tommen Skrevet 28. januar 2010 Del Skrevet 28. januar 2010 Hva med å prøve FreeBasic. Du kan bruke FbIde som editor som lar deg kompilere direkte fra editoren. Basic kan alle og er enkelt og forstå samtidig som en kan bruke inline assembler. Gratis og benytter tilnærmet qbasic grensesnitt som jeg er sikker på at de fleste kjenner til eks: Screen 13,,,1 Common Shared screenmem As Byte Ptr screenmem = screenptr Const xmax As Integer = 320 Const ymax As Integer = 200 Declare Function plott (Byval x As Integer, Byval y As Integer, Byval c As Byte) plott (10,50,15) plott (15,45,35) Sleep '--------------=====<PLOTTER ROUTINE>=====------------------------- Function plott (Byval x As Integer, Byval y As Integer, Byval c As Byte) asm mov eax,xmax imul eax,[y] add eax,[x] add eax, dword Ptr [screenmem] mov cl,[c] mov Byte Ptr [eax],cl End asm End Function '------------=====<PLOTTER ROUTINE END>=====--------------------- Som du ser så er det relativt enkelt å benytte. Men som tidligere nevnt så må du bruke et annet miljø en windows hvis du vil ha tilgang til porter direkte. Lenke til kommentar
TekniskFeil Skrevet 10. juli 2010 Del Skrevet 10. juli 2010 Etter det jeg har hørt er denne boken å anbefale. Gratis CHM. Art of Assembly DL Men nå er ikke jg noe Assembly ekspert så kan ikke bekrefte denne informasjonen Den var sterkt anbefalt på http://www.reverse-engineering.net/ Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå