weet iemand waar ik uitgebreide uitleg en voorbeelden zou kunnen vinden om de COMx en LPTx poorten van een PC te sturen met Assembler code? Ik ben eveneens op zoek naar een lijst met de adressen van alle registers die instaan voor het instellen van allerlei poorten, IRQ's, ... , een lijst met beschikbare IRQ's.
Kan iemand mij hieraan helpen?
Google vindt veel, maar begrijpt m'n vraag niet zo goed. Ik weet dan ook niet echt met welke termen ik moet gaan zoeken. "driving COM1 assembler" levert op de eerste pagina's geen (mijn inziens) interessante links op.
Er is een programmaatje HelpPC waarin dit soort informatie staat:
formatting link
Er is ook een HTML versie van de informatie die in HelpPC staat:
formatting link
Ook interessant is deze site:
formatting link
Houdt er overigens rekening mee dat je onder Windows en Linux hardware poorten niet direct kan aansturen; dat kan alleen vanuit een device driver. Vanuit MS-DOS is het overigens geen probleem.
"CV" schreef in bericht news:cGexd.4414$ snipped-for-privacy@phobos.telenet-ops.be...
Zoek op Ralph Brown interrupt list en gij zult vinden. Verder zul je op
formatting link
vast wel een en ander vinden. Verder is comp.lang.asm.x86 een groep waar dit soort dingen nogal eens aan de orde komt. Als je de header van de berichten daar eens bekijkt, zul je de site van de FAQ van die groep vinden, waar mogelijk ook nog wel het een en ander te vinden is.
Veel succes met je programmeren! Vriendelijke groeten, Rene
In de jaren van de Z80 heb ik heel wat programmeerwerk gedaan en assembler gestudeerd, poorten aanspreken en uitlezen doe je met simpele IN en OUT commando's. Ik neem aan dat je een boekwerkje hebt met mnemmonics? Zonder de taal kan je immers niets voor elkaar krijgen;-)) Handiger is het een bijvoorbeeld basic interpreter of C(++) VB of een andere hogere programmeertaal te gebruiken. Een PC in assembler te programmeren zijn parels voor de zwijnen.
"CV" schreef in bericht news:cGexd.4414$ snipped-for-privacy@phobos.telenet-ops.be... | Hallo, | | weet iemand waar ik uitgebreide uitleg en voorbeelden zou kunnen vinden om | de COMx en LPTx poorten van een PC te sturen met Assembler code? | Ik ben eveneens op zoek naar een lijst met de adressen van alle registers | die instaan voor het instellen van allerlei poorten, IRQ's, ... , een lijst | met beschikbare IRQ's. | | Kan iemand mij hieraan helpen? | | Google vindt veel, maar begrijpt m'n vraag niet zo goed. Ik weet dan ook | niet echt met welke termen ik moet gaan zoeken. | "driving COM1 assembler" levert op de eerste pagina's geen (mijn inziens) | interessante links op. | | Alvast bedankt voor de hulp! | | CV | |
daar zie je dat mijn systeem 4 seriele en 3 printerpoorten heeft
0000:0400 F8 03 = 3F8 is io adress van com1 F8 02 = 278 is io adress can com 2 dan volgt 3e8 ( com3) en 2E8 ( com4) vervolgens de LPR poort (3BC) LPT1 op 378 en lpt2 op 278
als je iets op lpt1 wilt laten verschijnen dan kun je volgende doen out 0x378,
een printerpoort heeft altijd 3 adressen in gebruik het base ( 378 278 of
3bc ) en de 2 volgende base adress is de data ( pin 2 to 9 op de connector zijn d0 tot d7 )
dan heb je een controle register op base +1 en dan het input register op base + 2
ook een goede handleiding is de manual van Turbo Assembler van Borland of MASM van Microsoft. De beste assemblers voor PC is vind ik persoonlijk IASM86 van intel. omdat je daar ook rommable code can mee maken. ( TASM en MASM assembleren alleen code die onder een OS zoals DOS kan draaien )
met IASM kan je als je wilt zelf een bios schrijven of een romcode die op een eprom moet komen op een insteekkaart. ( heb ik vroeger meerdere malen gedaan )
Ik moet zelfs nog ergens de sourcecode liggen hebben van de originele IBM bios zoals ie op de AT ( 286) zat.
en voor die persoon die stelde dat assembler programmeren op de Pc 'parels voor de zwijnen zijn'. : LJMP 0:FFFE
stoeien in assembler is zeer leuk en je kan echt het onderste uit de kan halen. maar je moet wel bereid zijn er voldoende tijd in te steken.
Bedankt voor alle reacties. Ik kan nu pas antwoorden doordat mijn pc aan een herinstallatie toe was, en er complicaties waren...
Aangezien ik nu wordt verondersteld te blokken heb ik niet zoveel tijd. Ik heb wel eens snel alle links bezocht, en die lijken uiterst goed aan m'n vraag te voldoen.
Een boekje met mnemmonics heb ik nog niet. Ik veronderstel dat die niet zo moeilijk te vinden zijn. Eigenlijk zit het zo: ik volg elektronica op school. We hebben wat assembler bestudeerd, en ik wilde dat eens toepassen. Volgend semester krijgen we een cursus C die ons in staat zou moeten stellen microcontrollers te programmeren. Het is alleszins niet de bedoeling om gigantische toepassingen uit te werken.
Ik veronderstel dat ik genoeg voorbeelden zal vinden op de verschillende websites die mij werden aangeraden. Indien dit niet het geval zou blijven, stuur ik wel een mail.
Dank u! Hiermee kan ik zowat onmiddelijk aan de slag. Jammergenoeg zal ik nog een dikke maand geduld moeten oefenen. Maar dan is er weer tijd in overvloed :-).
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.