Jump to content

Recommended Posts

Posted

Boas... É assim, sabendo que CX = 2A02h e no data segment no endereço 246Bh = FFh por exemplo...

Sabem me explicar qual a diferença de MOV CX, 246Bh e MOV CX, [246Bh]... Alguem me consegue explicar qual a diferença destas instruções?

Cumps...

Posted

Se a minha memória não me atraiçoa e salvo algum pormenor que me pode escapar, ao utilizar os parêntesis rectos estás a "dizer" que o que queres colocar no registo CX é o conteúdo guardado no endereço 246Bh.

Por outro lado, se não utilizares parêntesis rectos, estás a colocar no registo CX o valor 246Bh que poderá muito bem ser um apontador para memória ou ser simplesmente um valor numérico.

Posted

Visto que estás a trabalhar trabalhar com operandos de diferentes tamanhos, o primeiro não é válido sequer, o outro talvez seja aceite, não tenho a certeza.

De qualquer maneira, caso fosse MOV AX, [bX], estarias a copiar o conteúdo apontado por BX para AX. Ou seja, o BX estará a servir de apontador para um endereço de memória, e por isso utilizas os [ ] para ir buscar o seu conteúdo.

No segundo caso, estás a copiar o registo AL e a colocá-lo no conteúdo de um endereço de memória apontado por BX.

Se a memória não me falha, é isto. Atenção ao tamanho dos operandos. Regra geral devem ter o mesmo tamanho.

Posted

Sempre que fazes [qq_coisa] está a aceder ao conteúdo da memória apontado por qq_coisa.

Logo, se fazes mov [qq_coisa], 10, estás a meter o valor 10 na posição de memória apontada por qq_coisa.

<3 life

Posted

Boas... Tou com outro problema... Agora é a experimentar memerio de video! Isto é so um programa teste e é para escrever 25*80 asteriscos no ecran todos com diferentes cores... o problema é que depois de o compilar, ao executar o codigo nao aparece nada no ecran, podem me ajudar? o codigo é o seguinte

.8086
.model small
.stack 2048
cseg segment para public 'code'
assume cs:cseg

Main proc
mov ax,0b800h
mov es,ax
mov al,0h
mov ah,'*'
mov bx,0
mov cx,25*80
ciclo: 
mov es:[bx],ah
mov es:[bx+1],al
inc bx
inc bx
inc al
loop ciclo

FIM:	
mov ah,4CH
INT 21H
Main endp
cseg ends
end Main

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.