Toon posts:

[binair programmeren vraagje]

Pagina: 1
Acties:
  • 386 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Is het in praktijk mogelijk binair te programmeren?? Dus met 1tje en 0etjes ?

Zo ja. wat voor personen kunnen dat en zit er ook nog een structuur in zoals bij Assembler ??

  • WFvN
  • Registratie: Oktober 2000
  • Laatst online: 30-08 15:56

WFvN

Gosens Koeling en Warmte

Op vrijdag 05 april 2002 23:06 schreef jasperh17 het volgende:
Is het in praktijk mogelijk binair te programmeren?? Dus met 1tje en 0etjes ?
Ghehehe... hoe denk je dat een processor werkt... Okee... is natuurlijk hardwarematig... Maar ook met software moet het te doen zijn... gewoon een brok logica

  • Grum
  • Registratie: Juni 2001
  • Niet online
als je echt bikkel bent kan je et wel hoor ;)

tis alleen ietwat lastig ;)

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

uhm is assembler niet bikkelstyle genoeg voor je?? :P

Doet iets met Cloud (MS/IBM)


  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 03-09 05:13
Ik denk dat de mensen die assemblers en compilers geschreven hebben wel verstand hebben hoe binair programmeren werkt enzo. Maar ik denk dat het niet echt simpel zal zijn. Het is natuurlijk makkelijker om een gewone programmeertaal of Assembly te gebruiken.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 09-09 22:48

.oisyn

Moderator Devschuur®

Demotivational Speaker

ik kan me niet voorstellen dat iemand dat uit z'n hoofd kan (misschien iemand uit de begintijd van de computer, waar je alles nog met 1-tjes en 0-letjes moest invoeren, maar die hebben er vast ook een manual bij)

maar misschien begrijp ik je verkeerd... wat bedoel je precies met 'binair programmeren'?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
ik bedoel echt een programmatje maken of een functie ofzo dat je maakt met alleen 101010001001000010001001001010 << ALLA dit, alleen dan veel meer denk ik.

Ps. Assembler valt nog best wel mee, het is vrij gestructureerd

  • WFvN
  • Registratie: Oktober 2000
  • Laatst online: 30-08 15:56

WFvN

Gosens Koeling en Warmte

Op vrijdag 05 april 2002 23:14 schreef jasperh17 het volgende:
ik bedoel echt een programmatje maken of een functie ofzo dat je maakt met alleen 101010001001000010001001001010 << ALLA dit, alleen dan veel meer denk ik.

Ps. Assembler valt nog best wel mee, het is vrij gestructureerd
OOOW...... het oude ponskaartenidee dus...... :P

  • Xanthus
  • Registratie: Februari 2002
  • Laatst online: 11-07 12:45
assembler zet (bijna) regelrecht je opdrachten om in 1tjes en nulletjes.
Als je nou zelf eventjes alle opdrachten uit je hoofd leert(zelfde als bij assembler, alleen dan als 110001), en dan een header section en data section in elkaar zet kom je nog wel ergens :)
Succes :P

  • MisterE
  • Registratie: April 2002
  • Laatst online: 19:21
assemblly is bijna gelijk aan binair. ze hebben het beestje (reeksen 1-en en nul-en) gewoon een naam gegeven.

wat overzichtelijker...

Verwijderd

Topicstarter
Hoe moet ik dat zien dan :

zo bijvoorbeeld ??

i=10101100 {stel je voor}
n=11011011
t=11100110
spatie=11111111

INT ?? = 10101100110110111110011011111111 ??

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 09-09 22:48

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op vrijdag 05 april 2002 23:14 schreef jasperh17 het volgende:
ik bedoel echt een programmatje maken of een functie ofzo dat je maakt met alleen 101010001001000010001001001010 << ALLA dit, alleen dan veel meer denk ik.

Ps. Assembler valt nog best wel mee, het is vrij gestructureerd
ah, dan begreep ik het dus toch goed :)

maar waarom wil je dat weten? Je zou natuurlijk kunnen stellen dat dat 1337 is... maar naar mijn idee is het gewoon debiel :P

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op vrijdag 05 april 2002 23:11 schreef OiSyN het volgende:
ik kan me niet voorstellen dat iemand dat uit z'n hoofd kan (misschien iemand uit de begintijd van de computer, waar je alles nog met 1-tjes en 0-letjes moest invoeren, maar die hebben er vast ook een manual bij)

maar misschien begrijp ik je verkeerd... wat bedoel je precies met 'binair programmeren'?
Binair doe ik niet uit m'n hoofd, maar hexadecimaal voor de Z80 is nog wel wat van blijven hangen:
21 00 A0 11 00 B8 01 FF 1F ED B0
(verplaats een stukje videogeheugen)

