Názor k článku Specifika instrukční sady mikroprocesorů Intel 8086/8088 (2) od Pavel Tišnovský - připomenu kód na kopírování obrázku z CS do...

  • 17. 9. 2024 15:55

    Pavel Tišnovský
    Zlatý podporovatel

    připomenu kód na kopírování obrázku z CS do video RAM. Máme něco jako:

    org  0x100        ; zacatek kodu pro programy typu COM (vzdy se zacina na 256)
    
    start:
            gfx_mode 0x13       ; nastaveni rezimu 320x200 s 256 barvami
            grayscale_palette   ; nastaveni palety se stupni sedi
    
            mov ax, cs
            mov ds, ax
            mov si, image       ; nyni DS:SI obsahuje adresu prvniho bajtu v obrazku
    
            mov ax, 0xa000      ; video RAM v textovem rezimu
            mov es, ax
            xor di, di          ; nyni ES:DI obsahuje adresu prvniho pixelu ve video RAM
    
            mov cx, 320*200/2   ; pocet zapisovanych bajtu (=pixelu)
            rep movsw           ; prenos celeho obrazku
    
            wait_key            ; cekani na klavesu
            exit                ; navrat do DOSu
    
    ; pridani binarnich dat s rastrovym obrazkem
    image:
        incbin "image_320x200.bin"

    když se do CX hodí nula, nic se nezkopíruje