Sisällysluettelo:
- Vaihe 1: Osaluettelo
- Vaihe 2: Koneen kielihierarkia ja koodit
- Vaihe 3: BYOC-I-ohjeiden anatomia
- Vaihe 4: Tietokoneohjeen koodaus
- Vaihe 5: Tietokoneohjelman anatomia
- Vaihe 6: Ohjelman siirtäminen muistiin ja testaus
Video: Koodaa ja testaa tietokone konekielellä: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Tässä ohjeessa näytän sinulle, kuinka tietokoneohjelma koodataan ja testataan konekielellä. Konekieli on tietokoneiden äidinkieli. Koska se koostuu 1- ja 0 -merkkijonoista, ihmiset eivät ymmärrä sitä helposti. Tämän kiertämiseksi koodaamme ohjelmat ensin korkean tason kielellä, kuten C ++ tai Java, ja käytämme sitten erityisiä tietokoneohjelmia kääntämään ne tietokoneiden ymmärtämiin 1- ja 0 -lukuihin. Koodauksen oppiminen korkean tason kielellä on varmasti vaivatonta, mutta lyhyt johdatus konekieleen voi antaa arvokasta tietoa tietokoneiden toiminnasta ja lisätä tämän erittäin tärkeän tekniikan arvostusta.
Koneen kieliohjelman koodaamiseksi ja testaamiseksi tarvitsemme pääsyn yksinkertaiseen tietokoneeseen, jonka konekieli on helppo ymmärtää. Henkilökohtaiset tietokoneet ovat aivan liian monimutkaisia edes harkittavaksi. Ratkaisu on käyttää Logisim -logiikasimulaattoria, joka toimii henkilökohtaisella tietokoneella. Logisimin avulla voimme simuloida tarpeitamme vastaavan tietokoneen. Yllä oleva video antaa sinulle käsityksen siitä, mitä voimme saavuttaa Logisimin avulla.
Tietokoneen suunnittelua varten mukautin yhden Kindle -e -kirjasta Build Your Own Computer - From Scratch. Aloitin siellä kuvatulla BYOC-tietokoneella ja leikkasin sen BYOC-I: n (I for Instructable) vaihtelevalle perusasetukselle, jota käytämme tässä Instructable-ohjelmassa.
BYOC-I: n konekieli on yksinkertainen ja helppo ymmärtää. Et tarvitse mitään erityistä tietoa tietokoneista tai ohjelmoinnista. Tarvitaan vain utelias mieli ja halu oppia
Lue lisää
Saatat ihmetellä, miksi kuvaamme tietokonetta "koneella", kun se ei ole mekaaninen laite. Syy on historiallinen; ensimmäiset laskentalaitteet olivat mekaanisia, jotka koostuivat vaihteista ja pyöristä. Allan Shermanin lyriikka "Se oli kaikki vaihteet menossa napsahtavaksi …" oli vasta vuosisata tai kaksi. Lue lisää varhaisesta tietojenkäsittelystä täältä.
Vaihe 1: Osaluettelo
Osaluettelo on lyhyt. Vain nämä kaksi kohdetta ovat pakollisia, molemmat ladattavissa ilmaiseksi:
- "Logisim-win-2.7.1.exe"-Logisim on suosittu ja helppokäyttöinen logiikasimulaattori. Lataa suoritettava Logisim -tiedosto täältä ja luo sitten oikotie kätevään paikkaan, kuten työpöydällesi. Käynnistä se kaksoisnapsauttamalla Logisim -kuvaketta. Huomautus: Logisim käyttää Java Runtime Package -palvelua. Sinua saatetaan pyytää lataamaan se.
- BYOC-I-Full.cir "-Lataa alla oleva Logisim-piiritiedosto.
Käynnistä Logisim ja napsauta sitten "File-Open" ja lataa BYOC-I-Full.cir-tiedosto. Yllä oleva kuva näyttää Logisimin työympäristön. BYOC-I: tä edustaa alipiirilohko. Ulkoisesti yhdistettyinä on kaksi tuloa, Reset ja Run, ja heksadesimaalinäytöt BYOC-I: n rekistereille ja ohjelmamuistille.
BYOC-I: n ohjelmamuisti on esiladattu yksinkertaisella ohjelmalla, joka laskee 1: stä 5: een A-rekisterissä. Suorita (Suorita) ohjelma seuraavasti.
Vaihe 1 - Napsauta Poke -työkalua. Kohdistimen pitäisi muuttua tönäiseväksi "sormeksi". Vaihe 2 - Työnnä Reset -tuloa kahdesti, kun vaihdat sen arvoon "1" ja vaihdat sen uudelleen "0": ksi. Tämä nollaa BYOC -I: n käynnistämään ohjelman osoitteesta 0. Vaihe 3 - Työnnä Suorita -tuloa kerran muuttaaksesi sen arvoksi "1". Vaihe 4 - Jos ohjelma ei toteudu, paina C -näppäintä ja sen pitäisi alkaa.
Jos haluat tutustua Logisimin ominaisuuksiin, napsauta valikkorivin Ohje -linkkiä. Sieltä voit tutustua Logisimin "opetusohjelmaan", "käyttöoppaaseen" ja "kirjastoviitteeseen". Erinomainen videoesittely löytyy täältä.
Vaihe 2: Koneen kielihierarkia ja koodit
BYOC-I-tietokone suorittaa tehtäviä, jotka perustuvat konekielellä kirjoitettuihin ohjelmiin. BYOC-I-ohjelmat puolestaan koostuvat käskyistä, jotka suoritetaan tarkasti määritellyssä järjestyksessä. Jokainen käsky koostuu kiinteän pituisista koodeista, jotka edustavat BYOC-I: n eri toimintoja. Lopuksi nämä koodit koostuvat 1- ja 0-merkkijonoista, jotka muodostavat koneen kielen, jonka BYOC-I todella suorittaa.
Selityksen vuoksi aloitamme koodeilla ja siirrymme ohjelmatasolle. Sitten koodaamme yksinkertaisen ohjelman, lataamme sen BYOC-I: n muistiin ja suoritamme sen.
Koodit koostuvat kiinteästä määrästä binaarisia (1 ja 0) numeroita tai lyhyitä bittejä. Esimerkiksi alla oleva taulukko näyttää kaikki mahdolliset koodit (yhteensä 16) 4 bitin leveälle koodille. Sivun vieressä koodi on heksadesimaali (pohja 16) ja desimaaliluku. Heksadesimaalia käytetään viittaamaan binaariarvoihin, koska se on pienempi kuin binaarinen ja helpompi muuntaa binääristä kuin desimaali. Etuliite "0x" kertoo, että seuraava numero on heksadesimaali tai lyhyesti "heksadesimaali".
Binaarinen - heksadesimaali - desimaali0000 0x0000 00001 0x0001 10010 0x0002 20011 0x0003 30100 0x0004 40101 0x0005 50111 0x0007 71000 0x0008 81001 0x0009 91010 0x000A 101011 0x000B 111100 0x000C 121101 0x000D 131110 0 0000
Koodin leveys määrittää, kuinka monta kohdetta voidaan esittää. Kuten edellä on mainittu, yllä oleva 4-bittinen leveä koodi voi edustaa enintään 16 kohdetta (0-15); toisin sanoen 2 kertaa 2 otettu neljä kertaa tai 2 - 4 teho on 16. Yleensä edustettavien kohteiden määrä nostetaan 2: een n. Tässä on lyhyt luettelo n-bittisistä koodikapasiteeteista.
n - Kohteiden lukumäärä 1 22 43 841653266471228256
BYOC-I -tietokoneen koodileveydet on valittu siten, että ne vastaavat koodin esittämien kohteiden määrää. Esimerkiksi ohjeita on neljä, joten 2-bittinen leveä koodi sopii. Tässä on BYOC-I-koodit ja lyhyt selitys jokaisesta.
Ohjeen tyyppikoodi (tt) On olemassa neljä käskytyyppiä: (1) MVI - Siirrä välitön 8 -bittinen vakioarvo muistirekisteriin. Muistirekisteri on laite, joka sisältää laskennassa käytettävät tiedot, (2) MOV - Siirrä tietoja rekisteristä toiseen, (3) RRC - Suorita rekisteristä rekisteriin -laskenta ja (4) JMP - Hyppy toiseen ohjeeseen sen sijaan, että jatkaisit seuraavassa ohjeessa. Hyväksytyt BYOC-I-ohjeiden tyyppikoodit ovat seuraavat:
00 MVI01 MOV10 RRC11 JMP
Rekisterikoodi (dd ja ss) BYOC-I: ssä on neljä 8-bittistä rekisteriä, jotka pystyvät tallentamaan arvot 0-255. 2-bittinen koodi riittää osoittamaan neljä rekisteriä:
00 F -rekisteri01 E -rekisteri10 D -rekisteri11 A -rekisteri
Laskukoodi (ccc) BYOC-I tukee neljää aritmeettista/logiikkaoperaatiota. Jotta jatkossa voidaan laajentaa kahdeksaan laskentaan, käytetään 3-bittistä koodia:
000 LISÄÄ, lisää kaksi 8-bittistä arvoa nimettyihin rekistereihin ja tallenna tulos johonkin rekisteristä 001 SUB, vähennä kaksi 8-bittistä arvoa nimettyihin rekistereihin ja tallenna tulos johonkin rekistereistä 010-011 Varattu tulevaa käyttöä varten100 JA, loogisesti JA kaksi 8-bittistä arvoa nimetyissä rekistereissä ja tallenna tulos johonkin rekistereistä101 TAI, loogisesti TAI kaksi 8-bittistä arvoa nimettyihin rekistereihin ja tallenna tulos johonkin rekistereistä 110-111, Varattu tulevaa käyttöä varten
Hyppykoodi (j) 1-bittinen koodi, joka osoittaa, onko hyppy ehdoton (j = 1) vai ehdollinenko laskentatulos ei ole nolla (j = 0).
Data/Osoitekoodi (v… v)/(a… a) 8-bittiset tiedot voidaan sisällyttää tiettyihin ohjeisiin, jotka edustavat arvoja 00000000-11111111 tai 0-255 desimaalia. Nämä tiedot ovat 8-bittisiä, jotta ne voidaan tallentaa BYOC-I: n 8-bittisiin rekistereihin. Desimaaliarvioinnin avulla emme näytä etunollia. Tietokoneen laskennassa näytetään nolla, mutta ne eivät vaikuta arvoon. 00000101 on numeerisesti sama 101 tai 5 desimaalia.
Ehdotetut viitteet
Binaarimerkinnät - https://learn.sparkfun.com/tutorials/binaryHexadecimal Notation -
Lue lisää
Ajatus koodien käyttämisestä prosessin ohjaamiseen ulottuu pitkälle. Yksi kiehtova esimerkki on Jacquard Loom. Automaattista kangaspuuta hallittiin puukorttiketjulla, johon porattiin reikiä, jotka edustavat eri väristen lankojen koodausta. Näin ensimmäiseni Skotlannissa, jossa siitä valmistettiin värikkäitä tartaaneja. Lue lisää Jacquard Loomsista täältä.
Vaihe 3: BYOC-I-ohjeiden anatomia
Kun otetaan huomioon BYOC-I: n koodit, siirrymme seuraavalle tasolle, ohjeille. Luoksesi käskyn BYOC-I: lle sijoitamme koodit yhteen tietyssä järjestyksessä ja tietyissä paikoissa käskyn sisällä. Kaikki koodit eivät näy kaikissa ohjeissa, mutta kun ne tulevat, ne ovat tietyssä paikassa.
MVI -käskylaji vaatii eniten bittejä, yhteensä 12. Tekemällä ohjesanan 12 bitin pituiseksi, otamme huomioon kaikki ohjeet. Käyttämättömille (ns. "Välitä") -biteille annetaan arvo 0. Tässä on BYOC-I-ohjesarja.
- Siirrä välittömästi (MVI) - 00 dd vvvvvvvv Toiminto: Siirrä 8 -bittinen data -arvo V = vvvvvvvv kohderekisteriin dd. Suorituksen jälkeen rekisterillä dd on arvo vvvvvvvv. Lyhenne: MVI R, V jossa R on A, D, E tai F. Esimerkki: 00 10 00000101 - MVI D, 5 - Siirrä arvo 5 D -rekisteriin.
- Siirrä rekisteri rekisteriin (MOV) - 01 dd ss 000000 Toiminto: Siirrä tiedot lähderekisteristä ss kohderekisteriin dd. Suorituksen jälkeen molemmilla rekistereillä on sama arvo kuin lähderekisterillä. Lyhenne: MOV Rd, Rs, jossa Rd on kohderekisteri A, D, E tai F ja Rs on lähderekisteri A, D, E tai F. Esimerkki: 01 11 01 000000 - MOV A, E - Siirrä arvoa rekisteristä E rekisteriin A.
- Register to Register Calculation (RRC) - 10 dd ss ccc 000 Toiminto: Suorita määritetty laskenta ccc käyttämällä lähderekisteriä ss ja kohderekisteriä dd ja tallentamalla tulos kohderekisteriin. Lyhenteet: ADD Rd, Rs (ccc = 000 Rd + Rs Rd); SUB Rd, Rs (ccc = 001 Rd - Rs tallennettu Rd: hen); AND Rd, Rs (ccc = 100 Rd AND Rs tallennettu Rd: hen); TAI Rd, Rs (ccc = 101 Rd OR Rs tallennettu Rd: hen) Esimerkki: 10 00 11 001 000 - ALI F, A - Vähennä A -rekisterin arvo F -rekisteristä, jolloin tulos on F -rekisterissä.
- Jump to Different Instruction (JMP) - 11 j 0 aaaaaaaa Toiminto: Muuta suoritus toiseen käskyyn, joka sijaitsee osoitteessa aaaa aaaa (a) Ehdoitta (j = 1) -11 1 0 aaaaaaaa Lyhenne: JMP L jossa L on osoite aaaa aaaa Esimerkki: 11 1 0 00001000 - JMP 8 - Muuta suoritus osoitteeksi 8. (b) Ehdollisesti (j = 0), kun edellisen laskelman tulos ei ollut nolla - 11 0 0 aaaaaaaa Lyhenne: JNZ L, jossa L on osoite aaaa aaaa. Esimerkki: 11 0 0 00000100 JNZ 4 Jos viimeinen laskelma antoi arvon, joka ei ole nolla, muuta suoritus osoitteeksi 4.
Opetussanabitit on numeroitu vasemmalta (merkittävin bitti MSB) oikealle (vähiten merkitsevä bitti LSB) 11: stä 0. Koodien kiinteä järjestys ja sijainnit ovat seuraavat:
Bittiä-Koodi11-10 Ohjetyyppi9-8 Kohderekisteri7-6 Lähderekisteri5-3 Laskenta: 000-lisää; 001 - vähennä; 100 - looginen JA; 101 - looginen OR7-0 Vakioarvo v… v ja a… a (0–255)
Ohjejoukko on tiivistetty yllä olevassa kuvassa. Huomaa koodien jäsennelty ja järjestetty ulkonäkö jokaisessa ohjeessa. Tuloksena on yksinkertaisempi malli BYOC-I: lle ja se helpottaa ohjeita ihmisten ymmärtämiseksi.
Vaihe 4: Tietokoneohjeen koodaus
Ennen kuin siirrytään ohjelmatasolle, rakennetaan esimerkkiohjeita käyttämällä yllä olevaa BYOC-I-ohjesarjaa.
1. Siirrä arvo 1 rekisteriin A. BYOC-I-rekisterit voivat tallentaa arvoja välillä 0-255. Tässä tapauksessa rekisterillä A on arvo 1 (00000001 binaarinen) käskyn suorittamisen jälkeen.
Lyhenne: MVI A, 1 Vaadittavat koodit: Tyyppi MVI - 00; Kohderekisteri A - 11; Arvo - 00000001 Ohjesana: 00 11 00000001
2. Siirrä rekisterin A sisältö rekisteriin D. Suorituksen jälkeen molemmilla rekistereillä on alun perin arvo rekisterissä A.
Lyhenne: MOV D, A (Muista, että kohde on luettelon ensimmäinen ja lähde toinen) Vaadittavat koodit: Tyyppi MOV - 01; Kohderekisteri D - 10; Lähderekisteri A - 11 Ohjesana: 01 10 11 000000
3. Lisää rekisterin D sisältö rekisteriin A ja tallenna rekisteriin A. Suorituksen jälkeen rekisterin A arvo on rekisterin A ja rekisterin D alkuperäisen arvon summa.
Lyhenne: ADD A, D (Tulos tallennetaan kohderekisteriin) Pakolliset koodit: Tyyppi RRC - 10; Kohderekisteri A - 11; Lähderekisteri D - 10; Laskennan lisäys - 000 Ohjesana: 10 11 10000000 (ccc on first 000 - add)
4. Hyppää ei nollaan osoitteeseen 3. Jos viimeisen laskennan tulos ei ollut nolla, suoritus muuttuu annetun osoitteen ohjeeksi. Jos nolla, suoritus jatkuu seuraavalla ohjeella.
Lyhenne: JNZ 3 Vaadittavat koodit: Tyyppi JMP - 11; Hyppytyyppi - 0; Osoite - 00000003 Ohjesana: 11 0 0 00000003 (hyppytyyppi on ensimmäinen 0)
5. Hyppää ehdoitta osoitteeseen 0. Suorituksen jälkeen suoritus muuttuu annettuun osoitteeseen.
Lyhenne: JMP 0Koodi vaaditaan: Tyyppi JMP - 11; Hyppytyyppi - 1; Osoite - 00000000Instruction Word; 11 1 0 00000000
Vaikka konekoodaus on hieman työlästä, voit nähdä, että se ei ole mahdottoman vaikeaa. Jos koodaat oikeaa konetta, käyttäisit tietokoneohjelmaa, jota kutsutaan kokoonpanijaksi kääntämään lyhenteestä (jota kutsutaan kokoonpanokoodiksi) konekoodiksi.
Vaihe 5: Tietokoneohjelman anatomia
Tietokoneohjelma on luettelo ohjeista, jotka tietokone suorittaa luettelon alusta alkaen ja jatkuu luettelosta loppuun. Ohjeet, kuten JNZ ja JMP, voivat muuttaa seuraavaksi suoritettavaa käskyä. Jokaisella luettelon käskyllä on yksi osoite tietokoneen muistissa nollasta alkaen. BYOC-I-muistiin mahtuu 256 käskyluettelo, enemmän kuin tarpeeksi tarkoitukseemme.
Tietokoneohjelmat on suunniteltu suorittamaan tietty tehtävä. Ohjelmaamme varten valitsemme yksinkertaisen tehtävän, joka lasketaan yhdestä viiteen. Ilmeisesti ei ole "count" -käskyä, joten ensimmäinen askel on jakaa tehtävä vaiheisiin, jotka BYOC-I: n rajoitettu ohjejoukko.
Vaihe 1 Siirrä 1 rekisteröidäksesi AStep 2 Siirrä rekisteri A rekisteröidäksesi DS Vaihe 3 Lisää rekisteri D rekisteriin A ja tallenna tulos rekisteriin AStep 4 Siirrä 5 rekisteröidäksesi EStep 5 Vähennä rekisteri A rekisteristä E ja tallenna tulos rekisteriin EStep 6 If vähennyksen tulos ei ollut nolla, palaa vaiheeseen 4 ja jatka laskemista Vaihe 7 Jos vähennyksen tulos oli nolla, palaa ja aloita alusta
Seuraava askel on kääntää nämä vaiheet BYOC-I-ohjeiksi. BYOC-I-ohjelmat alkavat osoitteesta 0 ja numeroivat peräkkäin. Hyppykohdeosoitteet lisätään viimeisenä, kun kaikki ohjeet on asetettu.
Osoite: Ohje - Lyhenne; Kuvaus 0: 00 11 00000001 - MVI A, 1; Siirrä 1 rekisteröidäksesi A1: 01 10 11 000000 - MOV D, A; Siirrä rekisteri A rekisteriin D2: 10 11 10000000 - ADD A, D; Lisää rekisteri D rekisteriin A ja tallenna tulos rekisteriin A3: 00 01 00 00000101 - MVI E, 5; Siirrä 5 rekisteri E4: 10 01 11 001 000 - ALA E, A; Vähennä rekisteri A rekisteristä E ja tallenna tulos rekisterissä E5: 11 0 0 00000010 - JNZ 2; Jos vähennyksen tulos ei ollut nolla, palaa osoitteeseen 3 ja jatka laskemista6: 11 1 0 00000000 - JMP 0; Jos vähennyksen tulos oli nolla, palaa ja aloita alusta
Ennen kuin ohjelma siirretään muistiin, binaarikäskykoodi on muutettava heksadesimaaliksi käytettäväksi Logisim Hex Editorin kanssa. Jaa ohje ensin kolmeen 4 bitin ryhmään. Käännä sitten ryhmät heksadesimaaliksi käyttämällä vaiheen 2 taulukkoa. Vain kolme viimeistä heksadesimaalilukua (lihavoitu alla) käytetään.
Osoite - Ohje Binaarinen - Ohje Binary Split - Ohje (Hex) 0 001100000001 0011 0000 0001 - 0x03011 011011000000 0110 1100 0000 - 0x06C02 101110000000 1011 1000 0000 - 0x0B803 000100000101 1001 0000 0101 - 0x0105000000100 111000000010 1110 0000 0000 - 0x0E00
On aika siirtää ohjelma BYOC-I: n muistiin testattavaksi.
Vaihe 6: Ohjelman siirtäminen muistiin ja testaus
Logisimin "pääpiiriä" tarkasteltaessa esitetty BYOC-I-lohko on todellisen tietokonepiirin symboli "BYOC-I" Explorer-ruudussa. Ohjelman syöttäminen BYOC-I-muistiin:
- Napsauta hiiren kakkospainikkeella BYOC-I-lohkoa (kutsutaan "alipiiriksi") ja valitse (vie hiiri ja napsauta vasenta painiketta) "Näytä BYOC-I".
- BYOC-I-piiri tulee näkyviin työalueelle. Napsauta hiiren kakkospainikkeella "Ohjelmamuisti" -kuvaketta ja valitse "Muokkaa sisältöä..".
- Kirjoita heksadesimaalikoodi (vain lihavoitu) yllä olevan kuvan mukaisesti käyttämällä Logisim Hex Editoria.
Olet nyt valmis suorittamaan ohjelman. Palaa pääpiiriin kaksoisnapsauttamalla "BYOC-I" Explorer-ruudussa. Run- ja Reset -tulojen tulee olla "0" aloittaakseen. Muuta ensin Poke -työkalulla Reset -asetukseksi "1" ja sitten "0". Tämä tekee aloitusosoitteesta 0x0000 ja valmistelee BYOC-I-piirin suoritettavaksi. Siirrä nyt Suorita -tulo kohtaan "1" ja ohjelma suorittaa. (Huomautus: Sinun on ensin napautettava Control-K kerran käynnistääksesi Logisim-kellon. Tämän ominaisuuden avulla voit pysäyttää Logisim-kellon ja siirtyä ohjelman läpi napauttamalla Control-T-näppäintä toistuvasti. Kokeile joskus!)
Logisim -kello on asetettavissa laajalle taajuusalueelle. Ladattuna se on 8 Hz (8 sykliä sekunnissa). BYOC-I -tietokone on suunniteltu siten, että jokainen käsky kestää neljä kellojaksoa. Joten, jos haluat laskea BYOC-I-nopeuden, jaa kellotaajuus neljällä. Taajuudella 8 Hz sen nopeus on 2 käskyä sekunnissa. Voit muuttaa kelloa napsauttamalla työkalurivin "Simulointi" -painiketta ja valitsemalla "Tikkien taajuus". Mahdollinen alue on 0,25 Hz - 4100 Hz. Hidas nopeus 8 Hz valittiin, jotta voit katsella A -rekisterin lukua.
BYOC-I-simulaation maksiminopeus (~ 1000 käskyä sekunnissa) on hyvin hidas verrattuna nykyaikaisiin tietokoneisiin. Kirjassani kuvattu BYOC -tietokoneen laitteistoversio suorittaa yli 12 miljoonaa käskyä sekunnissa!
Toivon, että tämä Instructable on demystifioinut konekielen ohjelmoinnin ja antanut sinulle käsityksen siitä, miten tietokoneet toimivat perustasollaan. Ymmärtääksesi ymmärryksesi, yritä koodata alla olevat kaksi ohjelmaa.
- Kirjoita ohjelma, joka alkaa 5: stä ja laskee 0. (ANS. Count5to0.txt alla)
- Aloita 2: sta, laske 3: lla, kunnes luku ylittää 7. Voit tehdä pienen henkisen laskennan, tarkistaa kahdeksan tietäen, että se laskeutuu sinne ja käynnistää uudelleen. Kirjoita ohjelma yleisemmällä tavalla, joka todella testaa, ylittääkö määrä tietyn luvun. Vinkki: Selvitä, mitä tapahtuu, kun vähennyslasku antaa negatiivisen arvon, esimerkiksi 8-9 = -1. Kokeile sitten loogista AND: ta ja testaa, onko 8-bittisen numeron MSB "1". (ANS. ExceedsCount.txt)
Ajatteletko muita haastavia ongelmia BYOC-I-tietokoneelle? Kun otetaan huomioon rajoitukset, mitä muuta se voi tehdä? Jaa kokemuksesi kanssani osoitteessa [email protected]. Jos olet kiinnostunut mikroprosessorien koodaamisesta, tutustu verkkosivustooni www.whippleway.com. Siellä kuljetan konekoodausta nykyaikaisille prosessoreille, kuten Ardelinosissa käytettävä ATMEL Mega -sarja.
Suositeltava:
Testaa paljas Arduino, peliohjelmistolla kapasitiivista tuloa ja LED -valoa käyttäen: 4 vaihetta
Testaa paljas Arduino, jossa peliohjelmisto käyttää kapasitiivista tuloa ja LED-valoa: " Push-It " Interaktiivinen peli, jossa käytetään paljaita Arduino -kortteja, ei tarvita ulkoisia osia tai johdotusta (käyttää kapasitiivista kosketusliitäntää). Yllä oleva osoittaa, että se toimii kahdella eri levyllä. Nopeasti esittelemään/v
Kuinka muuttaa vanha/vaurioitunut tietokone tai kannettava tietokone medialaatikoksi: 9 vaihetta
Kuinka muuttaa vanha/vaurioitunut tietokone tai kannettava tietokone medialaatikoksi: Maailmassa, jossa tekniikka kehittyy nopeammin kuin me, rakastettu elektroniikkamme vanhenee liian nopeasti. Ehkä rakkaimmat kissasi löivät kannettavan tietokoneen pöydältä ja näyttö rikkoutui. Tai ehkä haluat medialaatikon älytelevisiolle
Testaa Internet -nopeutesi käyttämällä Raspberry Pi + Ubidotsia: 9 vaihetta
Testaa Internetin nopeus Raspberry Pi + Ubidot -laitteiden avulla: Raspberry Pi: stä on tullut laajalti käytetty laite paitsi prototyyppien laatimiseen ja koulutukseen myös yritysten teollisiin tuotantohankkeisiin. Pi: n koon, edullisen ja täysin toimivan Linux -käyttöjärjestelmän lisäksi se voi olla vuorovaikutuksessa myös
Koodaa CustomCmd -skripti Windowsin komentokehotteelle: 6 vaihetta
Koodaa CustomCmd -skripti Windowsin komentoriville: Käytätkö paljon CMD: tä? Tahdon! Mutta monet ihmiset - myös minä - pitävät sitä liian tylsänä. Tänään koodaan käsikirjoituksen, jonka avulla voimme muokata CMD: tä juuri sen verran, että se pitää hauskaa. Aloitetaan! KOODI LATAA ARTICLEYOU BOTTOM WIL
Testaa kaksinapainen transistori (piirin ulkopuolella): 3 vaihetta
Testaa kaksinapainen transistori (ulos piiristä): Rakensit yhden transistoriprojektin ja se toimi hyvin, mutta nyt se on lakannut toimimasta. Päätät, että transistori voi olla viallinen. Et kuitenkaan ole varma, miten voit testata sen. Tämä opas on tarkoitettu transistorin testaamiseen sen jälkeen, kun se on poistettu