Elikkäs nyt piirretäänki sitte assemblyssä pixeli
QBasic käyttäjät voivat tehdä tästä qb libaryn
koodi on hyvin kommentoitu joten eipa sitten muutaku
koodia vaan..
[BITS 16] [ORG 0x100] [SECTION .text] ; Pixelin piirto 1.0 ; Pistin sarakket, arvot ja rivit desimaalina ; jotta niita olisi helpompi käyttää ; kääntyy nasmilla ; -- mov ah,00h ; Vaihdetaan mov al,13h ; grafiikkatilaan. int 10h ; biossin keskeytys ; -- ; Nyt piirretään pixeli... pixelin piirto on tapahtuu ; keskeytyksellä 10h mov ah,0Ch ; 0Ch on biosin palvelu pixelin piirtoon mov al,100 ; al = pixelin arvo mov cx,120 ; cx = mille sarakkeelle pixeli tulee mov dx,120 ; dx = mille riville pixeli tulee int 10h ; biossin keskeytys ; -- ; Nyt odotetaan että käyttäjä painaa jotain nappia mov ah,08 ; Dossin palvelu joka lukee merkin al rekisteriin int 21h ; dossin keskeytys ; -- ; Nyt vaihdetaan takaisin tekstitilaan mov ah,00h ; vaihdetaan takaisin mov al,03h ; tekstitilaan. int 10h ; biossin keskeytys ; ja sitten lopettaan ohjelma: mov ah,00h ; Käytän tässä "terminate program" palvelua siksi int 21h ; emme tarvitse mitaan palautetta ERRORLEVELinä end
Että tällänen sitte..
Pikselinpiirtoa ei missään nimessä kannata toteuttaa INT10:llä johtuen sen suunnattomasta hitaudesta (veikkaan että jos tuosta tekisi QLB:n olisi se hitaampi kuin QB:n alkup. pikselinpiirto).
Järkevämpää on piirtää pikseli suoraan näyttömuistiin (segmentti 0A000h).
Hidasta hidasta... suoraan muistiin movilla tai stosbilla, ni hyvin menee :)
Niin mutta toi onki versio 1.0 =)
assembly = ex-demoparty
assembler = rautaläheinen ohjelmointikieli
cbob, ei tiedettykää, kiitos uudesta tiedosta. me kotiis
cbob, tuo asia on punnittu noin miljoona kertaa eri henkilöiden toimesta ja sillä ei tosiaankaan ole mitään väliä sanotaanko sitä assemblyksi vai assembleriksi.
Yleinen mielipide (joka ei kuitenkaan pidä täysin paikkaansa, imo) on että assembler on kääntäjä ja assembly itse kieli.
Itse käytän useimmiten 'asm'-nimitystä koska silloin ei ainakaan kukaan tule valittamaan mitään ;>
Periaatteessa tuo ei ole edes mikään mutu-kysymys. Assembly on symbolinen konekieli ja assembler on kääntäjä, joka kääntää symbolisen konekielen koneen ymmärtämään muotoon, eli ykkösiksi ja nolliksi.
tommenen pilkunnussinta pitäis kieltää lailla. sorry karkee kielenkäyttö
Joo, ja cbob, mitenniin ex-demoparty? Kyllähän ne vielä ensi vuonna tulee? ja sitä seuraavana, ja sitä seuraavana...
No cbob meinasi, notta Assemblyt on nykyään pelkkä GUAGE-peelojen
tietokonekansan tietokonekokoontuminen.
Joskushan Assemblyt oli kunnon demoparty
ilman KUAQE porukkaa.
ULIULIUL
No itse asiassa ne on CS peeloja nykyään ;)
näinpä... ;)
>assembly = ex-demoparty
>assembler = rautaläheinen ohjelmointikieli
Väärin, assembly = ohjelmointikieli
assembler = kääntäjä yo. ohjelmointikielelle
Assembly on sana, joka tarkoittaa kokoontumista ym. Assembly-koodikieli on aivan eri asia kuin Assembly-messut.
Assembler taasen on sana, joka tarkoittaa kokoajaa (parempi suomennos voisi olla liittäjä :). Tietokoneterminä Assembler taasen tarkoittaa Assembly-koodin kääntäjää.
Ja Assembly-messuilla on kyllä aivan liikaa Guage versus Kauntterstraik meininkiä nykyään...
Jospa kaikki tekisivät ensi vuodelle kaikki compotyöt haukkuen ko. porukkaa? Ehkäpä tajuaisivat pysyä poissa seuraavalla kerralla? ;)
P.S. Ja jos kaikki CS-pelaajat ovat peeloja, mitä ovat ne, jotka CS-pelaajien mielestä ovat peeloja?
Ulkomuistista vähän nopeampi esimerkki (moodi 19):
mov ah,00h ; Vaihdetaan mov al,13h ; grafiikkatilaan. int 10h ; biossin keskeytys mov al,100 ; al = pixelin arvo mov cx,120 ; cx = mille sarakkeelle pixeli tulee mov di,120 ; di = mille riville pixeli tulee mov bx, di shl di, 8 shl bx, 6 add di, bx add di, cx mov es, 0a000h mov es:[di], al
..tai jotain.
Aihe on jo aika vanha, joten et voi enää vastata siihen.