abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:00 | IT novinky

    Na Humble Bundle běží akce Linux: All the Things by O'Reilly a Picos, HATs, and More by Raspberry Pi Press. Elektronické knihy lze koupit se slevou a současně podpořit organizace Code for America a Raspberry Pi Foundation.

    Ladislav Hagara | Komentářů: 1
    včera 14:00 | Komunita

    FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, má nový vtipný a současně užitečný doplněk Banana For Scale (GitHub). Aktuálně umožňuje do výkresu vložit banán nebo plechovku pro porovnání a určení měřítka.

    Ladislav Hagara | Komentářů: 4
    včera 12:00 | Komunita

    Blender Studio nedávno oznámilo plán vytvořit svůj první otevřený (open source) celovečerní film. Film by se měl jmenovat Overgrown (YouTube). Film vznikne, pokud se zajistí financování. Prvním krokem je získat 7 000 předplatitelů Blender Studia. Cena je od 11,50 eur měsíčně. Aktuálně počet předplatitelů je 5 289. Předplatné pokryje 20 % nákladů. Zbytek, 80 % nákladů, má být financován externími producenty nebo distributory.

    Ladislav Hagara | Komentářů: 0
    12.7. 01:11 | Nová verze

    Byl vydán Debian 13.6, tj. šestá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.15, tj. poslední patnáctá opravná verze Debianu 12 s kódovým názvem Bookworm, k dispozici je LTS. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    10.7. 16:11 | Bezpečnostní upozornění

    V jádře Linux byla nalezena a v upstreamu již byla opravena kritická zranitelnost GhostLock aneb CVE-2026-43499. Lokálnímu uživateli umožňuje získat práva roota a také obejít kontejnerovou izolaci. Zranitelnost existovala v Linuxu 15 let, tj. od roku 2011, od Linuxu verze 2.6.39.

    Ladislav Hagara | Komentářů: 2
    10.7. 13:55 | IT novinky

    Evropská komise předběžně shledala, že návykový design aplikací Instagram a Facebook od americké společnosti Meta porušuje unijní nařízení o digitálních službách (DSA). Návykový design zahrnuje například takzvané nekonečné posouvání, automatické přehrávání videí, tzv. push notifikace, kdy aplikace uživatele vybízí k návratu do jejího prostředí, či vysoce personalizovaný algoritmus, který rychle pozná, co uživatele baví a snaží

    … více »
    Ladislav Hagara | Komentářů: 18
    10.7. 12:11 | Nová verze

    Byla vydána verze 1.97.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    10.7. 05:00 | IT novinky

    Švýcarská společnost Punkt. má nově v nabídce telefon Punkt. MC03. Telefon byl navržen ve Švýcarsku s důrazem na soukromí a digitální suverenitu a vyroben v Německu. V telefonu běží operační systém AphyOS (Apostrophy OS) založený na AOSP (Android Open Source Project) 15. Cena telefonu je 745 eur.

    Ladislav Hagara | Komentářů: 26
    10.7. 04:44 | Nová verze

    TypeScript (Wikipedie), tj. JavaScript rozšířený o statické typování a další atributy, byl vydán v nové verzi 7.0. Kompilátor byl kvůli výkonu přepsán z TypeScriptu do Go.

    Ladislav Hagara | Komentářů: 0
    9.7. 17:00 | IT novinky

    Europarlament podpořil pozměněnou verzi výjimky známé jako „chat control 1.0“ umožňující firmám skenovat soukromou komunikaci na internetu kvůli ochraně dětí před zneužitím. Pozměňovací návrhy přijaté europoslanci však počítají s tím, že z výjimky bude vyřazena šifrovaná komunikace. Výjimka přestala platit začátkem dubna poté, co se Evropský parlament a Rada EU nedokázaly shodnout na jejím prodloužení. Rada následně přijala

    … více »
    Ladislav Hagara | Komentářů: 12
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 2117 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: assembler secteni cisla

    15.1.2006 02:45 _change
    assembler secteni cisla
    Přečteno: 507×
    Zdravim vsechny mam takovy zacatecnicky problem, kdy nevim jak prinutit aby mi po secteni dvou cisel vytiskl danou promennou vysledek, takhle mi to vytiskne nic. diky za pomoc, jeslti nekdo vi jak.
    SECTION .data
    cislo1 dd 8
    cislo2 dd 2
    vysledek dd 0
    
    
    SECTION .text
    global _start 
    _start:
    
    mov eax,[cislo1]
    mov ebx,[cislo2]
    add eax,ebx    ;sectu cisla
    mov [vysledek],eax   ;ulozim do vysledku
    
    mov eax,4  ;prvni parametr cislo systemoveh ovolani
    mov ebx,1  ;vim, ze konstanta stdout ma hodnotu 1
    mov ecx,vysledek
    mov edx,32 ;pocet znaku
    int 0x80   ;zavolame jadro
    
    mov eax,1  ;cislo volani jadra - exit
    mov ebx,0  ;navratovy kod 0
    int 0x80   ;zavolame jadro
    

    Odpovědi

    15.1.2006 08:00 Michal Pokorný | skóre: 6
    Rozbalit Rozbalit vše Re: assembler secteni cisla
    No já taky nejsem nějak extra dobrej programátor, ale řekl bych, že tu chybý konverze z datovédo typu dd (4-bytové celé číslo) na řetězec ;)
    15.1.2006 10:14 Jirka | skóre: 36
    Rozbalit Rozbalit vše Re: assembler secteni cisla
    Tato funkce by mela vypsat obsah registru AL, ale je to delane pomoci sluzeb DOSu. Doufam, ze se nikdo nebude zlobit, ze jsem to tu dal: ps: jen pro uplnost: int 21h zpusobi preruseni, tim se (podle obsahu registru - z hlavy to neznam) zavola pozadovana sluzba. A u techto funkci staci do AX zapsat byte. Vim, ze to je pro 16 bitovy rezim, ale pro 32 bitu by nemelo byt tezke to prepsat. Doufam ze jsem na nic nezapomnel. Vytahl jsem to z jedne knihovny, kterou mam k dispozici.

    segment code
    
    Write_Word:             ; AX=Byte
    	pushf
        	pusha
        	mov si,4
        	mov bx,10
    wwcyc1: mov dx,0
            div bx
        	add dl,'0'
    	mov [z_w+si],dl
            dec si
            cmp si,0
            jnz wwcyc1
            add al,'0'
    	mov [z_w],al
        	mov dx,z_w
        	mov si,0
    wwcyc2: cmp [z_w+si],byte '0'
        	jne wwcont
        	inc dx
        	inc si
        	cmp si,4
        	jne wwcyc2
    wwcont: call Print_Str   ; viz. nize
    	popa
    	popf
    	ret
    
    Print_Str:              ; DX=String_offset, String='???....???','$'
            pushf
            pusha
            mov ah,9
            int 21h         ;volani sluzeb DOSu
            popa
            popf
            ret
    
            segment data
    z_w     resb 2
    

    Jardík avatar 15.1.2006 11:37 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: assembler secteni cisla
    Opravdu tam chybí převod čísla na řetězec. Funkce na převod:
    ;--------------
    ;NumToAscii
    ;--------------
    ; eax = 32b číslo
    ; ebx = základ soustavy
    ; edi = pointer na buffer, kam bude uložen text
    ;--------------
    
    NumToAscii:
    pushad
    xor esi,esi
    .smycka_prevodu:
    xor edx,edx
    div ebx
    call HexDigit
    push edx
    inc esi
    test eax,eax
    jnz .smycka_prevodu
    cld
    .smycka_zapis:
    pop eax
    stosb
    dec esi
    test esi,esi
    jnz .smycka_zapis
    popad
    ret
    HexDigit:
    cmp dl,10
    jb .mensi
    add dl,'A'-10
    ret
    .mensi:
    or dl,'0'
    ret
    
    Použití:
    mov eax,[vysledek]
    mov edi,buffer
    call preved
    
    v sekci .DATA
    buffer:
    TIMES 12 DB 0
    
    Délku můžeš zjistit pomocí strlen:
    strlen:
    push eax
    xor ecx,ecx
    xor eax,eax
    dec ecx
    cld
    repne scasb
    neg ecx
    pop eax
    ret
    
    Řetězec musí být uložen v ES:EDI a délka se vrátí v ecx. Jinak, abyste neřekli, že jsem blázen, tak prozradím, že je to z knihy Učíme se programovat v jazyce assembler pro PC
    Věřím v jednoho Boha.
    18.1.2006 11:40 _change
    Rozbalit Rozbalit vše Re: assembler secteni cisla
    diky, ale bohuzel zkousel jsem to nejak dat dohromady, a porad mi to nejde, nevim jak ten program dat dohromady, aby to fungovalo,nevite nekdo pls?
    18.1.2006 12:46 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: assembler secteni cisla
    A proč to píšeš v asm napiš to normálně v C a je po ptákách.
    Jardík avatar 24.2.2006 22:37 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: assembler secteni cisla
    Zde je funkční řešení tvého problému:
    ; překlad:
    ; nasm -f elf preved.asm
    ; ld -s -o preved preved.o
    
    SECTION .text
    global _start
    
    _start:
    
    
    
    ; Sečtu Cislo1+Cislo2, výsledek do Vysledek
    mov eax,[Cislo1]
    mov ebx,[Cislo2]
    add eax,ebx
    mov [Vysledek],eax
    
    ; Převedu Vysledek na text do VysledekText
    mov eax,[Vysledek]
    mov ebx,10
    mov edi,VysledekText
    call NumToAscii
    
    ; Vytisknu vysledek
    
    mov ebx,VysledekText	   ; ukazatel na text do ebx
    mov esi,ebx            ; uložím ho ještě do esi
    xor edx,edx
    
    .next:
    inc edx                ;v edx počítáme počet znaků, co budeme tisknout
    lodsb                  ;načteme znak do al a k esi přičteme 1
    or al,al               ;jsme už na konci řetězce (al==0)
    jnz .next              ;ne? přičteme další znak
    mov byte [esi-1],0xa   ;zapíšeme místo nulového byte na konci řetězce znak nového řádku
    
    
    mov eax,4              ;systémové volání write( ebx = KAM, ecx = CO, edx = KOLIK )
    mov ecx, ebx           ;v ebx byla adresa řetězce
    mov ebx,1              ;STDOUT
                           ;v edx již je počet znaků
    int 0x80               ;přerušení
    
    
    
    ; konec programu
    mov eax, 1
    mov ebx, 0
    int 0x80
    
    
    ;--------------
    ;NumToAscii
    ;--------------
    ; eax = 32b číslo
    ; ebx = základ soustavy
    ; edi = pointer na buffer, kam bude uložen text
    ;--------------
    
    NumToAscii:
    pushad
    xor esi,esi
    .smycka_prevodu:
    xor edx,edx
    div ebx
    call HexDigit
    push edx
    inc esi
    test eax,eax
    jnz .smycka_prevodu
    cld
    .smycka_zapis:
    pop eax
    stosb
    dec esi
    test esi,esi
    jnz .smycka_zapis
    popad
    ret
    HexDigit:
    cmp dl,10
    jb .mensi
    add dl,'A'-10
    ret
    .mensi:
    or dl,'0'
    ret
    
    
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;; DATA
    
    SECTION .data
    
    VysledekText TIMES 20 db 0
    Cislo1 dd 8
    Cislo2 dd 2
    Vysledek dd 0
    
    Věřím v jednoho Boha.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.