Why isn't the text colored when using the 0Eh 10h interrupt?

前端 未结 4 843
别跟我提以往
别跟我提以往 2020-12-22 07:43

I\'m using the 10h interrupt with AH as 0Eh to output \"Hello World!\" The text is ouputted but its not colored. I\'m running it on qemu-system-x86_64, assembling with NASM,

4条回答
  •  孤城傲影
    2020-12-22 08:25

    ;make to use mov ah,0eh
    
    bits 16
    
    org 0x7c00
    
    
    jmp basla
    
    ; clear screen with colour you want
    
    basla:
    
      ;pencere boyutu 80x25 karakter
    
      mov ah,06h
      mov al,00h
      mov bh,0ach ; ah zemin rengi,ch karakter rengi
      mov cx,00h ;silmeye pencerenin sol ustunden basla
      mov dx,184fh ;18h(24.satir) ve 4fh(79.sutun)a kadar sil.
      int 10h
    
    ;then print your program
    
      mov di,isim ;dizinin ilk adresini di kutuk yazmacina ata
      call yazbas  ; alt program cagriliyor
    
      mov di,isim2 ;ikinci dizinin adresi ataniyor
      call yazbas  ;ayni alt program cagriliyor
    
      jmp $ ;sonsuz dongu
    
    yazbas:
    
       mov ah,0eh
    
       mov al,[di]
       int 10h
       inc di
       or al,al
       jz bitti
       jmp yazbas
    
    bitti:
    
    ret
    
    isim db "attila oguz",0
    
    isim2 db "isletim duzenegine giris",0
    
    times 510-($-$$) db 0
    
    dw 0xaa55   
    

提交回复
热议问题