diff options
author | Matt Strapp <msattr@gmail.com> | 2020-02-06 11:32:37 -0600 |
---|---|---|
committer | Matt Strapp <msattr@gmail.com> | 2020-02-06 11:32:37 -0600 |
commit | 6a228146c5643f1dd5eaf9be8f9e210461ec4d63 (patch) | |
tree | c37cf0ea8572297284c6b713f89df812917d8d9f | |
parent | Add discussion Stuff (diff) | |
download | ee2361-6a228146c5643f1dd5eaf9be8f9e210461ec4d63.tar ee2361-6a228146c5643f1dd5eaf9be8f9e210461ec4d63.tar.gz ee2361-6a228146c5643f1dd5eaf9be8f9e210461ec4d63.tar.bz2 ee2361-6a228146c5643f1dd5eaf9be8f9e210461ec4d63.tar.lz ee2361-6a228146c5643f1dd5eaf9be8f9e210461ec4d63.tar.xz ee2361-6a228146c5643f1dd5eaf9be8f9e210461ec4d63.tar.zst ee2361-6a228146c5643f1dd5eaf9be8f9e210461ec4d63.zip |
Add discussion Stuff
Diffstat (limited to '')
-rw-r--r-- | Disc02.X/disc02asm.s | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Disc02.X/disc02asm.s b/Disc02.X/disc02asm.s new file mode 100644 index 0000000..c718500 --- /dev/null +++ b/Disc02.X/disc02asm.s @@ -0,0 +1,40 @@ + .equ __P24FJ64GA002,1 ;required "boiler-plate" (BP) + .include "p24Fxxxx.inc" ;BP + +#include "xc.inc" ;BP + ; DO NOT include config statements. We define them in the C file + ;the next two lines set up the actual chip for operation - required + ;config __CONFIG2, POSCMOD_NONE & I2C1SEL_PRI & IOL1WAY_OFF & OSCIOFNC_ON & FCKSM_CSECME & FNOSC_FRCPLL & SOSCSEL_LPSOSC & WUTSEL_FST & IESO_OFF + ;config __CONFIG1, FWDTEN_OFF & COE_OFF & BKBUG_OFF & GWRP_OFF & GCP_OFF & JTAGEN_OFF + + .bss ;put the following labels in RAM +_counter: .space 2 ;declare a 16-bit variable +; you SHOULD NOT define stack, becasue this file is compiled +; alongside a C file that contains main(). The C compiler +; will create stack space for us. +;stack: +; .space 32 ;this will be our stack area, from var_16_bit to here + .text ;BP (put the following data in ROM(program memory)) + .global _myAsmFunc + .global _myGlobalVar + .global _counter + +_myAsmFunc: + push w0 + + inc _myGlobalVar + inc _counter + + bra checkLoopEndCond +loopBody: + btg LATB, #2 ; btg stands for bit-toggle. + nop + dec WREG0 +checkLoopEndCond: + cp0 w0 + bra nz, loopBody + + pop w0 + return + .end + |