• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    LITTLELIAssembler
    _FREZA_
    _FREZA_ --- ---
    jachymko: mno nevim, nedela se to tak ze se vypnou interrupty, nastavi se mmu, zapnou se interrupty? (aspon tusim ze takhle sem to videl pro ARM)
    LITTLELI
    LITTLELI --- ---
    nj ale to se stane :)) zase je dobry, ze je jasny kde to bylo.
    LITTLELI
    LITTLELI --- ---
    JACHYMKO: jen to napis, nikdo se ti smat nebude
    LITTLELI
    LITTLELI --- ---
    no mi to delame tak, ze mame po vstupu do PM nastavenou vlastnost zasobniku
    na to ze je to 16bitovy segment, coz samozrejme neni duvod k tomu aby to nefachcilo.
    zasobnik se plni od zhora, to mas take splneno ;)
    tam bude naka bota primo se segmenty...
    mas nejaky debug info k tomu? fakt to pada na tom movu?
    LITTLELI
    LITTLELI --- ---
    offset segmentu... a co se tyce tech deskriptoru vitej do sveta.
    ja uz ani nevim jak to presne funguje ;)
    LITTLELI
    LITTLELI --- ---
    AXTHEB: to je sluzba biosu :))
    AXTHEB
    AXTHEB --- ---
    ; emulace dalnopisu
    LITTLELI
    LITTLELI --- ---
    pasaz s kodem:

    stuj:   hlt
            jmp     stuj
    


    je podle mne moc roztomila :_))
    LITTLELI
    LITTLELI --- ---
    jak se vratit po resetu na spravne misto... ve vm86 se to nepodari! bud je zapotrebi real nebo ring0, ale to jsem nezkousel (proc asi):

    [bits 16]
    [org 100h]
    [section .bss]
    stack_end:
            resw    50
    stack_begin:
    
    [section .data]
    multitask:	db	'Program nelze spustit ve virtualnim rezimu!',13,10,'$'
    reset_msg:	db	'Pokud se cinnost pocitace zastavi pocitac vypnete!',13,10
    		db	'Signal reset byl zaslan procesoru... ',36
    digits:         db      '0123456789abcdef'
    model:          db      'model 0x$'
    revision:       db      ', revision 0x$'
    CRLF:		db	13,10,'$'
    
    [section .text]
    	smsw	ax
    	and	ax,1
    	jz	fajn
    	mov	ah,9
    	mov	dx,multitask
    	int	21h
    	ret				; konec programu	
    fajn:	mov	ah,9
    	mov	dx,reset_msg
    	int	21h
            cli
            push    word 40h
            pop     ds
            mov     ax,cs
            mov     word[67h],real
            mov     word[69h],ax            ; 0040h:67h
            mov     al,0fh
            out     70h,al
            jmp     delay
    delay:  mov     al,0ah
            out     71h,al
            mov     al,0fch			; shutdown processoru tj. 
            				; 1) navrat do realneho rezimu z prot.
            				; 2) provede se skok dle 0040:0067 hned po resetu
            out     64h,al			; nyni se provadi 'pomaly' reset
    stuj:   hlt				; pozastavi cinnost procesoru az
    					; do chvile, kdy se zresetuje
            jmp     stuj			; pouze pojistka pro prichod NMI
            nop
    real:   mov     ax,cs			; tady bude pokracovat nase rutina
            mov     ss,ax
            mov     ds,ax
            mov     es,ax                   ; ted jsou vsechny segm. reg rovny
            mov     sp,stack_begin		; nastaveni prozatimniho zasobniku
    	and	sp,0fffch		; zarovnani ??? zkusmo
            mov     al,0ffh
            out     64h,al                  ; povolit klavesnici
    	cld
            sti
            push    dx			; v DX je model a revize procesoru !!!
            mov     ah,9
            mov     dx,model
            int     21h			; napis model
            pop     ax
            push    ax
            mov     al,ah
            call    ByteToHex       	; napis cislo modelu
            mov     dx,revision
            mov     ah,9
            int     21h             	; retezec revize        
            pop     ax               	; tady je vysledek
            call    ByteToHex        	; napis cislo revize
    
            mov     ah,9
            mov     dx,CRLF
            int     21h             	; zaradkuj
    
            mov     ah,4ch
            int     21h                 	; navrat do DOSu
    
    ByteToHex:
            push    bx
            push    ax
            push    ax
            mov     bx,digits
            shr     al,4
            xlatb
            mov     ah,0eh
            int     10h         ; emulace dalnopisu
            pop     ax
            and     al,0fh
            xlatb
            mov     ah,0eh
            int     10h         ; emulace dalnopisu
            pop     ax
            pop     bx
            ret
    
    WordToHex:
            push    ax
            call    ByteToHex
            pop     ax
            mov     al,ah
            call    ByteToHex
            ret
    


    hehe, to jsem byl jeste pilna vcelka a komentoval kod ;)
    MASCA
    MASCA --- ---
    LITTLELI Tak to vazne problem... To jsem resil, zkousel jsem int15, taky nekde v dat. oblasti BIOSu (seg. 40) mozna neco takovyho je. Kazdopadne ale k tomu, abys ji mohl pouzit, musis prepnout do protectu, a tam uz nevim, jak se takove veci vubec resi. Nicmene, az nekdo odpovi, taky by me to zajimalo.
    LITTLELI
    LITTLELI --- ---
    tak a ted technicka...........

    jak se da spolehlive detekovat velikost fyzicke RAM?
    rekneme, ze jsem po POSTu najety v MSDOSu, muzu si s HW delat co chci
    nemam HIMEM ani jine manazery, kde se to da precist? INT 15h mi ale prosim
    nerikejte.
    LITTLELI
    LITTLELI --- ---
    nechce nekdo predat tenhle klub? dost vazne o tom premyslim
    LITTLELI
    LITTLELI --- ---
    nova nastenka :)
    chtel bych zalozit sekci artworx, ale chtelo by to nejake linky na zajimave projekty psane v asm. klidne i pitominy, jde o to, aby byly necim zajimave.
    HYBY
    HYBY --- ---
    SALUSA: mno tak ja si pod tim predstavuju ze nekdo napsal jaky si vykonne jadro (to je jedno ceho), ktere pouziva specific API a typuju ze ty budes portovat pro AVRka to API tak aby na tom mohl behat ten "independent" code...
    SALUSA_SECUNDUS
    SALUSA_SECUNDUS --- ---
    ;o)) hele dostal sem se k tomuhle inzeratu:

    Vývojový pracovník
    Hledáme odborníka pro samostatný projekt SW do ISDN systémového telefonu pro telefonní ústřednu NetStar

    Požadujeme znalost programování v ANSI C se znalostí specifiky překladačů pro procesory AVR a 51; převod odladěného C kódu na embedded platformy

    no a chtel bych vedet co znamena ta posledni veta, prevod na embedded platformy - padz bych o tu pracicku mel jinak asi zajem ;o)) diky
    LITTLELI
    LITTLELI --- ---
    sledujete anketu?
    18:1 v neprospech SIMD.
    ja hlasoval ze SIMD neumim a vazne by me zajimalo, kterej typ tam zaskrt ze to jako ovlada...
    priznej se!!!
    JANFROG
    JANFROG --- ---
    LITELLI :-)))
    LITTLELI
    LITTLELI --- ---
    :-) mohu vas ujistit ze mi to nevadi, doufam, ze jste si vsimli, ze z klubu jsem udelal poloodborny... proste myslim, ze je dulezitejsi se dozvedet alespon neco nez bejt na suchu ;-)
    JANFROG
    JANFROG --- ---
    Jo, to vytriskas. Kdyz jsi clenem SF, tak mas pristup i k aktualizacim IRIXu, zdarma, primo z jejich serveru (alias IRIX update :-))
    Seriove cislo nemusis hledat, staci kdyz bootnes do PromMONITORu a opises si MAC ethernetoveho iface. Ale tohle je OT, pojdme pripadnou dalsi diskuzi presunout jinam...
    SKIM
    SKIM --- ---
    janfrog: Ok zkusim.. musim najit serial number.
    Jinak jeden borec rikal, ze s nich vytriskal i cd irixu na seriove cislo.. Ale musel si to vymailovat.

    No prave ze r10k jsem jaksi nedokazal vygooglovat. Kazdopadne zatim nechci, musim si v tom udelat poradek co vlastne mam.
    Kliknutím sem můžete změnit nastavení reklam