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í
×
    dnes 00:11 | Nová verze

    Byla vydána nová verze 4.5 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 21:33 | Nová verze

    Byla vydána verze 3.0 (Mastodon) nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). S novou verzí formátu záznamu asciicast v3, podporou live streamingu a především kompletním přepisem z Pythonu do Rustu.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | Komunita

    Canonical oznámil, že bude podporovat a distribuovat toolkit NVIDIA CUDA (Wikipedie) v Ubuntu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Tržní hodnota americké společnosti Alphabet, která je majitelem internetového vyhledávače Google, dnes poprvé překonala hranici tří bilionů dolarů (62,1 bilionu Kč). Alphabet se připojil k malé skupině společností, které tuto hranici pokořily. Jsou mezi nimi zatím americké firmy Nvidia, Microsoft a Apple.

    Ladislav Hagara | Komentářů: 0
    včera 20:33 | IT novinky

    Spojené státy a Čína dosáhly dohody ohledně pokračování populární čínské platformy pro sdílení krátkých videí TikTok v USA. V příspěvku na síti Truth Social to dnes naznačil americký prezident Donald Trump. Dosažení rámcové dohody o TikToku vzápětí oznámil americký ministr financí Scott Bessent, který v Madridu jedná s čínskými představiteli o vzájemných obchodních vztazích mezi USA a Čínou. Bessentova slova později potvrdila také čínská strana.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Komunita

    MKVToolNix, tj. sada nástrojů pro práci s formátem (medialnym kontajnerom) Matroska, byl vydán ve verzi 95.0. Podpora přehrávání formátu Matroska míří do Firefoxu [Bug 1422891, Technický popis]. Přehrávání lze již testovat ve Firefoxu Nightly.

    Ladislav Hagara | Komentářů: 0
    13.9. 17:33 | Pozvánky

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 211. sraz, který proběhne v pátek 19. září od 18:00 ve Studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Na srazu proběhne přednáška Jiřího Eischmanna o nové verzi prostředí GNOME 49. Nemáte-li možnost se zúčastnit osobně, přednáškový blok bude opět streamován živě na server VHSky.cz a následně i zpřístupněn záznam.

    Ladislav Hagara | Komentářů: 0
    13.9. 01:33 | IT novinky

    Microsoft se vyhnul pokutě od Evropské komise za zneužívání svého dominantního postavení na trhu v souvislosti s aplikací Teams. S komisí se dohodl na závazcích, které slíbil splnit. Unijní exekutivě se nelíbilo, že firma svazuje svůj nástroj pro chatování a videohovory Teams se sadou kancelářských programů Office. Microsoft nyní slíbil jasné oddělení aplikace od kancelářských nástrojů, jako jsou Word, Excel a Outlook. Na Microsoft si

    … více »
    Ladislav Hagara | Komentářů: 10
    12.9. 14:00 | Nová verze

    Samba (Wikipedie), svobodná implementace SMB a Active Directory, byla vydána ve verzi 4.23.0. Počínaje verzí Samba 4.23 jsou unixová rozšíření SMB3 ve výchozím nastavení povolena. Přidána byla podpora SMB3 přes QUIC. Nová utilita smb_prometheus_endpoint exportuje metriky ve formátu Prometheus.

    Ladislav Hagara | Komentářů: 0
    12.9. 12:00 | Zajímavý článek

    Správcovský tým repozitáře F-Droid pro Android sdílí doporučení, jak řešit žádosti o odstranění nelegálního obsahu. Základem je mít nastavené formální procesy, vyhrazenou e-mailovou adresu a být transparentní. Zdůrazňují také důležitost volby jurisdikce (F-Droid je v Nizozemsku).

    |🇵🇸 | Komentářů: 21
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (81%)
     (7%)
     (3%)
     (3%)
     (4%)
     (2%)
    Celkem 182 hlasů
     Komentářů: 12, poslední 10.9. 13:00
    Rozcestník

    Dotaz: assembler secteni cisla

    15.1.2006 02:45 _change
    assembler secteni cisla
    Přečteno: 435×
    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.