Usando a instrução SUBWF

T

Tracid

Guest
Oi eu estou escrevendo um simples código em ASM para PIC16F84A para comparar dois registros e, dependendo do ramo de resultado para os locais ... Sua claro para mim que alredy SUBLW substratos W de Literal e não o contrário, como quando se usa SUBWF. A única coisa que não está claro para mim é quando é a byt Carry definido ou limpo. Porque eu já procurei na Internet e encontrei explicação diferente a partir do qual deve ser o errado. Então eu anote o código aqui com explicação sobre o que é o meu resultado desejado e peço que por favor me corrijam se eu estiver wrong.So: Compare movf M1Time, W, este é o primeiro registro para comparar subwf M3Time, W; comparar com o segundo registo BZ M3_Eq_M1, pois eles são o mesmo movf M1Time, W subwf M3Time, W BNC M3_LT_M1; M3Time é inferior a M1Time Goto M3_GT_M1; M3Time é maior do que M1Time M3_Eq_M1 movf ..... M3_LT_M1 movf ..... M3_GT_M1 movf .... 1, é o código correto? 2, se eu subtrair um valor maior a partir de um valor menor o bit Carry será definido? OU o carry será limpo? sua um pouco confuso .... me trata-se de Transporte e EMPRESTAR? Bit C é definida no estouro e é eliminado em underflow? 3, por favor, não me recomendar ADDLW ea solução complemento a dois :)) Muito obrigado
 
Oi, Olhando minhas anotações antigas de instrução set eu tenho isso para o bit de estado 0 Carry Flag. Se o resultado de uma Sub Zero é Pos ou a Carry é definido como 1 Se o resultado de uma Sub é negtive a Carry é definido como 0 Para confirmar o seu código está correto, basta executá-lo em Mplabs Simualtor e passo as linhas de código observando os bits de status na barra inferior, Carry c = 0 C = 1
 
Algum tempo atrás eu escrevi um utilitário para ajudar a escrever o código assembler para PIC16 série micros e postou no eda bordo aqui. http://www.edaboard.com/viewtopic.php?t=53935&highlight=pic+code+generator Não é necessário instalação, basta extrair todos os arquivos para um diretório. Chame o PicHelp diretório ou o que quiser. Gera código para construções comuns em programação. Por favor, dar uma chance e ver se isso ajuda.
 

Welcome to EDABoard.com

Sponsor

Back
Top