Difference between revisions of "CSC231 Lab 7 2010"
(→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 the same setup as for Homework 5. In particular you will need
- asm_io.asm
- asm_io.inc
- driver.c
- 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. 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).