??? 06/03/05 18:24 Read: times |
#94300 - compares on the 8051 Responding to: ???'s previous message |
Hello Ofir
If you're using Assembler then use instruction CJNE then check the Carry bit to see which one is greater than. Below is the partial copy from "bible" Function: Compare and Jump if Not Equal Description: CJNE compares the magnitudes of the first two operands, and branches if their values are not equal. The branch destination is computed by adding the signed relative-displacement in the last instruction byte to the PC, after incrementing the PC to the start of the next instruction. The carry flag is set if the unsigned integer value of <dest-byte> is less than the unsigned integer value of <src-byte>; otherwise, the carry is cleared. Neither operand is affected. The first two operands allow four addressing mode combinations: the Accumulator may be compared with any directly addressed byte or immediate data, and any indirect RAM location or working register can be compared with an immediate constant. Example: The Accumulator contains 34H. Register 7 contains 56H. The first instruction in the sequence, CJNE R7,#60H,NOT_EQ ; ... .... ; R7 = 60H. NOT_EQ: JC REQ_LOW ; IF R7 < 60H. ; ... .... ; R7 > 60H. sets the carry flag and branches to the instruction at label NOT_EQ. By testing the carry flag, this instruction determines whether R7 is greater or less than 60H. If the data being presented to Port 1 is also 34H, then the instruction, WAIT: CJNE A,P1,WAIT clears the carry flag and continues with the next instruction in sequence, since the Accumulator does equal the data read from P1. (If some other value was being input on P1, the program will loop at this point until the P1 data changes to 34H.) Hope this helps Regard, T.L |
Topic | Author | Date |
compares on the 8051. | 01/01/70 00:00 | |
CJNE | 01/01/70 00:00 | |
sorry, I forgot | 01/01/70 00:00 | |
compares on the 8051 | 01/01/70 00:00 | |
Not so good... | 01/01/70 00:00 | |
Comparing | 01/01/70 00:00 | |
where is the bible? | 01/01/70 00:00 | |
Here it is | 01/01/70 00:00 | |
Compare value | 01/01/70 00:00 | |
the code | 01/01/70 00:00 | |
Another method | 01/01/70 00:00 | |
what? | 01/01/70 00:00 | |
No | 01/01/70 00:00 | |
There are more errors! | 01/01/70 00:00 | |
anyone?? | 01/01/70 00:00 | |
There are more errors! | 01/01/70 00:00 | |
YOU ARE GREAT!!! THANKS!!! | 01/01/70 00:00 | |
Simulator | 01/01/70 00:00 | |
search.. | 01/01/70 00:00 | |
Compare tips | 01/01/70 00:00 | |
Try these | 01/01/70 00:00 | |
sensors | 01/01/70 00:00 | |
Macros![]() | 01/01/70 00:00 |