DCPU16 23
[COAL] Uppercase, Lowercase and Toggle using Logic Gates Guest on 18th December 2020 01:30:48 PM
  1. ;; AND can be used to clear bit or number bits  
  2. ;; OR can be used to set bit, set 1  
  3. ;; NOT - invert whole
  4. ;; XOR - invert single bits
  5.  
  6. ; Write a program which takse 10 character input from user
  7. ; and convert it into lower case, upper case and toggle
  8. ; case using logic instruction
  9.  
  10. .model small
  11. .stack 100h
  12. .data
  13. arr1 db 30 dup (?)
  14. .code
  15. main proc
  16.     mov ax,@data
  17.     mov ds,ax
  18.     mov cx,10
  19.     mov si,offset arr1
  20. L1:
  21.     mov ah,1
  22.     int 21h
  23.     mov [si],al
  24.     inc si
  25.     loop L1:
  26.     mov cx,10
  27.     mov si, offset arr1  
  28.     call newline
  29. L2:
  30.     mov bl,[si]
  31.     AND bl,11011111b
  32.     mov dl,bl
  33.     mov ah,2
  34.     int 21h
  35.     inc si
  36.     loop L2
  37.         mov cx,10
  38.     mov si, offset arr1
  39.     call newline
  40.    
  41. L3:
  42.     mov bl,[si]
  43.     XOR bl,00100000b
  44.     mov dl,bl
  45.     mov ah,2
  46.     int 21h
  47.     inc si
  48.     loop L3    
  49.      mov cx,10
  50.     mov si, offset arr1
  51.     call newline
  52.    
  53. L4:
  54.     mov bl,[si]
  55.    OR bl,00100000b
  56.     mov dl,bl
  57.     mov ah,2
  58.     int 21h
  59.     inc si
  60.     loop L4    
  61.    
  62.     mov ah,4ch
  63.     int 21h        
  64.    
  65.    
  66.     main endp
  67.  
  68. newline proc    
  69.    
  70.          mov dl,10
  71.      mov ah,2
  72.      int 21h
  73.      mov dl,13
  74.      mov ah,2
  75.      int 21h
  76.      ret
  77.    
  78.     newline endp
  79.  
  80.  
  81. end main

Coding Base is for source code and general debugging text.

Login or Register to edit, delete and keep track of your pastes and more.

Raw Paste

Login or Register to edit or fork this paste. It's free.