Programação  
 
Rede de conhecimento computador >> Programação >> Programação De Computador Idiomas >> Content
Escreva um programa de linguagem de montagem para multiplicar o número assinado de 8 bits por um número?
`` `Assembléia
.Model pequeno
.Stack 100H

.dados
num1 dB -12; Primeiro número assinado de 8 bits
Num2 dB 5; Segundo número a multiplicar por
resultado dw?; Resultado de multiplicação (16 bits)

.código
PROC
mov ax, @data; Inicializar o registro do segmento de dados
mov ds, machado

mov al, num1; Carregue o primeiro número no registro al
mov bl, num2; Carregue o segundo número no BL Register

imul bl; Multiplique Al por BL (resultado em AX)

resultado mov, machado; Armazene o resultado na variável 'resultado'

; Exibir o resultado (opcional)
; ...

mov ah, 4ch; Programa de saída
int 21h

ENDP PRINCIPAL
final principal
`` `

Explicação:

1. Inicialização:
- `.model small` define o modelo de memória (modelo pequeno) e configura a estrutura do programa.
- `.Stack 100H` reserva 100h bytes para a pilha.
- A seção .Data` declara variáveis:`num1`,` num2` e `resultado`.

2. Carregando os números:
- `mov al, num1` carrega o primeiro número no registro` al`, que é usado para operações de 8 bits.
- `mov bl, num2` carrega o segundo número no registro` bl`.

3. multiplicação:
- `Imul Bl` executa a multiplicação assinada de` al 'por `bl`. O resultado será armazenado no registro `ax` (16 bits).

4. armazenando o resultado:
- `MOV Result, ax` armazena o resultado de 16 bits da` ax` na variável `resultado`.

5. Exibição opcional:
- Você pode adicionar código para exibir o resultado usando `int 21h` com os códigos de função apropriados. Esse snippet de código se concentra na própria multiplicação.

6. saindo do programa:
- `MOV AH, 4CH` Define o` AH` Registre -se no código de função do DOS para sair do programa.
- `int 21h` chama a interrupção do DOS para executar a função de saída.

Notas importantes:

-Este programa usa multiplicação assinada de 8 bits, o que significa que o resultado pode ser um valor assinado de 16 bits. A instrução `imul` lida com a extensão de sinal automaticamente.
- A variável `resultado` é declarada como uma palavra (` dw`) para manter o resultado de 16 bits.
- Você pode modificar `num1` e` num2` para alterar os números que deseja multiplicar.
- O código de montagem precisará ser montado usando um assembler como MASM ou TASM e, em seguida, vinculado para criar um arquivo executável.

Anterior :

Próximo :
  Os artigos relacionados
·Diferenças entre Estruturas e Classes 
·Como converter de espaço para Newline 
·Para que é usado um conjunto de caracteres Unicode? 
·A diferença entre uma caixa de combinação e uma caix…
·SQL Cadeia Tutorial 
·O que é o CLS SQL 
·Como alinhar à direita texto usando HTML 
·Como manterá logado no ColdFusion 
·Em que geração surgiu a programação de computadores…
·Como compilar um projeto Android no Windows 
  Artigos em destaque
·Como verificar se uma variável é um inteiro 
·Como criar uma classe em Ruby 
·O que é um erro 380 em Vb 
·Como exibir um caractere como um Integer em Java 
·Como fazer uma matriz e preenchê-lo com números aleat…
·Como criar PDFs com PHP 
·Como Aplicar Convolution em MATLAB sem utilizar a funç…
·Como manter Letras no quadro em Java 
·O que causa JRun Servlet Erro 500 Null 
·Como escrever um programa Java para estimar sua idade e…
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados