aboutsummaryrefslogtreecommitdiffstats
path: root/Lab_2B.X/lab2b_asm.s
diff options
context:
space:
mode:
authorMatt Strapp <msattr@gmail.com>2020-02-09 09:32:49 -0600
committerMatt Strapp <msattr@gmail.com>2020-02-09 09:32:49 -0600
commit7a5e3d7163c477eaff3b8ed8a6f83ecd7325f19c (patch)
tree7edbc1348c458fb694ac93f692316ad73cef4319 /Lab_2B.X/lab2b_asm.s
parentAdd C file (diff)
downloadee2361-7a5e3d7163c477eaff3b8ed8a6f83ecd7325f19c.tar
ee2361-7a5e3d7163c477eaff3b8ed8a6f83ecd7325f19c.tar.gz
ee2361-7a5e3d7163c477eaff3b8ed8a6f83ecd7325f19c.tar.bz2
ee2361-7a5e3d7163c477eaff3b8ed8a6f83ecd7325f19c.tar.lz
ee2361-7a5e3d7163c477eaff3b8ed8a6f83ecd7325f19c.tar.xz
ee2361-7a5e3d7163c477eaff3b8ed8a6f83ecd7325f19c.tar.zst
ee2361-7a5e3d7163c477eaff3b8ed8a6f83ecd7325f19c.zip
Add asm file
Diffstat (limited to '')
-rw-r--r--Lab_2B.X/lab2b_asm.s38
1 files changed, 38 insertions, 0 deletions
diff --git a/Lab_2B.X/lab2b_asm.s b/Lab_2B.X/lab2b_asm.s
new file mode 100644
index 0000000..ec29c69
--- /dev/null
+++ b/Lab_2B.X/lab2b_asm.s
@@ -0,0 +1,38 @@
+.include "xc.inc"
+
+.text ;BP (put the following data in ROM(program memory))
+
+; This is a library, thus it can *not* contain a _main function: the C file will
+; define main(). However, we
+; we will need a .global statement to make available ASM functions to C code.
+; All functions utilized outside of this file will need to have a leading
+; underscore (_) and be included in a comment delimited list below.
+.global _write_0, _write_1, _wait_100us, _wait_1ms
+
+_delay_100us:
+ repeat #1593
+ nop
+ return
+
+_delay_1ms:
+ repeat #15993
+ nop
+ return
+
+_write_0: ;2 cycles for function call
+ inc LATA ;1
+ repeat #3 ;1 for load
+ nop ;3+1=4 nop
+ clr LATA ;1
+ repeat #6 ;1 for load
+ nop ;1+6=7 nop
+ return ;3 return
+
+
+_write_1: ;2 cycle call
+ inc LATA ;1
+ repeat #10;1 load
+ nop ;1+10=11 nop
+ clr LATA ;1
+ nop ;1
+ return ;3 return \ No newline at end of file