Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

Noe så vanvittig bra!

 

Har nettop sittet oppe et par timer lengre enn jeg hadde tenkt og lært meg noe jeg trodde var tørt og vanskelig. Utrolig interresant og godt skrevet! Eneste jeg kan si du burde endre på er noen få skriveleifer.

 

I morgen blir det Assemblyprogrammering på meg jah!

Lenke til kommentar
Utrolig bra! Det jeg til nå har lest har vært veldig lærerikt men også veldig enkelt skrevet, og nettopp dette er det mange bøker som har bommet litt på. Skriver altfor avansert og derfor detter en ut med en gang.

5764543[/snapback]

 

Vil si meg enig der. Tror du kan skrive om delen om binære tall.

Lenke til kommentar

Jeg har lastet ned boken, fikk lest gjennom litt av den i går.

Utrolig bra bok, også med oppgaver og "pensum" for hvert kapittel.

 

I utgangspunkte fatter jeg interesse i assembly så jeg kan bruke det sammen med VB for de skikkelige raske delene av koden. Samt driver jeg å lærer meg rev.ing noe som krever skillz innen assembly.

 

Ikke dårlig, ikke dårlig. :D

Lenke til kommentar
  • 2 uker senere...
Hei, jeg holder på å skrive en bok / guide til assembly, som tar for seg assembly-språket grundig, i fra starten av. I den anledning lurer jeg på hva dere syns?

 

Last ned i PDF-format her

 

Du må ha Adobe Acrobat Reader installert for å lese boka.

 

EDIT: boka omhandler x86-assembly.

5739061[/snapback]

 

Hei

 

Jeg synes du har lagd mye bra! Men siden du ønsker tilbakemelding, har jeg noen kommentarer:

 

Som du skriver i innledningen er det viktig å ha presise begreper. Assembly er en symbolks representasjon av den binære koden (før assembly var switch-lasting av 0-er or 1-ere programmeringen). Forskjellige maskiner har både forskjellige binære koder, og forskjellige symbolske repsentasjoner. Du skriver en bok om intels x86, og en eller annen dialekt av den symbolske representasjonen.

 

Jeg synes du mangler en omtale av assembleren som du skal bruke. I praksis er den, og de direktiven den aksepterer, helt avgjørende for å kunne lage programmer i assembly. Og du kommer nok heller ikke utenom linkeren.

 

Du har et eget kapittel om bios. Det jeg vil anbefale, er at du skriver noe generelt om systemkall og interrupt, user kontr supervisory state og gir en kort gjennomgang av de systemkallene (bioskallene) du mener brukeren trenger (i hvert fall de du skal bruke i boka di).

 

Lykke til videre!

Lenke til kommentar

Takk. Når jeg ser på boka nå, føler jeg at den egentlig er ganske dårlig. Tror jeg skriver ny, eller hvertfall om mye av den gamle. Tror jeg kutter ut "lær deg assembly"-stilen. Folk som lærer seg assembly, kan som regel alltid et annet språk fra før uansett.

Lenke til kommentar
Er interruptene i Linux de samme som i M$ Baserte systemer?

5769246[/snapback]

 

Nei, dessverre. Det er derfor jeg har skrevet at vi bruker Microsoft-operativsystemer når vi programmerer i boka.

 

Assembly-programmering i Linux er heller ikke så vanlig som i Microsoft-operativsystemer, har jeg fått inntrykk av...

5769940[/snapback]

Store deler av linux kjernen er skrevet i assembly, der de bruker C og assembly om hverandre. Samme med Minix

 

Syns boka di var ganske bra jeg, ble litt for basic for meg at jeg leste igjennom hele. Men for nybegynnere må dette være helt i blinken. Skriver du dette om til atmel prosessorer tror jeg du lett kan få publisert den som lærebok (har intrykk av at Norges høyskoler bruker atmel mer enn intel)

 

