From 3564e513623bb3fc4d528d3d29df9aa91dae1396 Mon Sep 17 00:00:00 2001 From: thing1 Date: Mon, 7 Oct 2024 13:01:30 +0100 Subject: did some electronics and comp sci work --- electronics/asm/1.asm | 21 +++++++++++++++++++++ electronics/asm/1.err | 0 electronics/asm/2.asm | 23 +++++++++++++++++++++++ electronics/asm/2.err | 0 electronics/asm/3.asm | 31 +++++++++++++++++++++++++++++++ electronics/asm/3.err | 0 electronics/asm/5.asm | 45 +++++++++++++++++++++++++++++++++++++++++++++ electronics/asm/5.err | 0 electronics/asm/7.asm | 41 +++++++++++++++++++++++++++++++++++++++++ electronics/asm/7.err | 0 electronics/asm/Makefile | 4 ---- electronics/asm/TODO | 2 ++ 12 files changed, 163 insertions(+), 4 deletions(-) create mode 100644 electronics/asm/1.asm create mode 100644 electronics/asm/1.err create mode 100644 electronics/asm/2.asm create mode 100644 electronics/asm/2.err create mode 100644 electronics/asm/3.asm create mode 100644 electronics/asm/3.err create mode 100644 electronics/asm/5.asm create mode 100644 electronics/asm/5.err create mode 100644 electronics/asm/7.asm create mode 100644 electronics/asm/7.err delete mode 100644 electronics/asm/Makefile create mode 100644 electronics/asm/TODO (limited to 'electronics') diff --git a/electronics/asm/1.asm b/electronics/asm/1.asm new file mode 100644 index 0000000..70eaa99 --- /dev/null +++ b/electronics/asm/1.asm @@ -0,0 +1,21 @@ +start: +init: + clrf PORTA ; make sure port A output latches are low + clrf PORTB ; make sure port B output latches are low + bsf STATUS,RP0 ; select memory bank 1 + movlw b'11111111' ; set port A data direction to inputs + movwf TRISA + movlw b'00000000' ; set port B data direction to outputs + movwf TRISB + bcf STATUS,RP0 ; select memory bank 0 + goto main +main: + movlw b'11111111' + movwf PORTB + call wait1000ms + call wait1000ms + movlw b'00000000' + movwf PORTB + call wait1000ms + goto main + END ; ends the program diff --git a/electronics/asm/1.err b/electronics/asm/1.err new file mode 100644 index 0000000..e69de29 diff --git a/electronics/asm/2.asm b/electronics/asm/2.asm new file mode 100644 index 0000000..2dafe9e --- /dev/null +++ b/electronics/asm/2.asm @@ -0,0 +1,23 @@ +start: +init: + clrf PORTA ; make sure port A output latches are low + clrf PORTB ; make sure port B output latches are low + bsf STATUS,RP0 ; select memory bank 1 + movlw b'11111111' ; set port A data direction to inputs + movwf TRISA + movlw b'00000000' ; set port B data direction to outputs + movwf TRISB + bcf STATUS,RP0 ; select memory bank 0 + goto main + +main: + movlw b'00000111' + movwf PORTB + call wait1000ms + + movlw b'11100000' + movwf PORTB + call wait1000ms + + goto main + END ; ends the program diff --git a/electronics/asm/2.err b/electronics/asm/2.err new file mode 100644 index 0000000..e69de29 diff --git a/electronics/asm/3.asm b/electronics/asm/3.asm new file mode 100644 index 0000000..9182e8d --- /dev/null +++ b/electronics/asm/3.asm @@ -0,0 +1,31 @@ +start: +init: + clrf PORTA ; make sure port A output latches are low + clrf PORTB ; make sure port B output latches are low + bsf STATUS,RP0 ; select memory bank 1 + movlw b'11111111' ; set port A data direction to inputs + movwf TRISA + movlw b'00000000' ; set port B data direction to outputs + movwf TRISB + bcf STATUS,RP0 ; select memory bank 0 + goto main + +main: + btfsc PORTA, 0 + goto flashled + goto main + +flashled: + movlw b'11111111' + movwf PORTB + call wait1000ms + call wait1000ms + movlw b'00000000' + movwf PORTB + call wait1000ms + + btfsc PORTA, 0 + goto flashled + goto main + + END ; ends the program diff --git a/electronics/asm/3.err b/electronics/asm/3.err new file mode 100644 index 0000000..e69de29 diff --git a/electronics/asm/5.asm b/electronics/asm/5.asm new file mode 100644 index 0000000..5455ded --- /dev/null +++ b/electronics/asm/5.asm @@ -0,0 +1,45 @@ +start: +init: + clrf PORTA ; make sure port A output latches are low + clrf PORTB ; make sure port B output latches are low + bsf STATUS,RP0 ; select memory bank 1 + movlw b'11111111' ; set port A data direction to inputs + movwf TRISA + movlw b'00000000' ; set port B data direction to outputs + movwf TRISB + bcf STATUS,RP0 ; select memory bank 0 + goto main + +main: + btfsc PORTA, 0 + goto led0 + + btfsc PORTA, 1 + goto led1 + + btfsc PORTA, 2 + goto led2 + + call wait1000ms + call wait1000ms + + movlw b'00000000' + movwf PORTB + goto main + +led0: + movlw b'00000001' + movwf PORTB + goto main + +led1: + movlw b'00000010' + movwf PORTB + goto main + +led2: + movlw b'00000100' + movwf PORTB + goto main + + end ; ends the program diff --git a/electronics/asm/5.err b/electronics/asm/5.err new file mode 100644 index 0000000..e69de29 diff --git a/electronics/asm/7.asm b/electronics/asm/7.asm new file mode 100644 index 0000000..4d7585c --- /dev/null +++ b/electronics/asm/7.asm @@ -0,0 +1,41 @@ +start: +init: + clrf PORTA ; make sure port A output latches are low + clrf PORTB ; make sure port B output latches are low + bsf STATUS,RP0 ; select memory bank 1 + movlw b'11111111' ; set port A data direction to inputs + movwf TRISA + movlw b'00000000' ; set port B data direction to outputs + movwf TRISB + bcf STATUS,RP0 ; select memory bank 0 + + VARA equ B20 + VARB equ B21 + + goto main +main: + btfsc PORTA, 0 + incf VARA, 0 + + btfsc PORTA, 1 + goto NEXTVAR + + goto main + +NEXTVAR: + btfsc PORTA, 0 + incf VARB, 0 + + btfsc PORTA, 1 + goto ADDITION + + goto NEXTVAR + +ADDITION: + movlw 0 + addwf VARA, 0 + addwf VARB, 0 + + movwf PORTB + + END ; ends the program diff --git a/electronics/asm/7.err b/electronics/asm/7.err new file mode 100644 index 0000000..e69de29 diff --git a/electronics/asm/Makefile b/electronics/asm/Makefile deleted file mode 100644 index 095d4e9..0000000 --- a/electronics/asm/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -test: test.asm - wjecasm -c/dev/ttyUSB0 test.asm -clean: - rm -rf *.err diff --git a/electronics/asm/TODO b/electronics/asm/TODO new file mode 100644 index 0000000..459236b --- /dev/null +++ b/electronics/asm/TODO @@ -0,0 +1,2 @@ +fix the last one, it doesnt work + -- cgit v1.2.3