⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kdfbr2.asm

📁 [随书类]Dos6.0源代码
💻 ASM
📖 第 1 页 / 共 2 页
字号:
	   IFF CAPS_STATE              ;;
	      XLATT TILDE_LOWER        ;;
	   ELSEF                       ;;
	      XLATT TILDE_UPPER        ;;
	   ENDIFF                      ;;
	ELSEF                          ;;
	   IFF CAPS_STATE              ;;
	      XLATT TILDE_UPPER        ;;
	   ELSEF                       ;;
	      XLATT TILDE_LOWER        ;;
	   ENDIFF                      ;;
	ENDIFF                         ;;
      ENDIFF                           ;;
				       ;;
INVALID_TILDE:                         ;;
      PUT_ERROR_CHAR TILDE_LOWER       ;; standalone accent
      BEEP                             ;; Invalid dead key combo.
      GOTO NON_DEAD                    ;;
				       ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CIRCUMFLEX ACCENT TRANSLATIONS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
				       ;;
CIRCUMFLEX_PROC:                       ;;
				       ;;
   IFF CIRCUMFLEX,NOT                  ;;
      GOTO NON_DEAD                    ;;
      ENDIFF                           ;;
				       ;;
      RESET_NLS                        ;;
CIRCUMFLEX_ON:                         ;;
      IFF R_ALT_SHIFT,NOT              ;;
	 XLATT CIRCUMFLEX_SPACE        ;;
      ENDIFF                           ;;
      IFF EITHER_CTL,NOT               ;;
      ANDF EITHER_ALT,NOT              ;;
	IFF EITHER_SHIFT               ;;
	   IFF CAPS_STATE              ;;
	      XLATT CIRCUMFLEX_LOWER   ;;
	   ELSEF                       ;;
	      XLATT CIRCUMFLEX_UPPER   ;;
	   ENDIFF                      ;;
	ELSEF                          ;;
	   IFF CAPS_STATE,NOT          ;;
	      XLATT CIRCUMFLEX_LOWER   ;;
	   ELSEF                       ;;
	      XLATT CIRCUMFLEX_UPPER   ;;
	   ENDIFF                      ;;
	ENDIFF                         ;;
      ENDIFF                           ;;
				       ;;
INVALID_CIRCUMFLEX:                    ;;
      PUT_ERROR_CHAR CIRCUMFLEX_LOWER  ;; standalone accent
      BEEP                             ;; Invalid dead key combo.
      GOTO NON_DEAD                    ;;
				       ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Upper, lower and third shifts
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
				       ;;
NON_DEAD:                              ;;
   IFKBD G_KB+P12_KB+XT_KB             ;; Avoid accidentally translating
   ANDF LC_E0                          ;;  the "/" on the numeric pad of the
      EXIT_STATE_LOGIC                 ;;   G keyboard
   ENDIFF                              ;;
				       ;;
   IFF  EITHER_ALT,NOT                 ;; Lower and upper case.  Alphabetic
   ANDF EITHER_CTL,NOT                 ;; keys are affected by CAPS LOCK.
      IFF EITHER_SHIFT                 ;; Numeric keys are not.
; <verav>: support for numeric pad comma/del key         ;;
	  iff NUM_STATE,NOT                              ;;
	      xlatt NUMERIC_PAD                          ;;
	  endiff                                         ;;
; <verav>                                                ;;
	  XLATT NON_ALPHA_UPPER        ;;
	  IFF CAPS_STATE               ;;
	      XLATT ALPHA_LOWER        ;;           
	  ELSEF                        ;;
	      XLATT ALPHA_UPPER        ;;
	  ENDIFF                       ;;
      ELSEF                            ;;
; <verav>: support for numeric pad comma/del key         ;;
	  iff NUM_STATE                                  ;;
	      xlatt NUMERIC_PAD                          ;;
	  endiff                                         ;;
; <verav>                                                ;;

	  XLATT NON_ALPHA_LOWER        ;;
	  IFF CAPS_STATE               ;;
	     XLATT ALPHA_UPPER         ;;
	  ELSEF                        ;;
	     XLATT ALPHA_LOWER         ;;
	  ENDIFF                       ;;
      ENDIFF                           ;;
   ELSEF                               ;;
;      IFF EITHER_SHIFT,NOT             ;;
;          IFKBD XT_KB+AT_KB            ;;
;              IFF  EITHER_CTL          ;;
;              ANDF ALT_SHIFT           ;;
;                  XLATT THIRD_SHIFT    ;;
;              ENDIFF                   ;;
;          ELSEF                        ;;
	      IFF EITHER_CTL,NOT       ;;
	      ANDF R_ALT_SHIFT         ;;
		  XLATT THIRD_SHIFT    ;;
	      ENDIFF                   ;;
;           ENDIFF                      ;;
;      ENDIFF                           ;;
   ENDIFF                              ;;
