Gå til innhold

Anbefalte innlegg

LonelyMan, nå skriver du bare tull. Det er best å avslutte tråden mens du har en snev av verdighet igjen.

 

Du er velkommen til meningene dine, og du er velkommen til hobbyen din som assembly programmerer på x86 windows.

 

Men jeg er ihvertfall lei av din sta nektelse av å se på realitet i dataverden, din nesten totalt manglende forståelse av kompilatorer, programmering, prosessorer, C, kompilator forfatterer, optimisering, osv.

 

Du snakker tåkeprat her, ingen argumenter å vurdere. Og dermed er det du som bør gå videre, du er i asm forumet forresten. Om du ikke liker det, gå til c++ forumet.

 

Jeg er ingen ekspert i det hele tatt på temaet, men jeg kan jo fortelle at for en kunnskapsløs tredjepart så virker det som det er endel tåkeprat, men den kommer ikke fra David Brown....

 

 

AtW

  • Liker 1
Lenke til kommentar
Videoannonse
Annonse

 

Alltid gøy når c++ kodere "vet best" om asm. :tease:

Det er som en russisk pengeinnkrever som har kjørt lada i 40 år, så skal han forklare ferrari sjåføren hvordan motoren i ferrarien virker.

 

Jeg vet du kan veldig lite om programmering generelt, men det er C jeg har programmert i her, ikke C++ (bortsett fra en digresjon med C++ templates). C og C++ er to språk, med ganske mange forskjell, og burde ikke forvirres.

 

Og jeg fatter ikke hvorfor du tror at du "vinner", eller har på noe som helst måte vist at assembly har noen fordeler her - tvert imot har du jobbet hardt for å overbevise alle at assembly er upassende til generell programmering, og ikke en gang særlig nyttig der hastighet er viktig.

 

Jeg lurer på hva kvalifikasjoner eller erfaring du har for dine påstand. Jeg regner med at du ikke jobber med programmering profesjonelt - det er ingen seriøst arbeidsgiver som ville ansette noen som fulltid windows x86 assembly programmerer, ihvertfall ikke med din fanatiske holdingene til realistisk programmeringsspråk.

 

For min del har jeg jobbet med både C og assembly (og en rekke andre språk) profesjonelt i nærmere 20 år, med totalt cirka 30 år med assembly, C, og mange andre språk, på flere forskjellige prosessor arkitektur enn de fleste programmerere har hørt om. Jeg vet dermed akkurat når det passer best med assembly, og når det passer best med C, og når det passer best med høyere nivå språk.

  • Liker 1
Lenke til kommentar

Jeg ser du bruker hele innlegget til å slenge upassende kommentarer, saklighet og konstruktivitet er kastet i søppelbøtta. Jeg gav deg helt klare og tydelige forklaringer på ditt forrige innlegg, at du og Geir har tatt grusom feil. Om du har vanskelig for å lese det, så kan ikke jeg hjelpe deg.

Lenke til kommentar

Og så har vi nisje markedene, militæret f.eks, der kreves det software som er skrevet helt på det laveste nivået. Så er det operativsystemer som krever endel lavnivå programmering. Så har vi kritisk kode i drivere eller andre programmer hvor vi trenger lavnivå programmering. Kompilatorer, der må en hele tiden bruke intel og amd's sine instruksjonsmanualer og optimaliseringsmanualer, gå gjennom hver eneste instruksjon og lage en god kompilator av dette, og dette er assembler programmerere.

 

Det er en populær myte eller vrangforestilling at det er c++ kodere som lager kompilatorer, he-he. Det er vi asm programmerere som lager dem, men de har selvsagt også en lang teknisk utdannelse på toppen. Men de er asm programmerere.

Tjah, GCC er f.eks skrevet i C*, ikke assembly.

 

Du må kunne assembly for å skrive en kompilator, men du trenger ikke skrive kompilatoren i assembly og det blir heller ikke gjort i noen stor utstrekning.

 

*Hovedsakelig minus noe bootstrapping kode

Endret av blackbrrd
Lenke til kommentar

Og så har vi nisje markedene, militæret f.eks, der kreves det software som er skrevet helt på det laveste nivået. Så er det operativsystemer som krever endel lavnivå programmering. Så har vi kritisk kode i drivere eller andre programmer hvor vi trenger lavnivå programmering. Kompilatorer, der må en hele tiden bruke intel og amd's sine instruksjonsmanualer og optimaliseringsmanualer, gå gjennom hver eneste instruksjon og lage en god kompilator av dette, og dette er assembler programmerere.

 

Det er en populær myte eller vrangforestilling at det er c++ kodere som lager kompilatorer, he-he. Det er vi asm programmerere som lager dem, men de har selvsagt også en lang teknisk utdannelse på toppen. Men de er asm programmerere.

Tjah, GCC er f.eks skrevet i C, ikke assembly.

 

Du må kunne assembly for å skrive en kompilator, men du trenger ikke skrive kompilatoren i assembly og det blir heller ikke gjort i noen stor utstrekning.

 

Du ER en assembler programmerer om du lager en kompilator, det er det som er poenget mitt. :) Du kan ikke kode en kompilator i c om du ikke kan asm. Og jeg sa heller ikke eksplisitt "programmerer", men assembler kompetent (for å sitere meg riktig)

 

Jeg har ikke under noen omstendigheter sagt at alle kompilatorer er skrevet i asm.

 

Og jeg forøvrig legge til at jeg skrev "ER assembler kompetente programmerere"

 

Det fins få eller ingen her som leser uttrykk klart og korrekt, er det ett tegn på at dere har holdt på for mye med detaljfattige språk :whistle:

Endret av LonelyMan
Lenke til kommentar

Og så har vi nisje markedene, militæret f.eks, der kreves det software som er skrevet helt på det laveste nivået. Så er det operativsystemer som krever endel lavnivå programmering. Så har vi kritisk kode i drivere eller andre programmer hvor vi trenger lavnivå programmering. Kompilatorer, der må en hele tiden bruke intel og amd's sine instruksjonsmanualer og optimaliseringsmanualer, gå gjennom hver eneste instruksjon og lage en god kompilator av dette, og dette er assembler programmerere.

 

Det er en populær myte eller vrangforestilling at det er c++ kodere som lager kompilatorer, he-he. Det er vi asm programmerere som lager dem, men de har selvsagt også en lang teknisk utdannelse på toppen. Men de er asm programmerere.

Tjah, GCC er f.eks skrevet i C, ikke assembly.

 

Du må kunne assembly for å skrive en kompilator, men du trenger ikke skrive kompilatoren i assembly og det blir heller ikke gjort i noen stor utstrekning.

 

Du ER en assembler programmerer om du lager en kompilator, det er det som er poenget mitt. :) Du kan ikke kode en kompilator i c om du ikke kan asm. Og jeg sa heller ikke eksplisitt "programmerer", men assembler kompetent (for å sitere meg riktig)

 

Jeg har ikke under noen omstendigheter sagt at alle kompilatorer er skrevet i asm.

 

Og jeg forøvrig legge til at jeg skrev "ER assembler kompetente programmerere"

 

Det fins få eller ingen her som leser uttrykk klart og korrekt, er det ett tegn på at dere har holdt på for mye med detaljfattige språk :whistle:

 

Jeg beklager at jeg må si noe som er soleklart til oss andre, men du har faktisk sitert deg selv når du skrev at kompilator forfatterer er "asm programmerere".

 

I realitet, har veldig mange som har jobbet med utvikling på gcc nesten ingen erfaring eller interesse i assembly. En kompilator består av mange deler - "backend" kodegeneratoren er bare én bit av systemet, og er slett ikke det største og mest kompliserte. Meste parten av koden til gcc, som er skrevet hovedsaklig i C (men nå også med litt C++), har ingenting med assembly kode generering å gjøre. Og det alle meste av gcc koden som driver kodegeneratoren er generisk for et stort utvalg av cpu'er. Det er selvfølgelig sant at de som lager selve target-spesifisk deler av backend'en må være godt kjent med prosessoren og ISA'en.

 

Og for å ta et punkt i din tidligere sitat, operativsystemer og driverer er nesten alltid skrevet i C - av og til med litt C++. Assembly bruk er minimalisert - det er brukt bare der det er uunngåelig, eller i mye brukt funksjoner der det kan fører til /betydelige/ raskere kode.

 

Det er forresten lite brukt i militær sammenheng - der er man opptatt av kvalitet, pålitelighet og sikkerhet i koden, og da detter assembly ut med en gang. Ofte er C heller ikke tillat - man må bruke bestemte subsets av C, eller kanskje Ada.

 

Jeg ser du bruker hele innlegget til å slenge upassende kommentarer, saklighet og konstruktivitet er kastet i søppelbøtta. Jeg gav deg helt klare og tydelige forklaringer på ditt forrige innlegg, at du og Geir har tatt grusom feil. Om du har vanskelig for å lese det, så kan ikke jeg hjelpe deg.

 

Jeg antar at dette er en bekreftelse at du ikke har erfaring eller kvalifikasjoner for å legge til grunn for kommentarene dine, og at assembly er bare en hobby for deg?

  • Liker 2
Lenke til kommentar

Jeg antar at dette er en bekreftelse at du ikke har erfaring eller kvalifikasjoner for å legge til grunn for kommentarene dine, og at assembly er bare en hobby for deg?

 

