;+ ; MOVTC -- GET TERMINAL CHARACTERISTIC FIELD ; ; THIS MACRO IS USED TO EXTRACT A SEVERAL-BIT FIELD FROM THE ; CHARACTERISTICS INFORMATION. SUCH FIELDS WILL NORMALLY BE ALIGNED ; AT THE START OF A BYTE SO THAT NO SHIFTING IF NECESSARY, BUT ; IF THE FIELD IS NOT GUARANTEED TO BE THERE AN EXTRA ARGUMENR ; MUST BE SUPPLIED SO THAT THE SHIFT IS GENERATED. ;- .MACRO MOVTC CHAR,DST,SHIFT .NTYPE $$$,DST ;; CHECK THAT DST IS A REGISTER .IF NE,$$$&70 .ERROR; MOVTC - 'DST' IS NOT A REGISTER .MEXIT .ENDC MOVB T.C'CHAR+T.TCHR(R4),DST ;; GET THE APPROPRIATE BYTE .IF NB,SHIFT ASH #-T$C'CHAR,DST ;; SHIFT TO THE RIGHT PLACE .ENDC BIC #^C,DST ;; CLEAR OUT THE REST .ENDM MOVTC