Programming Ruby
Programming Ruby - HTML version
How to Design Programs
How to Design Programs
The Scheme Programming Language
The Scheme Programming Language
Structure and Interpretation of Computer Programs
Structure and Interpretation of Computer Programs
Win32汇编的扫雷(不完全版本)
用Win32汇编写的扫雷,功能还不完善,不能调难度,没有笑脸、计雷器和计时器。
里面包含了Asm,rs文件,还有一个Makefile。
汇编之前请确保已经安装了masm32包,并且要把环境变量设好。
下面是环境变量的批处理文件(默认masm32安装在D:\masm32):
@echo off
set include=d:\masm32\Include;D:\Microsoft Visual Studio 8\VC\include
set lib=d:\masm32\lib
echo on
16位MASM汇编的压缩程序(字典和霍夫曼两种算法)
用汇编写的压缩程序,只支持单文件压缩。
使用了LZ77和Huffman两种算法。
文件的压缩格式写的比较乱,想了解的人就仔细看看代码了……
压缩的主要算法我是先用C写好,然后再手工翻译成汇编的
文件说明:
LZ77.c:C写成的LZ77压缩算法,里面包含了很多调试用的输出,我就懒得删了,觉得麻烦可以删掉printf的输出。
huffman.c:C写成的Huffman压缩算法,也是有很多调试输出。
header.asm:汇编的主要头文件,包含了一些通用的宏和变量声明,其中有调试用的宏DEBUG_INFO,这个需要有Irvine16.inc,此文件包含在Intel汇编语言程序设计里。要用调试的话,在汇编的时候加上DEBUG的宏定义就可以。
compress_v14.asm:程序的框架,里面包含了整个程序的流程和一些非压缩算法的函数。
file_pr.asm:文件操作函数,主要是做了一些封装。
lz77.asm:LZ77算法的16位汇编实现,实际上是对应着lzalong.c的。
huffman.asm:Huffman算法的16位汇编实现,对应着huffman.c。
汇编命令:
masm compress_v14.asm, comp.obj
masm file_pr.asm
masm lz77.asm
masm huffman.asm
链接命令:
link comp.obj file_pr.obj lz77.obj huffman.obj
程序的具体使用方法可以在汇编出来的程序加-h参数查看使用说明。
Linux下NASM的通用函数库Along32库V1.0(已过时)
Linux的NASM函数库,改编自《Intel汇编语言程序设计(第五版)》里Kip R.Irvine写的Irvine32库。里面的注释大多数都还没有改过来。
这个库的2.0版已经上传,新增详细的注释和使用说明,请下V2.0版,此1.0版就可以不用下了。
CC2005
Computer curricula 2005的PDF
计算机程序的构造和解释
MIT的计算机系入门课程的教材~~<br>经典书之一。