Jeg ser du legger ut flere upassende kommentarer og som sådan unngår mitt utsagn til deg og Geir igjen og drar det videre til å spørre om det er min hobby, det er vel klinkende likegyldig til hva jeg sa til dere.

Lenke til kommentar

 

Det du sier om macroer er ikke en assembler sak, det er en utvidet funksjon i noen assemblere, men de fleste rene assemblere støtter ikke macroer, så du skyter deg selv i leggen når du assosierer asm med macroer.

Hvilken assembler bruker du?

 

Det fins få eller ingen her som leser uttrykk klart og korrekt, er det ett tegn på at dere har holdt på for mye med detaljfattige språk :whistle:

... Og du regner assembly som et rikt språk?... Hvordan får du det til?

Endret av GeirGrusom
Lenke til kommentar

 

Det du sier om macroer er ikke en assembler sak, det er en utvidet funksjon i noen assemblere, men de fleste rene assemblere støtter ikke macroer, så du skyter deg selv i leggen når du assosierer asm med macroer.

Hvilken assembler bruker du?

 

Det fins få eller ingen her som leser uttrykk klart og korrekt, er det ett tegn på at dere har holdt på for mye med detaljfattige språk :whistle:

... Og du regner assembly som et rikt språk?... Hvordan får du det til?

 

Jeg har kodet mye i høynivå også så du må ikke ta meg for å være blind. Det er nettopp derfor jeg setter pris på asm.

Lenke til kommentar

assembler er objektorientert. Iallefall masm. Strukturer, arrayer og objektorientert kode kan linkes inn som man finner for godt.

 

I prinsippet er ingenting objektorientert på lik linje som arrays ikke er flerdimensjonale.

 

Her er ett eksempel på objektorientert asm:

 

ASSUME esi:PTR MittObjekt

mov [esi].Minvariabel, 10

ASSUME esi:PTR NOTHING

 

eller en struktur:

 

MinStruktur STRUCT

a dw ?

b dw ?

MinStruktur ENDS

 

MinStruct MinStruktur <>

 

mov MinStruct.a, 100

 

 

og om du vil kjøre en rutine i ett objekt, kan du simpelt hen bare lagre adressen i en variabel og kalle den på lik linje.

 

:yes:

 

Når det gjelder høynivåspråk så bruker jeg en RAD type programmeringsspråk. Når jeg har behov for lavprogrammering så er asm godt nok. Ett språk som f.eks ruby, c++ ligger ganske lavt det også så jeg vil ikke ha behov for det, hvis jeg har behov for noe utenom asm, så er det en RAD type programmeringsspråk.

 

Enten veldig lavt eller veldig høyt. Jeg har ikke bruk for noe i midten.

Endret av LonelyMan
Lenke til kommentar

De objektene du definerer i høynivåspråk, adressene til variabler, metoder blir kalkulert før selve programmet blir kompilert.

 

om du bruker det slik f.eks:

 

MittObjekt.X := 10

 

så blir dette konvertert til

 

mov [esi+4], 10

 

hvis X er første variabelen i objektet blir det +4

hvis X er andre variabelen i objektet blir det +8

 

Alle disse adressene blir pre-kalkulert før kompileringen. Så i prinsipp er ingenting objektorientert. Det er bare en forenkling for øyet på en måte.

Lenke til kommentar

La oss si vi har ett objekt her i et eller annet språk.

 

TSimple = class(TObject)

simpleCount : Byte;

Tall : Integer;

Kokosplante : String[200];

end;

 

Mittobjekt: TSimple;

 

og du skriver:

 

Mittobjekt.simpleCount := 'A';

 

så vil det konverteres til

 

mov [esi], byte ptr 0x41

 

hvis du skriver

 

Mittobjekt.Tall := 100 så konverteres det til:

 

mov [esi+1], dword ptr 100

 

+1 byte fordi en char ligger foran tall variabelen.

 

Grunnen til at objektorientert programmering er stabilt er fordi kompilatoren tar seg av adresseringen for deg. Hadde ikke den gjort det, ville programmet kræsjet i det uendelige for mange programmerere.

Endret av LonelyMan
Lenke til kommentar

Du troller bare nå. En veldig dårlig taper.

 

For de som kanskje ikke skjønner alt som blir sagt, David er bare ute etter å redusere rykter. Jeg fikk endel god honnør av noen folk på tråden og etter den gang kom David Brown inn og skulle forsøke å bryte det ned igjen. Det er bare en ren svertekampanja, men jeg sier det kun for at folk ikke skal bite på det tullet han kommer med. For det er renspikket tull, les gjennom postene mine, se på bløffene hans fra ende til annen, se alle postene mine som han overser og later som ikke fins. Glem hele fyren (om du skulle være noen som helst i tvil)

Endret av LonelyMan
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å
×
×
  • Opprett ny...