Who is John Galt?


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

Op vrijdag 05 april 2002 23:28 schreef jasperh17 het volgende:
Hoe moet ik dat zien dan :

zo bijvoorbeeld ??

i=10101100 {stel je voor}
n=11011011
t=11100110
spatie=11111111

INT ?? = 10101100110110111110011011111111 ??
Neuh, dat is alleen een vertaling van de broncode naar binair - zo zou helloworld.c er uit zien op je harde schijf, zeker niet na compilatie in je processor.

001101etc011010 betekend bij wijze van spreken dat je de bitjes in plaats 1 en plaats 2 in je geheugen wilt vergelijken, als ze gelijk zijn komt die waarde op plaats 3 te staan. Afhankelijk van de hardware die je hebt natuurlijk.

Int is al een logisch iets, je bent binair bezig als je alleen onderscheid maakt tussen 0 en 1 - als je dus iets op je scherm wilt laten zien moet je dat dus ook best wel precies opschijven door stuk voor stuk de goede bytes op de goede volgorde in het geheugen van je videokaart weg te schrijven. Persoonlijk was hello world of een wijziging van bestaande machinecode in assembler wel weer genoeg voor mij :+

int i = 213; => 00001011010100101
writeln(i) => 10101010101010111010 zal niet gaan...

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • MisterE
  • Registratie: April 2002
  • Laatst online: 19:21
kijk als 1001010110 een jump statement voor je processor is dan word dat afgekort met 'jmp'.

zo kan je dus hele statements maken zoals het verplaatsen van data tussen processor.

zoasl mov aex,3.

sorry, weet het niet meer uit mijn hoofd, ben al te lang van school (gelukkig)

BTW: van de voorbeelden klopt niets, maar zo werkt het ongeveer.....BOEIE !!

Verwijderd

Als je weer een film ziet, waarin een of andere whizz-kiddo ongecontroleerd op het toetsenbord begint te rammen en je ziet op z'n monitor allemaal nullen en enen (of zelfs complete lappen tekst) voorbij vliegen, dan is dat geen binair programmeren... alleen slechte special fx >:)

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
"If God wanted us to be binary programmers, he would have given us two fingers. On all 16 hands."

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Verwijderd

Wil je Binair gaan programmeren????

ik kan je verzekeren dat je na een dag volledig volslagen compleet krankzinnig bent, en dat ze je kunnen afvoeren

Verwijderd

Je kunt met dat binaire gedoe wel leuk werken met getallen, das wel geinig om te doen overigens...
Excess e methode enz.

Verder lijkt proggen in 100100101010101 me erg zinloos..

Verwijderd

Op vrijdag 05 april 2002 23:06 schreef jasperh17 het volgende:
Is het in praktijk mogelijk binair te programmeren?? Dus met 1tje en 0etjes ?
Sure, met een 0 en 1-compiler. Maar of die te vinden zijn op het net......

Prog het anders zelf :)
Zo ja. wat voor personen kunnen dat en zit er ook nog een structuur in zoals bij Assembler ??
Zo'n beetje elke IT'er die zichzelf serieus neemt zou het wel kunnen, maar zou het nooit van z'n lang zal z'n leven doen.

Met zowel assembly als diehard 01-codes inkloppen schrijf je machine-instructies. In assembly kan je 1 instructie opschrijven met een zogenaamde mnemonic (mov, add, sub... etc.). Een zo'n mnemonic wordt in de computer gerepreseteerd als een getal. Zo'n getal bestaat uit meerdere 0'en en 1'en.

De structuur van het 01-coderen is dus min of meer gelijk aan die van assembly, omdat je bij beide machineinstructies schrijft. Bij de ene maak je het jezelf alleen onnodig moeilijk en langdradig, en bij de ander niet. Het enige wat 01-coden bovenop assembly heeft, is enorme tijdverspilling.

  • BurningSheep
  • Registratie: Januari 2000
  • Laatst online: 03-05 22:13
Op zaterdag 06 april 2002 00:09 schreef Codin het volgende:
Het enige wat 01-coden bovenop assembly heeft, is enorme tijdverspilling.
En je kan erover opscheppen tegenover je vrienden natuurlijk (zeker niet onbelangerijk)

edit:

