next up previous contents
Next: Modos de endereçamento Up: Assembly do 68000 Previous: Organização dos dados   Sumário

Instruções assembly

Neste texto, o microprocessador 68000 da Motorola será utilizado como exemplo. Seu amplo repertório inclui instruções para:

aritmética inteira:
adição (ADD, ADDI, ADDQ), subtração (SUB, SUBI, SUBQ), divisão com ou sem sinal (DIVS, DIVU), multiplicação com ou sem sinal (MULS, MULU), negação (NEG)
aritmética em BCD
B.2: adição (ABCD), subtração (SBCD), negação (NBCD)
manipulação de endereços:
adição (ADDA), comparação (CMPA), subtração (SUBA), carregar (LEA), mover (MOVEA), push (PEA)
operações lógicas
E (AND, ANDI), deslocamento (ASL, ASR, LSL, LSR), comparação (CMP, CMPI), OU-exclusivo (EOR, EORI), complemento (NOT), OU (OR, ORI), test-and-set (TAS)
movimento e alteração de valores:
zerar conteúdo (CLR), trocar conteúdo de dois registradores (EXG), mover dados (MOVE, MOVEQ), mover conteúdo de registros (MOVEM, SWAP)
desvio:
incondicional (BRA, JMP), condicional (Bcc, DBcc), chamada de subrotina (BSR, JSR), retorno de subrotina (RTS)
manipulação de bits:
testa valor (BTST), testa e complementa (BCHG), testa e zera (BCLR), testa e seta (BSET)
manipulação da pilha:
ligar e alocar (LINK), desligar (UNLK)

Dentre estas instruções, há várias instruções similares que apresentam pequenas modificações de comportamento. Por exemplo, a instrução de soma ADD permite somar o conteúdo de dois registradores ou de um registrador e de um operando em memória. A instrução ADDI recebe um dos operandos em modo imediato (valor especificado no corpo da instrução). A instrução ADDQ também recebe o valor de um operando em modo imediato, sendo que neste caso este valor está limitado entre 1 e 8, permitindo uma representação mais compacta da instrução binária.

Várias destas instruções envolvem a especificação de operandos. O 68000 trabalha com operandos de três tamanhos: byte, word (dois bytes) e long word (quatro bytes). O tamanho do operando para a instrução é especificado através de sufixos .B, .W e .L, respectivamente, ao código mnemônico da instrução. Quando não especificado, word é o tamanho assumido.

O formato de uma instrução na memória está estruturado da seguinte forma (Figura B.3): a primeira palavra, sempre presente, determina a operação e os modos de endereçamento dos operandos. Caso haja algum operando imediato, este ocupará uma ou duas palavras seguintes. O endereço de um operando fonte, se presente, pode ocupar uma ou duas palavras seguintes. Finalmente, o endereço de destino da operação, se presente, ocupará uma ou duas palavras seguintes. A necessidade ou não destas palavras adicionais é determinada pelos modos de endereçamento, descritos a seguir.

Figura: Formato de uma instrução.
\includegraphics[width=50mm]{instmem.eps}


next up previous contents
Next: Modos de endereçamento Up: Assembly do 68000 Previous: Organização dos dados   Sumário
Ivan L. M. Ricarte 2003-02-14