Moral reasoning plays a significant but poorly understood role in human action and interaction. Although studied by philosophers for millennia, considerable confusion surrounds the topic. Computational cognitive architectures hold promise for shedding insight on how agents act and reason morally. We present a view of moral cognition and examine one implementation of that view in ICARUS, a theory of the human cognitive architecture. This approach to moral behavior and reasoning leads us to suggest that morality is a special case of everyday cognition. We discuss the implications of this view and outline our continuing research on these and related questions.