Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Programa em assembly

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Programa em assembly

    Preciso fazer um programa em assembly para achar o complemento a dois de um número de 2 bytes.
    Escrevi o seguinte código:

    Os números ficam armazenados no endereço 41H (mais significativo) e 40H

    MOV A, 40H ;move o valor do end. 40 para o acumulador A
    CPL A ;inverte os bits do valor em A
    ADD A, #1B ;soma 1 ao valor em A
    MOV 30H, A ;move o valor de A para o end. 30
    MOV A, 41H ; move o valor do end. 41 para o acumulador A
    CPL A ; inverte os bit do valor em A
    JC CARRY
    CARRY: ADD A, #1B

    MOV 31H, A ;move o valor de A para o end. 31


    O problema é a instrução JC CARRY, ela deveria somar 1 ao acumulador A somente se o carry fosse 1, porém está somando 1 sempre. Onde estou errando?
X
Working...
X