bleszerd Posted July 19, 2020 at 01:34 AM Share Posted July 19, 2020 at 01:34 AM Olá estou seguindo um livro sobre assembly (especificamente este) e estou um pouco confuso quanto ao conceito de carry e borrow. Eu entendi que, utilizando a base binária como exemplo, 0b10 + 0b10 = 0b00 com o carry setado. Da mesma forma que 0b00 - 0b01 resultará em 0b11 com um borrow (não sei se entendi o que seria esse borrow, mas creio que utiliza-lo nesse contexto esteja correto). A parte que me deixou confuso foi a seguinte na imagem. Pelo que eu entendi X = 1 + (-1) = 0 com o carry setado, e da mesma forma X = 1 - 1 = 0 com o carry setado também, e isso não tem lógica na minha cabeça já que na segunda operação (1 - 1) ele não precisa de uma nova casa "emprestada". Por favor corrijam qualquer besteira que eu disse e, se possível, me indiquem materiais para leigos em assembly e microprocessadores. Thanks!! :) Link to comment Share on other sites More sharing options...
fredericopissarra Posted July 19, 2020 at 11:26 AM Share Posted July 19, 2020 at 11:26 AM Voltemos às aulas da Tia Jandira, lá no ensino fundamental... Como é que conseguíamos subtrair 7 de 3 na subtração 33 - 17? Você "pega emprestado" 1 do 3 e faz 13-7 = 6... e na próxima posição o 3 torna-se 2 porque você "pegou 1 emprestado" e teremos 2 - 1 = 1 e, portanto o resultado e 16, não é? Esse "pega emprestado" é o borrow (literalmente, em inglês, "empréstimo"). Aliás, em binário: 0 - 0 = 0 (e o borrow [carry] = 0). PS: E sim... o lance do Borrow ser complementar ao Carry está errado, basta ver a tabela verdade das duas operações com relação aos Carry e Borrow. No texto, o imbecil do autor enfiou os pés pelas mãos ao afirmar isso... Merece um esporro! O que o autor quis dizer com complementação do carry e borrow é em relação às operações de soma e adição... No exemplo, 1 - 1 resulta em borrow zerado (não há "pegação de empréstimo"), mas na operação 1 + (-1) há o "vai um" (porque -1, em complemento 2 é ele mesmo - se usarmos apenas 1 bit)... Numa operação com mais de um bit (8, por exemplo), -1 = 0b11111111, o que causará o mesmo efeito. É apenas uma informação útil... Para entender "carry" e "borrow" basta lembrar como se faz em decimal com os "vai uns" (carry" e "pega 1" (borrow), em cada algarismo de uma operação (adição e subtração, respectivamente). Link to comment Share on other sites More sharing options...
bleszerd Posted July 19, 2020 at 01:11 PM Author Share Posted July 19, 2020 at 01:11 PM Entendi! Faz todo o sentido agora, inclusive queria algum dia conversar com o autor em algum fórum na internet pra ver se ele toma vergonha na cara e para de passar as coisas erradas nos seus livros. De qualquer forma, dá pra continuar seguindo esse material? Minha ideia é aprender sobre sistemas operacionais no futuro, mas pelo que eu percebi o conteúdo na internet é bem superficial. Link to comment Share on other sites More sharing options...
fredericopissarra Posted July 19, 2020 at 02:09 PM Share Posted July 19, 2020 at 02:09 PM O autor pode ser encontrado no Discord do Mente Binária... ele costuma escrever pra caramba por lá (chega a ser chato!)... ? Quanto ao seguir o material... acho que dá. Como qualquer material, é necessário cautela! Link to comment Share on other sites More sharing options...
fredericopissarra Posted July 19, 2020 at 02:11 PM Share Posted July 19, 2020 at 02:11 PM PS: O autor desabilitou conversas em privado no Discord... Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.