nasmVC

所属分类:Windows编程
开发工具:Visual C++
文件大小:681KB
下载次数:2
上传日期:2013-03-29 15:01:26
上 传 者阿民
说明:  nasm for vc,包含全部代码,帮助大家学习汇编语言!
(nasm for vc, contains all the code, and to help them to learn assembly language!)

文件列表:
nasmVC\nasmVC.dsp (7067, 2006-08-13)
nasmVC\nasmlib.c (29063, 2006-12-16)
nasmVC\nasmlib.h (9616, 2006-08-19)
nasmVC\nasmVC.opt (60928, 2006-12-16)
nasmVC\inctest.dep (0, 2006-08-19)
nasmVC\outform.h (5905, 2006-08-13)
nasmVC\insnsn.c (5519, 2006-08-13)
nasmVC\preproc.h (808, 2006-08-13)
nasmVC\parser.c (22768, 2006-12-16)
nasmVC\parser.h (1080, 2006-08-13)
nasmVC\assemble.c (41065, 2006-12-16)
nasmVC\labels.h (1860, 2006-08-13)
nasmVC\nasm.h (32029, 2006-08-13)
nasmVC\float.h (1083, 2006-08-13)
nasmVC\listing.h (1251, 2006-08-13)
nasmVC\insnsa.c (128605, 2006-08-13)
nasmVC\sync.c (3071, 2006-08-19)
nasmVC\names.c (1297, 2006-08-19)
nasmVC\nasm.c (37065, 2006-12-16)
nasmVC\inctest.lst (788, 2006-12-14)
nasmVC\inctest.txt (207, 2006-12-14)
nasmVC\nasmVC.dsw (537, 2006-08-05)
nasmVC\listing.c (5990, 2006-08-19)
nasmVC\assemble.h (955, 2006-08-19)
nasmVC\macros.c (1701, 2006-08-19)
nasmVC\doc\Makefile (1134, 1999-06-03)
nasmVC\doc\Makefile.in (1078, 1999-06-03)
nasmVC\doc\nasmdoc.src (379058, 1999-06-03)
nasmVC\doc\rdsrc.pl (68608, 1999-06-03)
nasmVC\doc (0, 2006-08-05)
nasmVC\lcc\lin-aout.c (1292, 1999-06-03)
nasmVC\lcc\bind.c (756, 1999-06-03)
nasmVC\lcc\lin-elf.c (1376, 1999-06-03)
nasmVC\lcc\x86nasm.md (21315, 1999-06-03)
nasmVC\lcc (0, 2006-08-05)
nasmVC\misc\c16.mac (729, 1999-06-03)
nasmVC\misc\c32.mac (547, 1999-06-03)
nasmVC\misc\exebin.mac (1621, 1999-06-03)
nasmVC\misc\magic (294, 1999-06-03)
... ...

This directory contains the necessary files to port the C compiler ``LCC'' (available by FTP from sunsite.doc.ic.ac.uk in the directory /computing/programming/languages/c/lcc) to compile for Linux (a.out or ELF) by using NASM as a back-end code generator. This patch has been tested on lcc version 3.6. To install: - Copy `x86nasm.md' into the `src' directory of the lcc tree. - Copy either `lin-elf.c' or `lin-aout.c' into the `etc' directory. - If you're installing for a.out, edit `x86nasm.md' and change the conditional after the comment reading "CHANGE THIS FOR a.out" in the `defsymbol' function from `#if 0' to `#if 1'. - Make the following changes to `bind.c' in the `src' directory: - Near the top of the file, add a line that reads extern Interface x86nasmIR; - In the `bindings' array, add the lines "x86-nasm", &x86nasmIR, "x86/nasm", &x86nasmIR, (in sensible looking places...) A sample `bind.c' has been provided to show what the result of this might look like. You might be able to get away with using it directly... - Modify the lcc makefile to include rules for x86nasm.o: this will have to be done in about three places. Just copy any line with `x86' on it and modify it to read `x86nasm' everywhere. (Except that in the list of object files that rcc is made up from, do remember to ensure that every line but the last has a trailing backslash...) - You may have to modify the contents of `lin-elf.c' or `lin-aout.c' to reflect the true locations of files such as crt0.o, crt1.o, ld-linux.so and so forth. If you don't know where to find these, compile a short C program with `gcc -v' and see what command line gcc feeds to `ld'. - You should now be able to build lcc, using `lin-elf.c' or `lin-aout.c' as the system-dependent part of the `lcc' wrapper program. - Symlink x86nasm.c into the `src' directory before attempting the triple test, or the compile will fail. - Now it should pass the triple test, on either ELF or a.out. Voila!

近期下载者

相关文件


收藏者