Problema en Assembler con el modo de video

Publicado en 'Programación' por Netero, 3 Jun 2007.





  1. Netero

    Netero Miembro nuevo

    Registro:
    3 Jun 2007
    Mensajes:
    1
    Likes:
    0




    Hola

    tengo problemas pintando la pantalla con el modo video en assemble, tengo que dividir la pantalla en cuatro cuadrados y pintar cada uno con un color diferente y escribir en cada cuadrado palabras, pero no puedo pintar la pantalla de varios colores me sale uno solamente, aqui esta el codigo me pueden dar alguna ayuda por favor.


    org 100h

    mov ah, 00 ;llamar video
    mov al, 03
    int 10h

    mov ah, 06 ;pintar
    mov al, 00
    mov bh, 14h
    mov cx, 0000
    mov dx, 1d27h
    int 10h

    mov ah, 06 ;pintar 2
    mov al, 00
    mov bh, 67h
    mov cx, 1e28h
    int 10h






    mov ah, 02 ;posicion
    mov bh, 00
    mov dh, 0bh
    mov dl, 11h
    int 10h

    ; imprimir
    mov ah, 09
    mov dx, nombre
    int 21h

    mov ah, 4ch
    int 21h

    nombre: db "Hola1$"


    mov ah, 02 ;posicion 2
    mov bh, 00
    mov dh, 0eh
    mov dl, 22h
    int 10h

    mov ah, 09
    mov dx, nombre2

    mov ah, 4ch
    int 21h

    nombre2: db "Hola2$"
     


  2. perito

    perito Miembro nuevo

    Registro:
    27 Set 2006
    Mensajes:
    43
    Likes:
    0
    Este codigo es...

    .MODEL SMALL
    .STACK
    .DATA

    nombre db "Hola1$"
    nombre2 db "Hola2$"
    .CODE
    mov ax,seg nombre
    mov ds,ax
    mov ah, 00 ;llamar video
    mov al, 03
    int 10h
    mov ah, 06 ;pintar 1
    mov al, 00
    mov bh, 14h
    mov cx, 0000;//superior columna y=0 x=0
    mov dx, 0b27h;//inferior y=11 x=39
    int 10h
    mov ah, 06 ;pintar 2
    mov al, 00
    mov bh, 25h
    mov cx, 0027h; Superior y=0 x=39
    mov dx, 0b50h;//inferior y=11 x=80
    int 10h

    mov ah, 06 ;pintar 3
    mov al, 00
    mov bh, 36h
    mov cx, 0c00h; Superior y=12 x=0
    mov dx, 1827h;//inferior y=24 x=40
    int 10h

    mov ah, 06 ;pintar 4
    mov al, 00
    mov bh, 47h
    mov cx, 0c27h; Superior y=12 x=40
    mov dx, 1850h;//inferior y=24 x=80
    int 10h

    mov ah, 02 ;posicion
    mov bh, 00
    mov dh, 0bh
    mov dl, 11h
    int 10h
    ; imprimir
    mov ah, 09
    lea dx, nombre
    int 21h
    mov ah, 09
    lea dx, nombre2
    mov ah, 4ch
    int 21h

    end


    ;Compilalo con el TASM
    ;Enlazalo con el TLINK
    ;Descargalo desde
    ; http://faculty.kfupm.edu.sa/EE/bashar/courses/downloads.htm

    ;Algunas funciones :hi:
    ; http://209.85.165.104/search?q=cach...df+int+10h+funcion+6&hl=es&ct=clnk&cd=1&gl=pe