Assembly language

1. Read in two integer inputs and print out their sum, in integer.

  1. .MODEL SMALL
  2. .STACK 100H
  3. .DATA
  4. MSG1 DB 'Enter two number: $'
  5. MSG2 DB 'SUM= $'

  6. .CODE
  7. MAIN PROC
  8. MOV AX,@DATA
  9. MOV DS,AX

  10. LEA DX,MSG1
  11. MOV AH,9
  12. INT 21H

  13. MOV AH,1
  14. INT 21H
  15. MOV BL,AL

  16. MOV AH,2
  17. MOV DL,32
  18. INT 21H

  19. MOV AH,1
  20. INT 21H
  21. MOV CL,AL

  22. MOV AH,2
  23. MOV DL,0AH
  24. INT 21H
  25. MOV DL,0DH
  26. INT 21H

  27. ADD BL,CL
  28. SUB BL,48

  29. LEA DX,MSG2
  30. MOV AH,9
  31. INT 21H

  32. MOV AH,2
  33. MOV DL,BL
  34. INT 21H

  35. MOV AH,4CH
  36. INT 21H
  37. MAIN ENDP
  38. END MAIN

2. To convert lower case to upper case.
  1. .MODEL SMALL
  2. .STACK 100H
  3. .DATA
  4. MSG1 DB 'Enter lower case: $'
  5. MSG2 DB 'Upper case: $'

  6. .CODE 
  7. MAIN PROC

  8. MOV AX,@DATA
  9. MOV DS,AX

  10. LEA DX,MSG1
  11. MOV AH,9
  12. INT 21H

  13. MOV AH,1
  14. INT 21H
  15. MOV BL,AL

  16. SUB BL,32

  17. MOV AH,2
  18. MOV DL,0AH
  19. INT21H
  20. MOV DL,0DH
  21. INT 21H

  22. LEA DX,MSG2
  23. MOV AH,9
  24. INT 21H

  25. MOV AH,2
  26. MOV DL,BL
  27. INT 21H

  28. MOV AH,4CH
  29. INT 21H
  30. MAIN ENDP
  31. END MAIN

3. To print out, given input character.
  1. .MODEL SMALL
  2. .STACK 100H
  3. .DATA 
  4. MSG1 DB 'Enter a character: $'
  5. MSG2 DB 'The character is : $'

  6. .CODE
  7. MAIN PROC

  8. MOV AX,@DATA
  9. MOV DS,AX

  10. LEA DX, MSG1
  11. MOV AH,9
  12. INT 21H

  13. MOV AH,1
  14. INT 21H
  15. MOV BL,AL

  16. MOV AH,2
  17. MOV DL,0AH
  18. INT 21H
  19. MOV DL,0DH
  20. INT 21H

  21. LEA DX,MSG2
  22. MOV AH,9
  23. INT 21H

  24. MOV AH,2
  25. MOV DL,BL
  26. INT 21H

  27. MOV AH,4CH
  28. INT 21H
  29. MAIN ENDP
  30. END MAIN

4. To Convert hexadecimal number decimal.
  1. .MODEL SMALL
  2. .STACK 100H
  3. .DATA
  4. MSG1 DB 'ENTER THE HEX DIGIT (0-F): $'
  5. MSG2 DB 'THE DECIMAL IS: $'
  6. MSG3 DB 'DO YOU WANT TO CONTINUE PRESS Y AND EXIT N: $'
  7. .CODE

  8. MAIN PROC

  9. MOV AX,@DATA
  10. MOV DS,AX
  11. LEVEL:

  12. MOV AH, 2
  13. MOV DL, 10
  14. INT 21H

  15. LEA  DX, MSG1
  16. MOV AH, 9
  17. INT 21H

  18. MOV AH, 1
  19. INT 21H
  20. MOV BL, AL

  21. MOV AH, 2
  22. MOV DL, 10
  23. INT 21H

  24. LEA  DX, MSG2
  25. MOV AH, 9
  26. INT 21H

  27. CMP BL, 64
  28. JLE   NEXT
  29. SUB BL, 17

  30. MOV AH,2
  31. MOV DL, '1'
  32. INT 21H

  33. NEXT:
  34. MOV AH, 2
  35. MOV DL, BL
  36. INT 21H

  37. MOV AH, 2
  38. MOV DL, 10
  39. INT 21H

  40. LEA  DX, MSG3
  41. MOV AH, 9
  42. INT 21H

  43. MOV AH, 1
  44. INT 21H
  45. MOV CL, AL 

  46. CMP CL, 'Y'
  47. JE LEVEL

  48. MOV AH, 4CH
  49. INT 21H
  50. MAIN ENDP
  51. END MAIN