;**************************************;;
; IFF EITHER_SHIFT,NOT                  ;;
;   IFKBD XT_KB+AT_KB                   ;;
;     IFF EITHER_CTL                    ;;
;     ANDF ALT_SHIFT                    ;;
;       XLATT ALT_CASE                  ;;
;     ENDIFF                            ;;
;   ENDIFF                              ;;
;   IFKBD G_KB+P12_KB                   ;;     retirei o bloco
;     IFF EITHER_CTL                    ;;
;     ANDF ALT_SHIFT                    ;;
;       IFF R_ALT_SHIFT,NOT             ;;
;         XLATT ALT_CASE                ;;
;       ENDIFF                          ;;
;     ENDIFF                            ;;
;   ENDIFF                              ;;
; ENDIFF                                ;;
;**************************************;;
; IFKBD AT_KB+XT_KB               ;;
;      IFF EITHER_CTL,NOT               ;;
;         IFF ALT_SHIFT                 ;; ALT - case
;            XLATT ALT_CASE             ;;
;         ENDIFF                        ;;
;      ELSEF                            ;;
;         IFF EITHER_ALT,NOT            ;; CTRL - case
;
;            XLATT CTRL_CASE            ;;
;         ENDIFF                        ;;
;      ENDIFF                           ;;
; ENDIFF                                ;;
				       ;;
; IFKBD G_KB+P12_KB                     ;;
;      IFF EITHER_CTL,NOT               ;;
;         IFF ALT_SHIFT                 ;; ALT - case
;         ANDF R_ALT_SHIFT,NOT          ;;
;            XLATT ALT_CASE             ;;
;         ENDIFF                        ;;
;      ELSEF                            ;;
	 IFF EITHER_ALT,NOT            ;; CTRL - case
	  andf EITHER_CTL              ;; Cuidado!!!!!!
	    XLATT CTRL_CASE            ;;
	 ENDIFF                        ;;
;      ENDIFF                           ;;
;      IFF EITHER_CTL                   ;;
;      ANDF ALT_SHIFT                   ;;
;      ANDF R_ALT_SHIFT,NOT             ;;
;           XLATT ALT_CASE              ;;
;      ENDIFF                           ;;
; ENDIFF                                ;;
				       ;;
 EXIT_STATE_LOGIC                      ;;
				       ;;
LOGIC_END:                             ;;
				       ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; BR Common Translate Section
;; This section contains translations for the lower 128 characters
;; only since these will never change from code page to code page.
;; In addition the dead key "Set Flag" tables are here since the
;; dead keys are on the same keytops for all code pages.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
				       ;;
 PUBLIC BR2_COMMON_XLAT                 ;;
BR2_COMMON_XLAT:                        ;;
				       ;;
   DW    COMMON_XLAT_END-$             ;; length of section
   DW    -1                            ;; code page
				       ;;
				       ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Lower Shift Dead Key
;; KEYBOARD TYPES: Any
;; TABLE TYPE: Flag Table
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
				       ;;
   DW    COM_DK_LO_K1_END-$               ;; length of state section
   DB    DEAD_LOWER                    ;; State ID
   DW    ANY_KB             ;; Keyboard Type
   DB    -1,-1                         ;; Buffer entry for error character
				       ;; Set Flag Table
   DW    2                             ;; number of entries
   DB    1ah                           ;; scan code     
   FLAG  ACUTE                         ;; flag bit to set
   DB    28H                           ;;               <verav 12/91>
   FLAG  TILDE                         ;;

COM_DK_LO_K1_END:                         ;;
				       ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Upper Shift Dead Key
;; KEYBOARD TYPES: Any,
;; TABLE TYPE: Flag Table
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
				       ;;
   DW    COM_DK_UP_K1_END-$               ;; length of state section
   DB    DEAD_UPPER                    ;; State ID
   DW    ANY_KB             ;; Keyboard Type
   DB    -1,-1                         ;; Buffer entry for error character
				       ;; Set Flag Table
   DW    3                             ;; number of entries
   DB    28h                           ;; scan code         <verav 12/91>
   FLAG  CIRCUMFLEX                    ;; flag bit to set
   DB    7                             ;;         <verav 12/91>
   FLAG  DIARESIS                      ;;
   DB    1ah                           ;;         <verav 12/91>
   FLAG  GRAVE                         ;;               
				       ;;
COM_DK_UP_K1_END:                      ;;
				       ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Grave Lower
;; KEYBOARD TYPES: Any,
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
				       ;;
   DW    COM_GR_LO_END-$               ;; length of state section
   DB    GRAVE_LOWER                   ;; State ID
   DW    ANY_KB             ;; Keyboard Type
   DB    96,0                          ;; error character = standalone accent
				       ;;
   DW    COM_GR_LO_T1_END-$            ;; Size of xlat table
   DB    STANDARD_TABLE+ZERO_SCAN      ;; xlat options:
   DB    5                             ;; number of scans
   DB    18,'

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -