aboutsummaryrefslogtreecommitdiff
path: root/amforth-6.5/msp430/drivers/flash/words/ic-store.asm
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-08-26 20:31:40 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-08-26 20:31:40 +0200
commitd80736ab6e8e3cad2f1a30c6eaba2d6883dbe967 (patch)
tree15962f3d8542ae182d88ac5913a3c4bfce6f2b03 /amforth-6.5/msp430/drivers/flash/words/ic-store.asm
parent530a312ee523a25e5df475341d201e5bb1296c41 (diff)
Remove AmForth
Diffstat (limited to 'amforth-6.5/msp430/drivers/flash/words/ic-store.asm')
-rw-r--r--amforth-6.5/msp430/drivers/flash/words/ic-store.asm29
1 files changed, 0 insertions, 29 deletions
diff --git a/amforth-6.5/msp430/drivers/flash/words/ic-store.asm b/amforth-6.5/msp430/drivers/flash/words/ic-store.asm
deleted file mode 100644
index c8677ea..0000000
--- a/amforth-6.5/msp430/drivers/flash/words/ic-store.asm
+++ /dev/null
@@ -1,29 +0,0 @@
-;Z IC! x a-addr -- store char in Instruction memory
- CODEHEADER(XT_CSTOREI,3,"c!i")
- MOV @PSP+,W ; get data to write
- CMP.B @TOS,W
- JZ IST_X ; if memory is desired value, do not write
- ; is it within Main flash?
- CMP #FLASHSTART,TOS
- JNC ICST_INFO ; if borrow, adr<start, check if Info
- CMP #FLASHEND+1,TOS
- JNC ICST_OK ; if no borrow, adr>end, check if Info
-ICST_INFO: ; is it within Info flash?
- CMP #INFOSTART,TOS
- JNC ICST_RAM ; if borrow, adr<start, assume it's RAM
- CMP #INFOEND+1,TOS
- JC ICST_RAM ; if no borrow, adr>end, assume it's RAM
-ICST_OK: ; Address is either in Main flash, or in Info flash.
- ; Byte/word write from flash.
- ; Assumes location to write is already erased
- ; Assumes ACCVIE = NMIIE = OFIE = 0, watchdog disabled.
- ; Per section 5.3.3 of MSP430 Family User's Guide
- DINT ; Disable interrupts
- MOV #FWKEY,&FCTL3 ; Clear LOCK
- MOV #FWKEY+WRT,&FCTL1 ; Enable write
-ICST_RAM: ; If RAM, jump here to write. FCTL1,FCTL3,EINT are superfluous
- MOV.B W,0(TOS) ; Write byte to flash location
- MOV #FWKEY,&FCTL1 ; Done. Clear WRT.
- MOV #FWKEY+LOCK,&FCTL3 ; Set LOCK
- EINT ; Enable interrupts
- JMP IST_X