home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / CHARS.ZIP / CHARS.ASM next >
Encoding:
Assembly Source File  |  1988-11-25  |  2.5 KB  |  131 lines

  1. CODE     SEGMENT BYTE PUBLIC
  2.          ASSUME  CS:CODE
  3.          PUBLIC  IsAlNum,IsAlpha,IsCntrl,IsDigit,IsLower,IsUpper
  4.  
  5. FALSE    EQU     0
  6. TRUE     EQU     1
  7.  
  8. IsAlNum  PROC FAR
  9.  
  10.          MOV     BX,SP
  11.          XOR     AX,AX
  12.          MOV     AL,BYTE PTR SS:[BX+4]
  13.          CMP     AL,'0'
  14.          JB      IAL2
  15.          CMP     AL,'9'
  16.          JB      IAL1
  17.          CMP     AL,'A'
  18.          JB      IAL2
  19.          CMP     AL,'Z'
  20.          JBE     IAL1
  21.          CMP     AL,'a'
  22.          JB      IAL2
  23.          CMP     AL,'z'
  24.          JA      IAL2
  25. IAL1:    MOV     AH,TRUE
  26. IAL2:    MOV     AL,AH
  27.          MOV     BYTE PTR [BX+6],AL
  28.          RET     2
  29.  
  30. IsAlNum  ENDP
  31. ;
  32. ;
  33.  
  34.  
  35. IsAlpha  PROC    FAR
  36.  
  37.          MOV     BX,SP
  38.          XOR     AX,AX
  39.          MOV     AL,BYTE PTR SS:[BX+4]
  40.          CMP     AL,'A'
  41.          JB      IA2
  42.          CMP     AL,'Z'
  43.          JBE     IA1
  44.          CMP     AL,'a'
  45.          JB      IA2
  46.          CMP     AL,'z'
  47.          JA      IA2
  48. IA1:     MOV     AH,TRUE
  49. IA2:     MOV     AL,AH
  50.          MOV     BYTE PTR [BX+6],AL
  51.          RET     2
  52.  
  53. IsAlpha  ENDP
  54. ;
  55. ;
  56.  
  57. IsCntrl  PROC    FAR
  58.  
  59.          MOV     BX,SP
  60.          XOR     AX,AX
  61.          MOV     AL,BYTE PTR SS:[BX+4]
  62.          CMP     AL,31
  63.          JB      IC1
  64.          CMP     AL,127
  65.          JNE     IC2
  66. IC1:     MOV     AH,TRUE
  67. IC2:     MOV     AL,AH
  68.          MOV     BYTE PTR [BX+6],AL
  69.          RET     2
  70.  
  71. IsCntrl  ENDP
  72. ;
  73. ;
  74.  
  75.  
  76. IsDigit  PROC    FAR
  77.  
  78.          MOV     BX,SP
  79.          XOR     AX,AX
  80.          MOV     AL,BYTE PTR SS:[BX+4]
  81.          CMP     AL,'0'
  82.          JB      ID2
  83.          CMP     AL,'9'
  84.          JA      ID2
  85.          MOV     AH,TRUE
  86. ID2:     MOV     AL,AH
  87.          MOV     BYTE PTR [BX+6],AL
  88.          RET     2
  89.  
  90. IsDigit  ENDP
  91. ;
  92. ;
  93.  
  94. IsLower  PROC    FAR
  95.  
  96.          MOV     BX,SP
  97.          XOR     AX,AX
  98.          MOV     AL,BYTE PTR SS:[BX+4]
  99.          CMP     AL,'a'
  100.          JB      IL2
  101.          CMP     AL,'z'
  102.          JA      IL2
  103.          MOV     AH,TRUE
  104. IL2:     MOV     AL,AH
  105.          MOV     BYTE PTR [BX+6],AL
  106.          RET     2
  107.  
  108. IsLower  ENDP
  109. ;
  110. ;
  111.  
  112. IsUpper  PROC    FAR
  113.  
  114.          MOV     BX,SP
  115.          XOR     AX,AX
  116.          MOV     AL,BYTE PTR SS:[BX+4]
  117.          CMP     AL,'A'
  118.          JB      IU2
  119.          CMP     AL,'Z'
  120.          JA      IU2
  121.          MOV     AH,TRUE
  122. IU2:     MOV     AL,AH
  123.          MOV     BYTE PTR [BX+6],AL
  124.          RET     2
  125.  
  126. IsUpper  ENDP
  127. ;
  128. ;
  129.  
  130. CODE     ENDS
  131.          END