Burde kanskje skrive mer (noe?) om Input Output på portene da Mikrokontrollere som styres med assemblyspråket som regel benytter seg av slike ting.

Endret av turbz
Lenke til kommentar
  • 3 uker senere...

Jeg skumleste nettopp raskt igjennom boka du lenker til i første innlegg og jeg må si jeg ble imponert, Johan123321. Jeg likte spesielt oppgavene som ble gitt for hvert kapittel (har du planer om å inkludere fasit også?).

 

Jeg holder selv litt på med NASM og GAS for x86/Linux på hobbybasis og sleit en del for å finne tutorials og lærebøker på nettet. Endte til slutt opp med en bok ("Professional assembly programming", Wrox forlag som baserer seg på GNU Assembler (GAS) med AT&T-syntaks som bl.a. brukes av gcc og er fri programvare, mens jeg egentlig lette etter hjelperessurser for NASM (sammen med Linux) som bruker den mer "vanlige" Intel-syntaksen. Etterhvert som man lærer greier man jo å se forbi syntaksforskjellene...) som jeg har brukt en del.

 

Selv om du kanskje føler at boka di ikke er perfekt slik den er, vil den nok fungere som en fin lærebok for nysgjerrige og interesserte nybegynnere. Et annet pluss (for nordmenn) er at den er skrevet på norsk, og dermed reduserer terskelen for unge datainteresserte som kanskje synes engelsk blir tunglest. Som noen her tidligere nevnte vil du nok ha bedre muligheter for å gi ut en slik bok kommersielt dersom den i stedet var rettet mot f.eks ASM for Atmels AVR eller andre mikrokontrollere, men da kreves det jo at man har tilgang på spesifikk hardware for å ta i bruk ASM-en.

 

Siden x86 ASM er nesten utdøende (noen vil kanskje protestere, men det er ikke så mange som utvikler i x86-ASM lenger -- ungdommen i dag velger ofte heller å lære seg et mer høynivå språk) så er det jo ekstra fint at noen gidder å skrive en lærebok for nettopp x86-ASM.

 

Det kunne vært interessant å høre hvor/hvordan du har lært deg alt dette. Hvilke læremidler har du brukt og skriver du mye ASM til vanlig? Lykke til videre med boka di!

Endret av kommers
Lenke til kommentar

Bra at du syns boka var bra (så langt) :)

 

Jeg har planer om å skrive mye på nytt - hvertfall omformulere en del ting (jeg la for boka ut på FreakForum, der den fikk krass kritikk og bare dårlige kommentarer). Tror også jeg skriver 32-bits registre med en gang, slik at det sitter inne fra starten av.

 

Hvor jeg har lært x86 assembly, er vel i hovedsak av tutorials på nettet. Prøvde å lese "Art of assembly"-boka, men personlig syns jeg den var litt for omfattende og tunglest. Bør vel kanskje nevne at det var lettere å lære x86 assembly, siden jeg hadde litt 6502 assembly inne fra før.

 

Til vanlig programmerer jeg ikke så mye x86, men mer 6502 (nå for tida, men det varierer). Driver en del med NES-programmering, men har også skrevet et x86 OS før, som skoleprosjekt.

Lenke til kommentar
Heh, takk. VB er kanskje ikke det mest brukte språket når det gjelder å blande inn assembly-kode da :p

5984392[/snapback]

 

Nei har forstått dette, men du vel ikke hvordan jeg gjør det? :innocent:

5984821[/snapback]

 

Går jo ann å opprette en C++ dll hvor du bruker inline asm

 

Et enkelt inline asm eksempel:

 

 

int assembly(int test){

int __asm{

mov eax, test; //flytter test til eax

add eax, 2; //legger til 2 i eax

mov test, eax; //flytter eax til test

}

return test;

}

 

int main(){

cout << assembly(2);

return 0;

}

 

Jeg kan ikke garantere att dette virker, da jeg ikke kan verken c++ eller asm.

Endret av ze5400
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...