Output string "Hello World!", An ASCII and hexadecimal output ENTER MACRO; Define Macro End MOV DL, 0AH MOV AH, 2H INT 21H MOV DL, 0DH MOV AH, 2H INT 21h Endm.Model Long. Stack DB 50 DUP (?). Data MSG DB 'Hello World! $'. Code Main Proc Farstart: Push DS Sub AX, AX Push Ax Mov Ax, @ data; Output A string MOV DS ended with $ End, AX MOV DX, OFFSET MSG MOV AH, 9 INT 21H ENTER MOV BX, OFFSET MSG LOP: PUSH BX MOV DL, [BX] MOV BL, DL MOV CH, 2; Low 8 bits of Lophex: MOV CL, 4 ROL Bl, Cl; Cycle left shift 4 MOV Al, BL and Al, 0FH Add Al, 30H CMP Al, 3AH JL Print Add AL, 7H Printout: MOV DL, Al Mov AH, 2H INT 21h DEC CH JNZ LOPHEX MOV DL, 00H MOV AH, 2H INT 21H PTR [BX], 24h; Judgment endpoint JNZ LOP RET Main endped start