Assembler



              

EXTRN PUBLIC - 3


]
 
0080 STACK ENDS
 
0000 CODE SEGMENT PUBLIC
 
EXTRN OUTPUT_ROUTINE:NEAR, OUTPUT_CHARACTER:BYTE
 
ASSUME CS:CODE
 
0000 START PROC FAR
 
0000 1E PUSH DS ;
0001 B8 0000 MOV AX, 0
0004 50 PUSH AX ;
0005 FC CLD ;
0006 8C C8 MOV AX, CS ;
0008 8E D8 MOV DS, AX
ASSUME DS:CODE ;
000A 8D 36 001D R LEA SI, MESSAGE ;
000E CLOOP:
000E AC LODSB ;
000F A2 0000 E MOV OUTPUT_CHARACTER, AL ;
0012 E8 0000 E CALL OUTPUT_ROUTINE ;
0015 80 3E 0000 E 0A CMP OUTPUT_CHARACTER, 10 ;
001A 75 F2 JNE CLOOP ;
 
001C CB RET ;
 
001D 9D E2 A0 20 AF E0 AE MESSAGE DB ' - ', 13, 10
A3 E0 A0 AC AC A0 20
2D 20 E2 A5 E1 E2 0D
0A
0033 START ENDP