X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=forthMSP430FR_HALFDUPLEX.asm;h=6e1cd64f792adf57b72a2d82d2cd5935f2910288;hb=58d8b4b70bfc04a8cc6bf71c60ac38df6a747bff;hp=792d784ba5a35fbf882ada92d8c770f974393cd0;hpb=5c41627319d7f9cdf6755072fd64ba64ed9ec46f;p=fast-forth%2Fmaster.git diff --git a/forthMSP430FR_HALFDUPLEX.asm b/forthMSP430FR_HALFDUPLEX.asm index 792d784..6e1cd64 100644 --- a/forthMSP430FR_HALFDUPLEX.asm +++ b/forthMSP430FR_HALFDUPLEX.asm @@ -6,6 +6,9 @@ ; --------------------------------------; ; (ACCEPT) part I: prepare TERMINAL_INT ; ; --------------------------------------; + .IFDEF TOTAL + .word 1537h ;6 push R7,R6,R5,R4 + .ENDIF ; MOV #ENDACCEPT,S ;2 S = ACCEPT XOFF return MOV #AKEYREAD1,T ;2 T = default XON return .word 152Dh ;5 PUSHM IP,S,T, as IP ret, XOFF ret, XON ret @@ -143,11 +146,14 @@ ENDACCEPT ; <--- XOFF return address ; --------------------------------------; MOV #LPM0+GIE,&LPM_MODE ; reset LPM_MODE to default mode LPM0 for next line of input stream CMP #0,&LINE ; if LINE <> 0... - JZ DROPEXIT ; - ADD #1,&LINE ; ...increment LINE -DROPEXIT SUB @PSP+,TOS ; Org Ptr -- len' - MOV @RSP+,IP ; 2 and continue with INTERPRET with GIE=0. + JZ ACCEPTEND ; + ADD #1,&LINE ; ...increment LINE +ACCEPTEND SUB @PSP+,TOS ; Org Ptr -- len' + MOV @RSP+,IP ; 2 and continue with INTERPRET with GIE=0. ; So FORTH machine is protected against any interrupt... + .IFDEF TOTAL + .word 1734h ;6 pop R4,R5,R6,R7 + .ENDIF mNEXT ; ...until next falling down to LPMx mode of (ACCEPT) part1, ; **************************************; i.e. when the FORTH interpreter has no more to do.