J.P. Armstrong
/
IntToBinaryAssembly
Assembly procedure that represents binary using the LEDs on the mbed.
main.cpp@2:a81c9bc37084, 2011-01-28 (annotated)
- Committer:
- jp
- Date:
- Fri Jan 28 02:40:35 2011 +0000
- Revision:
- 2:a81c9bc37084
- Parent:
- 1:7490aeb7d770
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jp | 1:7490aeb7d770 | 1 | // |
jp | 1:7490aeb7d770 | 2 | // INTEGER TO BINARY by J.P. Armstrong |
jp | 1:7490aeb7d770 | 3 | // http://www.armtronics.com/ |
jp | 2:a81c9bc37084 | 4 | // |
jp | 2:a81c9bc37084 | 5 | // Improved by Igor Skochinsky |
jp | 1:7490aeb7d770 | 6 | // |
jp | 1:7490aeb7d770 | 7 | // PART OF CODE FROM: |
jp | 1:7490aeb7d770 | 8 | // http://mbed.org/cookbook/Assembly-Language |
jp | 1:7490aeb7d770 | 9 | |
jp | 0:13e4e935bed6 | 10 | #include "mbed.h" |
jp | 1:7490aeb7d770 | 11 | |
jp | 0:13e4e935bed6 | 12 | // This program will blink LED1 and LED4 |
jp | 0:13e4e935bed6 | 13 | // using assembly language for LED1 and |
jp | 0:13e4e935bed6 | 14 | // API functions for LED4 |
jp | 0:13e4e935bed6 | 15 | // declare external assembly language function (in a *.s file) |
jp | 0:13e4e935bed6 | 16 | extern "C" int binasm(int value); |
jp | 0:13e4e935bed6 | 17 | // declare LED outputs � let C set them up as output bits |
jp | 0:13e4e935bed6 | 18 | |
jp | 0:13e4e935bed6 | 19 | DigitalOut myled1(LED1); |
jp | 0:13e4e935bed6 | 20 | DigitalOut myled2(LED2); |
jp | 0:13e4e935bed6 | 21 | DigitalOut myled3(LED3); |
jp | 0:13e4e935bed6 | 22 | DigitalOut myled4(LED4); |
jp | 0:13e4e935bed6 | 23 | |
jp | 0:13e4e935bed6 | 24 | int main() { |
jp | 0:13e4e935bed6 | 25 | |
jp | 0:13e4e935bed6 | 26 | int i = 1; |
jp | 0:13e4e935bed6 | 27 | |
jp | 0:13e4e935bed6 | 28 | while (true) { |
jp | 0:13e4e935bed6 | 29 | binasm(i % 16); |
jp | 0:13e4e935bed6 | 30 | wait(0.1); |
jp | 0:13e4e935bed6 | 31 | i++; |
jp | 0:13e4e935bed6 | 32 | } |
jp | 0:13e4e935bed6 | 33 | |
jp | 0:13e4e935bed6 | 34 | } |