40
Assembly, főleg kezdőknek...
  • 1Emese
    #40
    Lenne egy olyan kérdésem, hogy nem tud e valaki olyan programot, ami beolvas 2 szót, és letárolja, 2 területre a szavak hossza maximum 30 de lehet kevesebb is
    pl:
    program.exe ;program indítítás
    Kerem a ket szot: ;egy kis kííratás, ezt már megírtam
    alap haz ;a két szó beírása, na ezeket kéne beolvasni.
  • Anemol
    #39
    Üdv!
    Egy iskolai példához lenne szükségem segítségre.
    A feladat az lenne, hogy n számú számot kell bevinni (azt is a felhasználónak kell megadni, hogy mennyi az n). Ezt csökkenő és növekvő sorrendben ki kell írni, és külön a legnagyobbat, valamint a legkisebbet is.
    Ez egy tapasztaltabb programozónak gyerekjáték lehet...
    Ha lehet, rövid kommentárokat is kérnék az egyes programrészek közé, -hogy épp mikor mi történik-, de anélkül is jó!
    Segítséget az alábbi e-mail címre várok: [email protected]
    Sürgos! Köszönöm előre is!

    UI: Csak a forráskód kell, nem a lefordított program!
  • vaczak
    #38
    attól függ hogy mi a gondod
  • LeventeV
    #37
    el meg a topik? nezegeti valaki? mert nekem lenne egy kis gondom, megpedig: olvassunk be egy hexadecimalis szamot es irjuk ki 10es szamrendszerben. tudna nekem valaki segiteni ebben?
  • Orionk
    #36
    Jesszus úristen, pfff...
    te rá tudsz kattintani, én meg nem? hehe :)

    figy:
    erre a honlapra mész: http://www.stud.u-szeged.hu/Raffai.Tamas/
    aztán látsz egy ilyen sort:
    ASSEMBLY PROGRAMOZÁS GYAKORLAT (Nappali - IB676g)
    és ezen a soron erre lehet kattintani: (Nappali - IB676g) <--------erre

    kattints rá, ott minden anyag megvan.

    meg még itt is találsz:
    www.inf.u-szeged.hu/~mate
  • Dj Faustus #35
    Ha már Assembly:
    Németh Róbert - Assembly Programozás 1. (CodeX Online 5. száma)
    Németh Róbert - Assembly Programozás 2. (CodeX Online 6. száma)
    Németh Róbert - Assembly Programozás - Hello World (CodeX Online 8. száma)
    Németh Róbert - Assembly Programozás - Billentyűzet (CodeX Online 9. száma)
    Németh Róbert - Assembly Programozás - A szöveges képernyő (CodeX Online 10. száma)
    Gebei János - Assembly feladatok

    prog.hu - Assembly programozás cikksorozat

    Assembly Programozás - SZTE-s tananyag

    Ez is egy Assembly-s tananyag

    Rodek-Diós féle jegyzet

    Miskolci Egyetem - Dr. Nagy Ferenc - Assembly Programozás
  • uiztu
    #34
    Igen, ez eddig is megvolt. Megis találtam. Csakhogy, ez az egy, amire kattintani tudok:
    ASSEMBLY KÖTELEZŐ PROGRAMOK ITT!!!
    De, én leírást keresek, segítséget. Ez pedig nem az.
  • Orionk
    #33
    nem létezik, hogy nem találtad meg az assemblyt

    #30 hozzászólásomban a linkre mész, és ott nagy betűkkel irja, hogy assembly programozás gyakorlat
  • uiztu
    #32
    Sajnos nem.
  • Orionk
    #31
    sikerült? megtaláltad?
  • Orionk
    #30
    Forditóprogram, meg talán egyebet is találsz itt:

    http://www.stud.u-szeged.hu/Raffai.Tamas/

    menj az assembly programozás gyakorlatra.
  • ZilogR
    #29
    nemis nemis!

    Elég a megoldáshoz az, h MILYEN módszerrel lehetne szerinted ezt előállítani?! Van-e rá ötleted, h hogyan lehet ilyen kiírást produkálni?! Ha tudsz programozni, akkor a kód is jöhet!
  • ZilogR
    #28
    akkor egy bemelegítés:

    bármilyen programnyelven írj légyszi egy programot, ami a tizenéveseknek úgyis aktuális, h kiírja a képernyőre egymás alá azt, h




    ó

    ció
    áció
    káció
    akáció
    vakáció



    A kódot másold be ide! :)
  • uiztu
    #27
    Kerestem a Google-ben, assemblyt. De ott nagyon érthetetlen leírást adtak. Én meg csak még 15 éves vagyok. És, tudnátok belinkelni egy szöveget, amit megtudok érteni én is? Tehát leírásokkal bemutatással, stb. Ja, és milyen fordítóprogramot kell letölteni hozzá?
  • Orionk
    #26
    Szia!

    Egy könyv, én az egyetemen ebből tanultam:

    Máté Eörs: Assembly programozás

    Azt hiszem, hogy 1000 ft az ára.

    Üdv.,
  • ZilogR
    #25
    :D Azt ugye azért sejted, h senki nem fog itt neked kb 50-60 gépelt oldalnyi szöveget lekopácsolni - amúgy is, az a legjobb, ha te magad tanulod meg! Google és könyvtár!

    Ugye ez amúgy kandi kamera...?!?
  • uiztu
    #24
    Kösz, a segítséget. De, valami olyan leírásra gondolta, amiből tényleg megtudok mindent az egészről. Bios, stb billentyűzet meg minden mást.
  • ZilogR
    #23
    hajrá!


    de ma jó a kedvem - és a retro mindig is izgatott: esetleg az a régi gép valami x86-os vagy legalábbis kompatibilis azzal? Mert akkor érdemes elmenni egy műszaki könyveket is tartó könyvtárba és Peter Norton-tól MINDENT kihozni, amit csak találsz. Aztán összeszedni mindent, amit olyan kulcsszavakra találsz, mint "assembly, 80286, 80386, programozás, gépi kód, IBM PC, védett mód, operációs rendszerek, ..."

    Szülőket, barátot/barátnőt elküldeni pár hónapra nyaralni, kutyát macskát, lovat, aranyhalat menhelyre beadni, kaját rendelni egy hétre és hetenként újra min. fél évig, betolni 3-4000 MP3-at a Winampba (egy másik gépen), találni valakit, aki kibírja az első két hét lelkesedést, majd elviseli a vérmérséklettől függő pár nap - néhány hét kiábrándulás és szenvedés, hagyjuk a picsába időszakot és végül kivülről reálisan látja a dolgot.

    Én számítógép nélkül, még az "átkosban" tíz évesen tanultam meg programozni egy könyvből, majd egy újságcikkből Z80-on hexában gépi kódot írni úgy, hogy csupa Commodore vett körül. Leültem egy HT-1080Z elé és némi DATA sorba bekopácsolt kódot bePOKE-oltam a memóriába és egy CALL-lal meghívtam és ment. Aztán jött egy boldog ENTERPRISE korszak, ahol még huszonbájtos kis progikkal hangkazettákról digitalizálgattam a memóba Korda számokat :P és olyanokkal szórakoztam, hogy egy feltételvizsgálat után hány NOP kell, hogy az igaz és a hamis ág egyforma hosszú legyen az időzítés miatt.

    Mindezeket egyedül úgy, hogy a fasorban sem volt még internet, ahonnan be lehetett volna gyűjteni azt a rengeteg tudást, ami a mostani fiataloknak teljesen természetes.

    Nem lettem programozó, de életem legszebb időszaka volt ez. EMIATT javaslom, hogy érdemes belevágni bárkinek bármikor egy ilyen vállalkozásba - annak ellenére, hogy komoly eredmény az esetek 99.99%-ában BIZTOSAN nem fog születni - mint ahogyan nálam sem :)

    Ha már ezt értékeled, akkor biztosan sok örömöd lesz a dologban! :)
  • uiztu
    #22
    Helo!!
    Egyáltalán nem tudok semmit az assembly programozásról. Van egy régi gépem. Nagyon régi. És pár haverommal, szeretnék csinálni rá egy operáció rendszert. Pár alapvető dologgal: jegyzettömb, stb. És, ezt szeretném megvalósítani assemblyvel. 15 éves vagyok, úgyhogy ne valami bonyolult érthetetlen dolgot írjatok. Valami, ami tényleg kezdő szinten leírja, hogy mit, hogyan kell csinálni. Tehát valami iylesmi leírást tudnátok mellékelni, amivel tudok írni egy egyszerű operációs rendszert, pár alapprogrammal. És, ha lehet írjátok le, hogy, hogyan lehet megcsinálni, hogyha elindítjuk a gépet akkor memóriáról butoljon, meg iylesmi. Kösz!! Remélem tudtok segíteni.
  • Szolnokboy1
    #21
    Sziasztok! Egy kis segítség kellene. Ezt szeretném megoldani, de sehogy sem sikerül:

    Kérjen be ellenőrzötten a billentyűzetről egy római számot (1-tól 10-ig), konvertálja át hexadecimálissá és írassa ki a VDU -ra.

    Légyszi segítsetek, nagyon fontos lenne! köszi.
  • ZilogR
    #20
    van vkinek XT-n is futtatható assemblere, olyan, amihez max DOS 5.0 kell.Egy HP OmniGo 700LX-en kellene futtatni aminek igencsak gyengus teljesítménye van - de én nagyon szeretem :P

    Itt lehet némi infót találni a 700LX-ről, ha valakinek pontosabb infó kellene.

    Előre is köszönöm!
  • CattiBrie
    #19
    Én már nem. :)
  • Adam II
    #18
    Hello jár még ide valaki?
  • Catti
    #17
    ez billentyű leütésére vár:

    mov ah, 0
    int 16h


    a leütött billentyű kódja az ax-be kerül
  • Catti
    #16
    mov al, 'b' ; al-be karater
    mov ah, 00001111b ; ah-ba színkód
    mov di, 326 ; di-be, hogy hova teszi ki a képernyőn
    mov es:[di], ax ; és extraszegmensbe írás
  • frc0032 #15
    Sziasztok!!
    Szeretnék megtanulni assemblyben programozni. tudnátok adni valamilyen forrásanyagot ehez, és/vagy h milyen programok szükségesek hozzá?
  • koppaany
    #14
    AtomHeart
    2003. júl. 10. 21:25 | privát | válasz erre | #5
    Igen, en is virusokra gondoltam...
    Amikor azt mondtam, hogy erdemes xp-re is asm-ben irni a progikat, en a grafikus feluletu windows-os programokra gondoltam. Azokat pedig eppoly egyszeru megirni asm-ben, mint pl visual c++-ban mfc nelkul, bvagy delphiben vcl nelkul. Csak a windows API hivasokat kell ismerd...
    ==========================================================================
    MenuetOS 1 floppys OS, full assembly az egész, van graf felülete, és tényleg pöcc egyszerűen lehet vele dolgozni... aki nem hiszi el a fent írtakat, annak itt egy kissebb, egyszerűbb példa (főleg, h opensource)
  • koppaany
    #13
    48-as eltolást próbáltad már? sub x,48 elméletileg visszaadja a számot
  • koppaany
    #12
    title sanyinak
    .model small
    .stack
    .data
    sz dw 0b,0b,0b
    s dw 1
    s1 dw 1
    .code

    start:

    mov ax,_data
    mov ds, ax

    mov cx, 40
    be:
    mov ah, 1
    int 21h
    cmp al,''
    je kistart
    mov s1,cx
    mov sz[s1],al
    loop be

    kistart:
    mov cx,40
    ki:
    mov s,cx
    mov ah,2
    mov dl,sz[40-s]
    loop ki


    mov ax,4C00h
    int 21h
    end start

    Sanyi ezt próbáld meg, van benne 2 baki, de nem jöttem rá a megoldásra.
  • koppaany
    #11
    Szevasztok!

    Kérlek áruljátok el, miért kapok erre a kódra osztástúlcsordulási hibaüzenetet!
    Köszi!



    title led
    .model small
    .stack
    .data
    x db 0b
    y db 0b
    .code
    start:
    mov ax,_data
    mov ds,ax
    ;mov ax,3
    ;int 10h
    ;mov ah,00000000b
    ;mov al, 'a'
    xor ax,ax
    mov ax,0b800h
    mov es,ax
    jmp go

    c1:
    cmp ah,11111111b
    je c_e
    add ah,1b
    jmp c2

    c_e:
    mov ah,00000000b
    jmp c2

    c2:
    cmp al, 'z'
    je c__e
    add al,1
    jmp go

    c__e:
    mov al, '1'
    jmp go

    go:
    mov al, 'a'
    mov ah,00000000b
    mov di,0d
    ;mov cx, 4000
    jmp prg
    prg:
    mov es:[di],ax
    int 21h
    add di,2d
    jmp c1

    ex:
    mov ax, 4c00h
    int 21h
    end start
  • Zizi2
    #10
    Szia!
    Én se sokat értek hozzá, de sikerült megcsináltom. A program (szerintem) úgy működik, hogy ez elsőnek beolvasott karaktert az utolsó helyre teszi, utolsó elöttire a másodikat stb. Igaz az enyém csak 10 karakteres, de működik.

    fradi segment
    assume cs:fradi
    beolv db 10 dup(' ')
    db '$'
    beolvdb db 0

    start:
    mov ah,0 ;karakter beolv.
    mov al,3
    int 10h
    mov di, offset beolv
    add di,9
    push cs
    pop ds
    mov cl,0
    vissza:
    mov ah,0
    int 16h
    cmp al,13 ;enter teszt
    jz vege
    mov [di],al
    dec di
    inc cl
    jmp vissza

    vege:
    mov beolvdb,cl
    mov bh,0
    mov dl,5
    mov dh,10
    mov ah,2
    int 10h
    mov dx,offset beolv
    mov ah,9 ;kiírás
    int 21h

    mov ah,4ch ;kilépés
    int 21h

    fradi ends
    end start
  • Zizi2
    #9
    Sziasztok!
    A segítségeteket kérem. Kaptam egy feladatot amit nem tudok megcsinálni. Egy tetszőleges szövegben tárolt számot kellene normálalakban kiírnom (mantissza E karaterisztika). Karaktert beolvasni és kiírni tudok csak az átalakítás nem megy. Légyszi segítsetek!!
  • sanyiii
    #8
    Sziasztok!

    Most tanulok suliban assembly-t és még elég kezdő vagyok. Van egy program amit egyszerűen nem tudok megírni. Légyszives segítsetek!
    A feladat, hogy egy maximum 40 karater hosszú szöveget be kell kérni (enter lenyomására a beolvasás vége), majd fordítottan kiírni. Szóval ha én beírom hogy 'sanyi', akkor ezt írja ki: 'iynas'.
    Eddig jutottam:

    .MODEL small
    .STACK 100h
    .DATA
    ;
    szoveg1 db 43 dup(?)
    szoveg2 db 43 dup(?)
    ;
    .CODE
    ;
    mov ax,@data
    mov ds,ax
    ;
    mov bx,0
    mov cx,40
    beolvas:
    mov ah,1
    int 21h
    mov szoveg1[bx],al
    inc bx
    cmp al,13
    je beolvas_vege
    loop beolvas
    ;
    dec bx
    beolvas_vege:
    mov szoveg1[bx],10
    mov szoveg1[bx+1],13
    mov szoveg1[bx+2],'$'
    ;
    inc bx
    mov si,0
    mov di,bx
    mov cx,bx
    csere:
    mov al,szoveg1[di]
    mov szoveg2[si],al
    inc si
    dec di
    loop csere

    mov ah,9
    mov dx,OFFSET szoveg2
    int 21h
    ;
    mov ah,4ch
    int 21h
    END

    Előre is köszönöm a segítséget!!
  • ZilogR
    #7
    esetleg vki járatos és el tudna indítani némi infoval (főleg fejlesztő környezet kellene Win98SE alá) ARM procik programozásában???

    Nokia telefon procikat szeretnék bűvölni vas szintjén. Nem hiszem, h senki nem foglalkozik ezzel kis hazánkban...!?

    Előre is köszönöm!

    -=ZR=-
  • ZilogR
    #6
    ...és akkor vége is lett ennek a topic-nak?

    Talán indítok egyet...

    -=ZR=-
  • AtomHeart
    #5
    Igen, en is virusokra gondoltam...
    Amikor azt mondtam, hogy erdemes xp-re is asm-ben irni a progikat, en a grafikus feluletu windows-os programokra gondoltam. Azokat pedig eppoly egyszeru megirni asm-ben, mint pl visual c++-ban mfc nelkul, bvagy delphiben vcl nelkul. Csak a windows API hivasokat kell ismerd...
  • AtomHeart
    #3
    Ez nem igaz, megeri meg xp ala is asm-ben irni teljes programokat (inkabb a rovidebbeket), mert van egy par elonyuk, tobbek kozt a kis fajlmeret, ami nehany esetben letfontossagu lehet (...).
    Dynam!c, ahhoz, hogy ne keljen parancssorbol kinlodj a forrasok asszemblalasaval, szerezz be egy IDE-t, mint peldaul RadASM (szerintem a legprofibb). Telepitsd fel az masm32 legujabb, asszem 8-as kiadasat, konfigurald a RadAsm-ot, es olyan egyszeru lesz az asm programok irasa, mint peldaul a c++-oke, felteve, ha a nyelvet elsalyatitod. Hja, nezd meg Icezelion win32 asm tutorialjait!
  • Dynamic
    #1
    Na szóval abszolút kezdő lennék a témában.Lehet nyugodtan röhögni, de néhány nagyon láma kérdés jön.Magáról az assemblyről(programozásról) már csak-csak kezdek sejteni 1-2 dolgot, de nem tudom, hogy XP alá mit és hogyan érdemes telepíteni, hogy működőképes legyen a téma.A Turbo Assemblert nem tudom telepíteni, mert DOS-ból kell(kell?) és az XP alatt nem igazán megoldható, Command prompttal meg nem műxik.
    MASM32-őt felraktam, de ebben meg azt nem tudom, hogy kell a általam megírt *.asm filet lefordítani illetve futtatni, meg ilyen "apró" alapvető dolgok.
    Aki tud, lécci segítsen.Köszi.