Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Soraia Tarrinha

Guardar Carateres do ecrã

Mensagens Recomendadas

Soraia Tarrinha

Boa tarde, quero guardar carateres do ecrã num ficheiro. O tamanho é 20 linhas e 40 colunas. Desenvolvi código, mas ele só está a guardar 14 linhas. Alguém me consegue ajudar?

Mov bx,0
mov si,0
mov ax,0
mov di,si
mov cx, 80
lab_ciclo:
    mov al, es:[bx]
    mov buffer[si], al
    inc si
    add bx,2
 loop lab_ciclo
    add di,82
    mov si,di
    mov cx,82
    cmp si, 2050
    jne lab_ciclo

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bsccara

Olá. Como é a estrutura do bloco que queres passar para o ficheiro (ou a julgar pelo teu código para um 'buffer' para posteriormente ser gravado). ? Pelo teu código estarias a copiar bytes alternados (ou apenas o LSB dum valor de 16 bits), em sequências de 80 da primeira vez e 82 das subsequentes. A comparação final que deveria parar o ciclo exterior também está errada, pois (2050 - 80) / 82 dá um valor fraccionário, o que significa que o registo SI irá fazer 'wrap-around' até eventualmente atingir esse valor, escrevendo para além da área alocada para a variável 'buffer'.

Editado por bsccara
  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.