Difference between revisions of "CSC231 Lab 7 2010"

From dftwiki3
Jump to: navigation, search
(Problem #1: Pascal's Triangle with Functions)
(Problem #1: Pascal's Triangle with Functions)
Line 9: Line 9:
 
** [[CSC231 Lab7skel.asm | lab7skel.asm ]], a skeleton program that will eventually contain your code
 
** [[CSC231 Lab7skel.asm | lab7skel.asm ]], a skeleton program that will eventually contain your code
  
* Use a Makefile to make your executable.  Call it '''Makefile''' with an uppercase '''M'''.
+
* Use a Makefile to make your executable.  Call it '''Makefile''' with an uppercase '''M'''.  It assumes that your assembly program is going to be called '''lab7.asm'''.  If you are using a different file name, then change the '''PROG''' line in the make file.
  
  
Line 49: Line 49:
  
 
:''Note'': In Makefiles, make sure that the lines that do not start at the left-most margin start with a '''Tab''' character, not a space.
 
:''Note'': In Makefiles, make sure that the lines that do not start at the left-most margin start with a '''Tab''' character, not a space.
 +
 +
 +
* Before coding anything, verify that you have valid components for your program.  At the prompt, type
 +
 +
      make
 +
 +
:and you should get an executable called '''lab7'''.  Run it:
 +
 +
      ./lab7
 +
 +
:verify that you do not get any errors (it won't print anything).

Revision as of 08:47, 5 November 2010

--D. Thiebaut 13:37, 5 November 2010 (UTC)


Problem #1: Pascal's Triangle with Functions

  • Use a Makefile to make your executable. Call it Makefile with an uppercase M. It assumes that your assembly program is going to be called lab7.asm. If you are using a different file name, then change the PROG line in the make file.


CC = gcc
LD = gcc
NASM = nasm 

CFLAGS =  -c
LFLAGS = 
NASMFLAGS = -f elf -F stabs

PROG = lab7

OBJS = asm_io.o $(PROG).o driver.o


default: $(PROG)

$(PROG): $(OBJS) 
	$(LD) $(LFLAGS) $(OBJS)  -o $(PROG)

asm_io.o: asm_io.asm
	$(NASM) $(NASMFLAGS) asm_io.asm

$(PROG).o: $(PROG).asm asm_io.inc
	$(NASM) $(NASMFLAGS) $(PROG).asm

driver.o: driver.c 
	$(CC) $(CFLAGS) driver.c

clean:
	rm -rf *.o *~

real_clean:
	 rm -rf *.o $(PROG) *~

Note: In Makefiles, make sure that the lines that do not start at the left-most margin start with a Tab character, not a space.


  • Before coding anything, verify that you have valid components for your program. At the prompt, type
     make
and you should get an executable called lab7. Run it:
     ./lab7
verify that you do not get any errors (it won't print anything).