Normally
  1. .MODEL SMALL
  2. .STACK 100H
  3. .DATA
  4. MSG1 DB 'ENTER HEX DIGITS: $'
  5. MSG2 DB 'DECIMAL NUMBER: $'

  6. .CODE
  7. MAIN PROC

  8. MOV AX, @DATA
  9. MOV DS, AX

  10. LEA DX, MSG1
  11. MOV AH,9
  12. INT 21H

  13. MOV AH, 1
  14. INT 21H
  15. MOV BL, AL

  16. MOV AH,2
  17. MOV DL, 0AH
  18. INT 21H
  19. MOV  DL, 0DH
  20. INT 21H

  21. SUB BL,17

  22. LEA DX, MSG2
  23. MOV AH,9
  24. INT 21H

  25. MOV AH,2
  26. MOV DL, '1'
  27. INT 21H

  28. MOV AH,2
  29. MOV DL,BL
  30. INT 21H

  31. MOV AH,4CH
  32. INT 21H
  33. MAIN ENDP
  34. END MAIN

5. To find larger number out of four number.
  1. .MODEL SMALL
  2. .STACK 100H
  3. .DATA 
  4. MSG1 DB 'ENTER FOUR  NUMBER : $'
  5. MSG2 DB 'THE LARGEST NUMBER IS : $'
  6. .CODE

  7. MAIN PROC

  8. MOV AX, @DATA
  9. MOV DS, AX

  10. LEA DX, MSG1
  11. MOV AH, 9
  12. INT 21H
  13.  
  14. MOV AH,1
  15. INT 21H
  16. MOV BL,AL
  17. INT 21H
  18. MOV BH, AL
  19. INT 21H
  20. MOV CL, AL
  21. INT 21H
  22. MOV CH,AL

  23. MOV AH, 2
  24. MOV DL, 10
  25. INT 21H

  26. LEA DX, MSG2
  27. MOV AH, 9
  28. INT 21H

  29. CMP BL, BH
  30. JGE L1
  31. MOV BL, BH

  32. L1:
  33. CMP BL, CL
  34. JGE L2
  35. MOV BL, CL

  36. L2:
  37. CMP BL, CH
  38. JGE L3
  39. MOV BL, CH

  40. L3:
  41. MOV AH,2
  42. MOV DL, BL
  43. INT 21H

  44. MOV AH, 4CH
  45. INT 21H
  46. MAIN ENDP
  47. END MAIN

6. Sort two numbers in ascending order.
  1. .model small
  2. .stack 100h
  3. .code
  4. main proc

  5. mov ah,2
  6. mov dl,'?'
  7. int 21h

  8. mov ah,1
  9. int 21h
  10. mov bl,al

  11. mov ah,1
  12. int 21h
  13. mov cl,al

  14. cmp bl,cl
  15. jg switch
  16. jmp display

  17. switch:
  18. xchg bl,cl

  19. display:
  20. mov ah,2
  21. mov dl,0dh
  22. int 21h
  23. mov dl,0ah
  24. int 21h

  25. mov ah,2
  26. mov dl,bl
  27. int 21h
  28. mov dl,cl
  29. int 21h

  30. exit:
  31. mov ah,4ch
  32. int 21h
  33. main endp
  34. end main

7. Treverse a string.
  1. .MODEL SMALL
  2. .STACK 100H
  3. .DATA
  4. MSG1 DB 'ENTER STRING : $'
  5. MSG2 DB 'REVERSE STRING : $'
  6. .CODE

  7. MAIN PROC

  8. MOV AX,@DATA
  9. MOV DS, AX

  10. MOV CX, 0

  11. LEA DX, MSG1
  12. MOV AH, 9
  13. INT 21H

  14. INPUT:
  15. MOV AH, 1
  16. INT 21H
  17. MOV BL, AL
  18. CMP BL, 0DH
  19. JE NEWLINE
  20. PUSH BX
  21. INC CX
  22. JMP INPUT

  23. NEWLINE:
  24. MOV AH, 2
  25. MOV DL, 10
  26. INT 21H

  27. OUTPUT:
  28. POP DX
  29. INT 21H
  30. LOOP OUTPUT

  31. MOV AH, 4CH
  32. INT 21H
  33. MAIN ENDP
  34. END MAIN

8. To print a string.
  1. .MODEL SMALL
  2. .STACK 100H
  3. .DATA
  4. MSG DB 'HELLO ! $'

  5. .CODE 
  6. MAIN PROC

  7. MOV AX,@DATA
  8. MOV DS,AX

  9. LEA DX,MSG
  10. MOV AH,9
  11. INT 21H

  12. MOV AH,4CH
  13. INT 21H
  14. MAIN ENDP
  15. END MAIN

9. Show your given input character.
  1. .MODEL SMALL
  2. .STACK 100H
  3. .DATA 
  4. MSG1 DB 'Enter a character: $'
  5. MSG2 DB 'The character is : $'

  6. .CODE
  7. MAIN PROC

  8. MOV AX,@DATA
  9. MOV DS,AX

  10. LEA DX, MSG1
  11. MOV AH,9
  12. INT 21H

  13. MOV AH,1
  14. INT 21H
  15. MOV BL,AL

  16. MOV AH,2
  17. MOV DL,0AH
  18. INT 21H
  19. MOV DL,0DH
  20. INT 21H

  21. LEA DX,MSG2
  22. MOV AH,9
  23. INT 21H

  24. MOV AH,2
  25. MOV DL,BL
  26. INT 21H

  27. MOV AH,4CH
  28. INT 21H
  29. MAIN ENDP
  30. END MAIN



Comments

Popular posts from this blog

Assembly Programming