The role of error messages in the context of teaching programming, specifically assembly language programming to students who have limited prior programming experience was investigated. Assemblers and compilers provide feedback to a programmer in the form of error messages, and these error messages influence the programmer's mental model of computing. The current study investigated how an error message affects students' approach to understanding the error and fixing the error. Three error message types were developed - Default, Link and Example, to better understand the effects of error messages. The Default type provides an assembler-centric single line error message, the Link type provides a program-centric detailed error description with a hyperlink for more information, and the Example type provides a program-centric detailed error description with a relevant example. A think aloud programming exercise was conducted to capture the student programmer's knowledge model. Different codes were developed to analyze the data collected as part of think aloud exercise. After transcribing, coding, and analyzing the data, it was found that the Link type of error message helped to fix the error in less time and with fewer steps. Among the three types, the Link type of error message also resulted in a higher ratio of correct to incorrect hypotheses made by the participants, and a correspondingly higher ratio of correct to incorrect steps taken by them to fix the error.