home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 8 / CDASC08.ISO / NEWS / 554 / JUIN / UPPER1.PAS < prev    next >
Pascal/Delphi Source File  |  1993-10-07  |  797b  |  27 lines

  1. {─ Fido Pascal Conference ────────────────────────────────────────────── PASCAL ─
  2. Msg  : 448 of 586
  3. From : Gordon Tackett                      1:352/42.1           06 Jun 93  13:29
  4. To   : Sean Palmer                         1:104/123.0
  5. Subj : uppercase contest
  6. ────────────────────────────────────────────────────────────────────────────────
  7. Or we could use bit operations...}
  8.  
  9.  procedure upcaseStr(var s:string);assembler;asm
  10.   push ds { use a push so that proteced mode code won't bomb}
  11.   mov bx,$DF61  {not 32, 'a'}
  12.   mov dl,$7A
  13.   lds si,s
  14.   cld
  15.   mov cl,byte ptr[si]
  16.   xor ch,ch
  17.   jcxz @x
  18.  @L: inc si
  19.   mov al,byte ptr[si]
  20.   cmp al,bl           {check >= 'a'}
  21.   jb  @s
  22.   cmp al,dl           {check <= 'z'}
  23.   ja  @s
  24.   and byte ptr[si],bh
  25.  @S: loop @L
  26.  @X: pop ds
  27.  end;