Als je machine code wil gaan proggen dan doe je dat uiteraard niet met enen en nullen, maar in het hexadecimale stelsel. Enen en nullen zijn gewoon niet geschikt voor mensen (sowieso veel te veel typewerk ;))
Vroeger heb ik wel in asm geprogrammeerd en op een gegeven moment ook voor de grap eens in machine code. Volgens mij gebruikte ik daar debug.exe voor (zat altijd standaard bij dos). Maar ik vond een progje van zo'n 4 bytes toen wel meer dan genoeg eigenlijk :)
Gewoon hex code opzoeken van de opcodes en de registers enzo, en dat wegschrijven als een .com file
Het enige wat het progje deed trouwens was de computer resetten (dat was ook de bedoeling, het riep de bios interrupt aan die daarvoor bedoeld was)

Verwijderd

Op zaterdag 06 april 2002 00:18 schreef BurningSheep het volgende:

[..]

En je kan erover opscheppen tegenover je vrienden natuurlijk (zeker niet onbelangerijk)
Schrijf dan een eigen DOS ofzo

Verwijderd

Op zaterdag 06 april 2002 00:18 schreef BurningSheep het volgende:

[..]

En je kan erover opscheppen tegenover je vrienden natuurlijk (zeker niet onbelangerijk)
Mwa...

10-coden is eigenlijk hetzelfde als assembly, maar dan met een dikke vette manual erbij waarin je alle codes kan opzoeken.

En opzoeken is niet bepaald een intelligent iets, dus wat dat betreft vormt assembly een mooie abstractie van vieze arbeid :7

  • BurningSheep
  • Registratie: Januari 2000
  • Laatst online: 03-05 22:13
Op zaterdag 06 april 2002 00:25 schreef Codin het volgende:

[..]

Mwa...

10-coden is eigenlijk hetzelfde als assembly, maar dan met een dikke vette manual erbij waarin je alle codes kan opzoeken.

En opzoeken is niet bepaald een intelligent iets, dus wat dat betreft vormt assembly een mooie abstractie van vieze arbeid :7
Maar dat weten je vrienden waarschijnlijk niet, als ze die hex code zien zijn ze vast en zeker erg onder de indruk ;)

  • beany
  • Registratie: Juni 2001
  • Laatst online: 19:30

beany

Meeheheheheh

Je bedoelt denk ik dit:

http://developer.intel.com/design/pentium4/manuals/24547106.pdf

Hier staat precies in beschreven hoe assembly om wordt gezet naar binaire code. Vroeger stond dit in 1en en 0en, tegenwoordig in hex codes. Bij Macro Assembler 6.0 werd een boekje meegeleverd waar dit ook in stond, voor de 386 instructies. Kon je heel makkelijk een eigen assembly compiler mee maken, was wel fun :P

Dagelijkse stats bronnen: https://x.com/GeneralStaffUA en https://www.facebook.com/GeneralStaff.ua


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 09-09 22:48

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op zaterdag 06 april 2002 00:36 schreef BurningSheep het volgende:

[..]

Maar dat weten je vrienden waarschijnlijk niet, als ze die hex code zien zijn ze vast en zeker erg onder de indruk ;)
je kan ook asm'en, compilen, en het resultaat mbv een hex editor aan je vrienden laten zien :P

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
Op zaterdag 06 april 2002 02:02 schreef OiSyN het volgende:

[..]

je kan ook asm'en, compilen, en het resultaat mbv een hex editor aan je vrienden laten zien :P
waarom dan nog asm gebruiken? :P

  • Wirf
  • Registratie: April 2000
  • Laatst online: 14:32
Als je dan toch perse in 1-0 wil programmeren, dan weet ik de perfecte editor voor je:

Hackers View (oftewel "hiew")

Heeft sinds kort zijn wachtwoord weer terug gevonden!


  • Scarfish
  • Registratie: Maart 2002
  • Laatst online: 06-05-2025
2 redenen om niet met 0etjes en 1tjes te werken:
1. Je eigen levensduur loopt zo'n 50 jaar terug.
2. Iedereen verklaart je spontaan voor gek en je krijgt een verbod op computers.

Erm...


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 14:51

mulder

ik spuug op het trottoir

Op vrijdag 05 april 2002 23:28 schreef jasperh17 het volgende:
Hoe moet ik dat zien dan :

zo bijvoorbeeld ??

i=10101100 {stel je voor}
n=11011011
t=11100110
spatie=11111111

INT ?? = 10101100110110111110011011111111 ??
Wat bedoel je eigenlijk met assembly, assembly kent geeneens INT volgens mij. Ik heb dan maar heel eventjes met asm gekloot, alweer zo'n 10 jaar terug.

oogjes open, snaveltjes dicht


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Op zaterdag 06 april 2002 04:09 schreef Don Facundo het volgende:
assembly kent geeneens INT volgens mij
interrupt :)

  • RgR
  • Registratie: December 2000
  • Laatst online: 08-09 21:58

RgR

Wil je opnieuw het wiel uitvinden? :+ Softwarebedrijven en einstein-achtigen hebben ontelbare manuren gestoken in het uitdenken en ontwikkelen van programmeertalen, structuren en compilers om mensen efficiënter te laten programmeren... en nu wil jij echt hélemaal weer vanaf het begin alles zelf uit gaan vogelen?

Ik denk dat je te laat bent geboren. Vroeger was alles beter: computers ter grootte van een flatgebouw zonder beelscherm en met allerlei grote schakelaars en ponskaarten ... laat maar ;)

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 14:51

mulder

ik spuug op het trottoir

Op zaterdag 06 april 2002 04:20 schreef marcusk het volgende:

[..]

interrupt :)
Iemand die mij kan verlossen en vertellen waar die om de MSX zat? &F9FA ofzo?

EDIT: &HFDF9 toch?

oogjes open, snaveltjes dicht


  • Sjaaky
  • Registratie: Oktober 2000
  • Laatst online: 03-09 23:48
Maar het aller aller grootste nadeel van binair (of machinecode zoals het echt heet) programmeren is dat je na het toevoegen van 1 instructie al je jump (en waarschijnlijk ook nog andere) instructies moet gaan nalopen en veranderen.
Voorbeeld (even prut opcodes):
0x0: 0x90
0x1: 0x0A 0x01 0x39
0x4: 0xF9 0x01 0x00 //Stel dit is een jump naar locatie 0x1

Als je dan een instructie invoegt op locatie 1: van 2 bytes, dan moet je de jump op 0x04 (dan op 0x06) zo aanpassen dat hij naar locatie 0x03 jumpt. Dit is natuurlijk op te lossen door relatieve jumps te gebruiken, maar dan heb je het probleem als je een instructie vlak voor de jump wilt invoegen.
Kortom, voor een kleine wijziging moet je veel code veranderen. :( Als je trouwens direct machinecode programmeert (dus in een hex-editor een .com-file maakt, kan je ook geen commentaar bij je code zetten, wat in dit geval best wel makkelijk zou zijn)
Om dit zo veel mogelijk te voorkomen moet je je programma dus van te voren helemaal uitdenken, dan in een soort assembly opschrijven en dan pas omzetten in binair, intikken en hopen dat het klopt.

De eerste programma's moeten natuurlijk in machinecode zijn geschreven, omdat er simpel weg niets anders was om in te programmeren. Maar zodra je de eerste assembler hebt, kun je de volgende assembler in assembly programmeren. :Y) Je kunt dan ook bijv. een C compiler in assembly programmeren, maar zodra je die hebt kun je een nieuwe C compiler in de oude C compiler programmeren. En dan kun je natuurlijk weer een nieuwe assembler schrijven in C code met behulp van de C compiler. :9~ (Dit heet bootstrapping)

  • DWZ
  • Registratie: Maart 2002
  • Laatst online: 29-11-2021

DWZ

oftewel... het is onhandig om dat te gebruiken..

je kan beter een assembler gebruiken..
daar zie je tenminste wat je doet..

als er een fout staat in je programma.. bijvoorbeeld een tekentje vergeten probeer jij dan eens tussen al die regels
0100101110101010101001010101010010101001001010101001010
1010101010101110101111101011111111011010110101010111111
0111001010010101001010101010111010100111100000101010010
1010010111111010101011011111010100100001010111110101010

de fout te vinden...

  • Grum
  • Registratie: Juni 2001
  • Niet online
De fout zit na die 0 :X

  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
Op zaterdag 06 april 2002 17:35 schreef Grum het volgende:
De fout zit na die 0 :X
Hmm dat zag ik ook al meteen :+

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 09-09 22:48

.oisyn

Moderator Devschuur®

Demotivational Speaker

tsss stelletje n00bs. Hij zit na die 1, dat zie je toch zo :? :+

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 19:57
Wat zijn programmeursgrapjes toch flauw ... :)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 15:00

TrailBlazer

Karnemelk FTW

ik heb nog geprogrameerd met alleen een nul :? :7

  • BurningSheep
  • Registratie: Januari 2000
  • Laatst online: 03-05 22:13
Op zaterdag 06 april 2002 19:15 schreef TrailBlazer het volgende:
ik heb nog geprogrameerd met alleen een nul :? :7
:9~

het is wel mogelijk natuurlijk, maar je code wordt er wel gigantisch groot van >:)

Verwijderd

Op zaterdag 06 april 2002 19:15 schreef TrailBlazer het volgende:
ik heb nog geprogrameerd met alleen een nul :? :7
Bij mijn vorige baas moest ik samen programmeren met waarschijnlijk de grootste nul die er bestaat >:)
Pagina: 1