• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    LITTLELIAssembler
    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
    Kliknutím sem můžete změnit nastavení reklam