• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    LITTLELIAssembler
    LITTLELI
    LITTLELI --- ---
    vymyslete nekdo neco kloudnyho do ty ankety
    at mame o cem debatovat
    LITTLELI
    LITTLELI --- ---
    ta otazka v ankete je mimochodem fake
    jisteze k hw na w2k/xp pristupovat jde,
    ale zalezi kam ;)
    treba tem malickej plasm na hw pristupuje a pod w2k/xp funguje.

    zkuste si ale treba resetovat procesor ;)
    HROOSHA
    HROOSHA --- ---
    muchas gracias, uz se trochu zacinam orientovat :))
    zacal sem z assemblerem asi pred mesicem, takze porad zapasim se zakladnima vecma, zlehonka mi to ale zacina v hlabe krystalizovat :))
    LITTLELI
    LITTLELI --- ---
    modifikace predchoziho kodu
    [bits 16]
    [org 100h]
    eolchars    db	    '  ',13,'$'
    
    [section .text]
    readkey:mov	ah,0
    	in	al,60h
    	dec	ax
    	jz	exit
    	inc	ax
    	call	bin2dec
    	mov	ah,9
    	mov	dx,eolchars
    	int	21h
    	jmp	readkey
    
    bin2dec:mov     bx,10
    digit:  xor     dx,dx
            div     bx
            push    dx
            or      ax,ax
            jz      print
            call    digit
    print:  mov     ah,02
            pop     dx
            add     dl,'0'
            int     21h
    exit:	ret
    

    human readable form
    HROOSHA
    HROOSHA --- ---
    hola lidi, nemate nekdo nahodou utilitku kdy, ktera umi precist scancody z klavesnice a vytisknout je jakkoli .. neco sem nasel na netu, ale bud k tomu nenji zdrojak a nebo to nechodi tak jak ma :((
    ANT_39
    ANT_39 --- ---
    docela progres, na to ze to zacalo jako "tak jsem z nudy vyplodil..." :)
    LITTLELI
    LITTLELI --- ---
    ted tak koukam, slo by korektneji zapsat misto
    add bl, '0'
    add bx,BYTE '0'

    je to korektnejsi ;) ale uz se to nezkrati... mozna o krapitecek zrychli na novejsich
    procesorech ;)
    LITTLELI
    LITTLELI --- ---
    hehe anketa fakt zajimavy :)) hlasuje temer vzdy stejne lidi :)
    ale tentokrat je to fakt zajimave ;)
    LITTLELI
    LITTLELI --- ---
    Nova anketa!
    LITTLELI
    LITTLELI --- ---
    hm hm hm
    a co ten pseudonahodny generator? pamatuje jeste nekdo neco pouzitelnyho? ;)
    LITTLELI
    LITTLELI --- ---
    MASCA: co me prekvapilo, na novych pocitacich je xlat(b) taky pekne pomala instrukce (navic je vectorpath) takze opet brzdi parovani :(
    MASCA
    MASCA --- ---
    LITTLELI: Jo, divy trvaj hodne dlouho. Tyhle problemy jsem mival, pak jsem to zacal resit vypisem v hexa (pres xlat). Nahodni uzivatele mych her sice brblali, ale po chvili si zvykli :)
    SEJDA
    SEJDA --- ---
    to to jo .. gratuluji :o)
    LITTLELI
    LITTLELI --- ---
    dobre dobre zruste akci.... :))) 24 bajtu

    Bin2Dec:mov     bx,10
    Digit:  xor     dx,dx
            div     bx
            push    dx
            or      ax,ax
            jz      Print
            call    Digit
    Print:  mov     ah,02
            pop     dx
            add     dl,'0'
            int     21h
            ret
    
    LITTLELI
    LITTLELI --- ---
    a ma to jeste jednu malou hnusnou musku ze ;)
    LITTLELI
    LITTLELI --- ---
    na i8086 je to celkem putna, akorat ten div trva straaaaaaasne dlouho a to nejen na xt
    LITTLELI
    LITTLELI --- ---
    ted kdyz na to koukam... docela to jde
    akorat misto
        add	    dl,30h
    
    bych mel delat spis
        add	    dx,byte 30h
    


    aby nedoslo k false-dependency v dusledku partial register write...
    stejne je tam vector path instrukce, takze s tim retezenim instrukci to nebude
    tak horke.
    LITTLELI
    LITTLELI --- ---
    z nudy jsem to vyplodil, je to uplne obycejny prevod a vypis na obrazovku

    [bits 16]
    [org 0x100]
    [section .data]
    
    rady	dw  10000, 1000, 100, 10, 1, 0
    
    [section .text]
        mov	    ax,0xAB10	    ; v ax cislo 43792
        mov	    si,rady
    
    n_digit:
        xor	    dx,dx	    ; is needed!
        mov	    bx,[si]
        or	    bx,bx
        jz	    konec
        div	    bx
        push    dx		    ; dx = mod po deleni
        mov	    dx,ax
        mov	    ah,2
        add	    dl,30h	    ; posun v ascii tabulce
        int	    21h
        pop	    ax		    ; v ax co nam zbylo, jedem dalsi rad
        add	    si,byte 2
        jmp	    n_digit
    konec:
        ret
    


    48 bajtu a je to pomaly a mozna by to slo optimalizovat.. nevim proste to funguje :)
    LITTLELI
    LITTLELI --- ---
    SEJDA: ten kod si opravdu zkousel? ;-))
    DARK_SAVANT
    DARK_SAVANT --- ---
    jezish ;-) az budu doma, pastnu sem nejakej priklad, z hlavy to ted zrovna nedam..
    LITTLELI
    LITTLELI --- ---
    jj ono to nestaci, musi se to chytre napsat, ja to zkousel, ale mam horecku a fakt nemuzu (to je zase vymluva).
    DARK_SAVANT
    DARK_SAVANT --- ---
    SEJDA > viz littleli - myslim ze je to zrovna ta aam :o)
    LITTLELI
    LITTLELI --- ---
    SEJDA: ja nevim, jsem marod a vubec mi to nepremysli, kazdopadne si myslim ze se na to pouzivaji instrukce s BCD.... AAM apod, ty by ten prevod mely
    zvladnout dobre. ted to po me ale nechtej
    SEJDA
    SEJDA --- ---
    mam pro vas ukol .. na 24 bytu nebo min .. portebuju pres sluzby ms-dosu .. vypsat cislo v ax na obrazovku (ah = 2 nebo 9 int 21h .. pro tisk znaku nebo retezce ukonceneho '$')
    Ja jsem prisel jenom na tohle:
    mov cx, ax
    mov bx,10
    
    prevod:
    pusha
    xor dx, dx
    div bx
    or dl, 30h
    cmp al, 0
    jne prevod
    
    tisk:
    mov ah,02
    int 21h
    popa
    test ax, cx
    jne tisk
    
    ret
    

    Jeste dodam, ze je to pro i8086 ..
    _FREZA_
    _FREZA_ --- ---
    jcd: jojo :-)
    JCD
    JCD --- ---
    vhdl je nejukecanejsi jazyk co jsem kdy videl...videl jsem v tom napsanej PIC mikrokontroler, ne ze bych to nejak umel, jen co jsem k tomu cuchnul ve skole ;]]]
    LITTLELI
    LITTLELI --- ---
    no ted zrovna jsem videl ze nekde prijmou vyvojare VHDL
    njo kdyz se clovek 'zabije' jako ja na blbym oboru tak co se mnou ,-)
    JANFROG
    JANFROG --- ---
    _FREZA_: To samozrejme, FPGA je jen pro prvotni testovani. Co jsem slysel, tak uz to delaj tak, ze ti z toho vyleze i PCI karta i s nejakejma
    monitorvacima obvodama a pak si to ve special softiku ladis - proste HW simulator :-)
    Jinak ja osobne s timhle nikdy do styku neprisel - maximalne ve skole s VHDL (co se tuce jazyka, videl jsem elegantnejsi, tohle mohli vymyslet jen v Petagonu...)
    LITELLI: To je fakt. Penez nemaj malo, ono to asi neni tak jednoduche, jak to tady povidam :-)
    LITTLELI
    LITTLELI --- ---
    _FREZA_, JANFROG: ale specialisti na tyhle veci jsou pomerne slusne placeny jsem koukal ;) tjo
    _FREZA_
    _FREZA_ --- ---
    JANFROG: jojo, presne tak. teda s tim ze do FPGA to budes hazet jenom kdyz toho vyrabis relativne malo. kdyz chces tech procesoru pak mit vagon, tak si to nechas napalit do ASICu (vyjde to levnejc, FPGAcko stoji radove desitky az stovky dolaru na kus - aspon co vim).
    Kliknutím sem můžete změnit nastavení reklam