Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Maskinkod

Postades av 2006-01-11 19:33:26 - Alexander Mihajlovic, i forum arbete, karriär, utveckling, Tråden har 10 Kommentarer och lästs av 1491 personer

Jag har nyligen lärt mig grunderna av assembler, och nu vill jag lära mig att översätta det till maskinkod. Jag är mest intresserad av 32-bit, men 16- och 64-bit kan vara lärorikt att läsa om också.

Någon som har tips om en bra sida eller bok?

Tack på förhand

Alexander


Svara

Sv: Maskinkod

Postades av 2006-01-11 19:39:15 - Oskar Johansson

Det enda (i teorin) du behöver är en lista med olika kommandons betydelse i maskinkod. Och tänk på att t.ex. "mov" eller "add" inte bara har en enda binär motsvarighet utan ett antal beroende på om det är olika register, längd på adresser eller liknande.

Om du inte skriver "ren" assembly utan assembly med en massa "fusk" såsom if-satser, loopar eller macron blir det förståss knöligare då du måste veta hur de implementeras.


Svara

Sv:Maskinkod

Postades av 2006-01-11 19:52:10 - Alexander Mihajlovic

Det första hade jag redan, delvis anat mig till och jag letar just nu efter en sådan lista.
Angående "ren" och "fusk" assembly så är sanningen den att jag bara läst allting, inte skrivit någon egen kod.

Tack för svaret


Svara

Sv: Maskinkod

Postades av 2006-01-12 13:05:41 - Sam Borfors

Ehh, normalt sett så kan jag inte se så stor anledning att göra sådan översättning själv, bättre att använda någon assemblator (heter det så på svenska?) som gör det. Förmodligen kan du skriva assembler direkt tillsammans med din vanliga kod (fungerar utmärkt i till exempel Visual Studio).

Vill du absolut lära dig att översätta direkt till maskinkod så är det nog enklast att helt enkelt ladda ner specifikationerna för den processortyp som du kodar för. Intel har tex bra sådana dokument som beskriver de instruktioner deras processorer klarar av och hur de är uppbyggda. Någon generell sådan översättning finns inte då både de olika instruktionerna och hur de kodas skiljer sig mellan olika processorfamiljer.

Har en viss svag aning om att vi kanske inte menar riktigt samma sak med "assembler" och "maskinkod" men tror att man med assembler normalt menar den läsliga form av maskinkod som processorn använder, tex:

shl eax, 0x06

medans maskinkoden då blir (uttryckt med hexadecimala tal):

C1E006

Exakt hur man bryter detta tal till instruktionen finns i manualerna. Här är en länk till intels hemsida:

http://developer.intel.com/design/pentium/manuals/


Svara

Sv:Maskinkod

Postades av 2006-01-12 16:02:36 - Erik Eloff

Det heter inte assemblator . . .

Språket heter Assembly och kompilatorn heter Assembler om jag fattat det hela rätt

/Erik


Svara

Sv: Maskinkod

Postades av 2006-01-12 19:29:45 - Sam Borfors

Sant, det var jag som försökte försvenska det hela. Tack.


Svara

Sv:Maskinkod

Postades av 2006-01-12 23:10:52 - Alexander Mihajlovic

Anledning till att jag vill lära mig hur det funkar är för att jag vill skriva en kompilator, som Visia Compiler (www.kidev.com)

Tack för länken! Jag harr dock en fråga till dig, Sam:
Är E0h alltid eax?
>>shl eax, 0x06
>>C1E006

Tack för alla svaren =)


Svara

Sv: Maskinkod

Postades av 2006-01-13 12:29:38 - Sam Borfors

Ahh, då kan jag förstå varför du vill lära dig det hela. När det gäller hur man tex refererar till register med mera så är det inte riktigt så enkelt som att ett register har ett visst värde. Det bästa är om du läser manualerna som jag länkade till, i del 2 (uppdelad i del 2A och 2B) finns i början en genomgång av hur det hela är uppbyggt med mera, borde vara en bra början. Sen i resten av de mer än tusen sidorna gås varje instuktion igenom i tur och ordning. Appendix A och B är nog till nytta med.


Svara

Sv: Maskinkod

Postades av 2006-01-13 12:43:59 - Niklas Jansson

Maskinkod är typ det sista du behöver lära dig. Lär dig att parsa och typechecka först.


Svara

Sv:Maskinkod

Postades av 2006-01-13 18:58:10 - Alexander Mihajlovic

Har redan skrivit en lexical parser och en bra början till en syntactical parser.
Jag vill veta lite mer om hur maskinkoden funkar innan jag förtsätter, så att jag går i rätt riktning.


Svara

Sv: Maskinkod

Postades av 2006-01-16 08:35:51 - Pontus Wång

Lär dig grunderna på <url>http://win32asm.cjb.net/</url> köp en bok som tar upp hur x86-instruktionerna fungerar eller läs om det på <url>http://x86.org/</url>. Skriv egna program som utnyttjar assembler, du kan skriva huvuddelen av i C++ och sedan använda dig av <b>__asm</b>-direktivet i Visual Studio för att få en kort uppstartssträcka. Skaffa en debugger som du kan stega igenom assemblerkod med och försök att förstå dig på hur koden är uppbyggd.
Lär dig allt om minneshanteringen och framför allt, se till att ha gott om tid till förfogande, det är inget man lär sig i en handvändning.
Jag har programmerat assembler i 15 år på ett flertal plattformar och ser mig själv som nybörjare...


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 153
27 952
271 704
713
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies