From 7a5e3d7163c477eaff3b8ed8a6f83ecd7325f19c Mon Sep 17 00:00:00 2001 From: Matt Strapp Date: Sun, 9 Feb 2020 09:32:49 -0600 Subject: Add asm file --- Lab_2B.X/lab2b_asm.s | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Lab_2B.X/lab2b_asm.s (limited to 'Lab_2B.X') 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 -- cgit v1.2.3