ASCII Codes The code for carriage return (CR) in the ASCII code is 0DH (13 decimal), the code for line feed (LF) is 0AH (10 decimal). You can find tables of the complete ASCII code in most computer reference books. There is an ASCII table on page 632 of the textbook (but there is a typo in the table -- the code labelled "LT" is actually "LF"). Boiler Plate Code You will need to include the following lines of ``boiler plate'' in your assembly program: public msg STACK segment word stack 'STACK' ... STACK ends data segment word public 'DATA' ... data ends code segment byte public 'CODE' assume cs:code,ds:data ... code ends end start The SEGMENT and ENDS directives tell the linker which segment the code or data is to be placed in. PUBLIC tells the linker that segments with the same name can be combined. BYTE and WORD specify the type of alignment desired. You should use the segment names STACK, DATA and CODE. The PUBLIC directive tells the assembler to pass the offset of the given symbol to the linker. This is required for any symbol that is defined in one segment (e.g. DATA) and used in another (e.g. CODE). Add other variables (separated by commas) to the public statement as required. The ASSUME directive tells the assembler that the segment registers CS and DS will contain the segment addresses of the CODE and DATA segments respectively. CS will be loaded implicitly when the code is executed but DS must be initialized explicitly by your code.