An Assembly Language Program to display a “?”, read two capital letters, and display them on the next line in alphabetical order .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
.MODEL SMALL .STACK 100H .DATA PROMPT_1 DB 'Enter the first capital letter : $' PROMPT_2 DB 'Enter the second capital letter : $' PROMPT_3 DB 'The given capital letters in alphabetical order are : $' NEXT_LINE DB 0DH,0AH,"$" .CODE MAIN PROC MOV AX, @DATA ; initialize DS MOV DS, AX MOV AH, 2 ; display the character "?" MOV DL, "?" INT 21H MOV AH, 9 ; set string output function LEA DX, NEXT_LINE ; load and display the string NEXT_LINE INT 21H LEA DX, PROMPT_1 ; load and display the string PROMPT_1 INT 21H MOV AH, 1 ; set input function INT 21H ; read first character MOV BL, AL ; save first character into BL MOV AH, 9 ; set string output function LEA DX, NEXT_LINE ; load and display the string NEXT_LINE INT 21H LEA DX, PROMPT_2 ; load and display the string PROMPT_2 INT 21H MOV AH, 1 ; set input function INT 21H ; read second character MOV BH, AL ; save second character into BH MOV AH, 9 ; set string output function LEA DX, NEXT_LINE ; load and display the string NEXT_LINE INT 21H LEA DX, PROMPT_3 ; load and display the string PROMPT_3 INT 21H MOV AH, 2 ; set output function CMP BL, BH JAE @GREATER MOV DL, BL INT 21H MOV DL, BH INT 21H JMP @END @GREATER: MOV DL, BH INT 21H MOV DL, BL INT 21H @END: MOV AH, 4CH ; return control to DOS INT 21H MAIN ENDP END MAIN |