lo que sucede es que necesito realizar una resta
que da resultado negativo, es decir por ejemplo (8-16), bueno yo se que esta es muy facil ya que es de 8 bits
y se que solo bastaria con mirar el bit "C" del status para saber que es negativa. el problema es
que en mi programa a veces no necesito restar solo 8 bits sino tambien 32; razon por la cual empeze a utilizar
una subrutina de resta de 32bits que me baje de
http://www.piclist.com/techref/microchip/math/32bmath-ph.htm ya que esta tambien podria efectuar restas de 8 bits, claro esta colocando los otros 3 registros
que esta usa; hice las pruebas pertinentes y la subrutina funciona perfectamente cuando son restas normales
es decir de resultado positivo, pero cuando se trata de restas como por ejemplo (5-6) o (7000-1400).. etc
no funciona bien, ya que esta subrutina me entrega en 4 registros el resultado y cuando efectuo dichas restas
el resultado que me entrega no es el esperado sino por ejemplo:
01101101011000 -----> 7000
- 11011010110000
____________________
10010010101000
analizandolo yo se que ese resultado sacandole el complemento a dos da el resultado esperado, pero entonces mi pregunta es
en el programa yo necesito saber si el resultado es negativo o positivo porque depende de ese resultado tengo que hacer otras cosas
y mirando el status despues de que me entrega este resultado veo que el bit "C" no se altera para mostrarme que es negativo solo me saca ese resultado
que mostre y nada mas, yo podria hacer lo del complemento a dos, pero como le defino yo al pic cuando si y cuando no hacerlo.
otra cosa, haciendo varias pruebas veo que funciona perfecto, es decir me activa el bit "C" y me muestra el resultado correcto sin sacar complementos
cuando hago restas de numeros muy grandes por ejemplo:
01000000000000000000000000000000 ---------> 1073741824
- 10000000000000000000000000000000 ---------> 2147483648
si algien me puede ayudar por favor se lo agradeceria mucho, estoy programando en ASM y con un pic16f877.
no me explico porque no funciona ya que las otras rutinas que hay funcionan perfecto y ademas se supone que esta rutina es una resta con signo
pues segun lo que ahi dice tiene un registro que me indica el signo.