06 2010 档案
摘要:整数值流(正负)在我们分析Ford-Fulkerson算法的过程中, 产生了许多自然的结果, 现在展示另一个重要的结果, 通过算法, 我们总可以获得一个整数值的流, 接着我们 以最大流结束.因此有: 如果流网络中所有的负载能力都是整数, 因此存在一个最大的流, 并且每个f(e...
阅读全文
摘要:1如果图G存在s-t流f,并且在剩余图Gf中没有s-t的路径, 存在一个s-t的分割cut(A, B), 且v(f) = cut(A, B), 并且f拥有最大的流值, 分割cut(A, B)拥有最小的负载能力证明: 以上论断,声明存在一个分割满足特定的属性; 因此我们应该识...
阅读全文
摘要:人们经常使用图形去建模网络,源点,目的点,边,负载能力,流这些概念经常使用于网络流。网络流:考虑这种形式:每条边可以有一定的负载能力,而有一定的流通过边,所有流产生于唯一的顶点,终止于唯一的目的点。1每条边都有负载能力,非负整数,Ce2有一个源点S3一个目的点T三条假设:源点...
阅读全文
摘要:4.2 Keyboard [Home] [Top] [Previous] [Next] 4.2.1 Overview 键盘是计算机系统的重要输入设备,所有的IBM PC及其兼容机都有一个键盘。所以键盘驱动是一个面向IBM PC机OS的必不可...
阅读全文
摘要:磁盘的数据组织:同心圆称为磁道track, 每个磁道分为多个sector, 通常512字节。一个柱面cylinder是指多个盘面, 或者一个盘面的正反面, 同层的磁道.双面, 双密度, 磁盘,通常被组织成每面40磁道, 分为9个扇区, 每个扇区512 512*9*40 = 1...
阅读全文
摘要:bits 16 ;16位实模式指令INITSEG equ 0x7c00 ;boot被加载的位置所有offset需要使用start: mov ax, cs ;cs被初始化为0x0000 mov ss, ax mov sp,...
阅读全文
摘要:int 10h 视频相关函数:AH function00 设置video模式 附带调用寄存器 结果 AL 模式 None02 设置光标位...
阅读全文
摘要:工具:nasm 汇编gcc 编译cld 进行链接kscope 查看源代码make 工程管理khexedit 分析二进制文件一:nasm源文件布局:像其他汇编器一样, nasm源文件包含四个域的组合。(除了宏, 或者预编译器指示, 或者汇编指示 )label标号: 指...
阅读全文
摘要:工具:nasm 汇编gcc 编译cld 进行链接kscope 查看源代码make 工程管理khexedit 分析二进制文件一:nasm源文件布局:像其他汇编器一样, nasm源文件包含四个域的组合。(除了宏, 或者预编译器指示, 或者汇编指示 )label标号: 指...
阅读全文
摘要:00 除法错误01 单步跟踪 调试 异常02 不可屏蔽中断03 断点04 中断检测溢出05 边界检测越界06 无效指令07 协处理器不可用08 双精度异常09 协处理器保护错误0a 无效任务状态段0b 段无效0c...
阅读全文
摘要:中断为改变程序环境提供了一个严格定义的上下文切换机制。80386可以有256个中断。 被分为5类: 外部硬件中断, 非屏蔽中断, 软件中断, 内部中断,及异常, 复位;外部硬件, 软件, 非屏蔽中断 由用户定义.中断按其中断号的优先级来提供服务: 基于五种层次的优先级, 基于...
阅读全文
摘要:保护模式的寄存器模型:保护模式新增四个寄存器: 全局描述符寄存器GDTR, 中断描述符寄存器IDTR, 局部描述符LDTR, 任务寄存器TR. 另外一些寄存器的功能得到了扩展. 例如指令指针EIP现在为32位; 标志寄存器EFLAGS的更多位得到了利用; 并且所有四个控制器C...
阅读全文
摘要:链结器使用BFD库访问obj和achive文件. 这些库允许链结器使用同样的例程操作不同的obj文件格式. 不同的obj文件格式, 可以通过简单的建立一个BFD备份端并添加到库中即可支持. 为了保存运行时内存, 链结器和相关工具通常只支持子集. objdump -i列出配置支...
阅读全文
摘要:每个链接都被一个链接脚本控制。 这个脚本是用连接命令语言书写的。链接脚本的主要目的是描述输入文件中的域应该如何映射到输出文件中, 并且控制输出文件的内存布局。 大多数链接脚本除此之外什么也不做。 然而, 当有必要时,链接脚本也可以指导链接器去产生其他更多的操作, 使用下面的命...
阅读全文
摘要:execuable and linking format头文件定义了可执行二进制文件格式.在这些文件是正常执行文件, 重定向目标文件, 内核文件, 和共享库.一个可执行文件使用elf格式,包括elf头, 接着是程序头表, 或者区域头表, 或者两者都有. elf头总是偏移为0....
阅读全文
摘要:转换:诊断是如何定义的.每个非空空白符序列除了换行符之外, 是保持, 还是被空格替换.环境:物理源文件多字符和原字符集间的映射.标识符:宽字符可以作为标识符, 对应的通用字符名称. 作者:liyonghelpme 发表于...
阅读全文
摘要:运行时惯例集合在所有处理处理二进制表示的工具之后, 包含编译器, 汇编器, 连接器, 以及语言运行时支持. 一些ABI通过书写特征, 可能的多个兴趣部分的设计, 来规范. 其他简化一组特定工具的实际使用. ABI 一致性:一个编译器对某个ABI一致, 如果他产生的代码满足所有...
阅读全文
摘要:你可以定义局部寄存器变量:register int *foo asm("a5");寄存器名称是cpu相关的, 但这不是个问题, 因为特定的寄存器在显式的汇编指令中是最常用的. 这些需要你条件化你的程序代码, 一边适应cpu类型. ...
阅读全文
摘要:你可以定义全局寄存器变量在gnuc中:register int *foo asm("a5");这里a5是被使用的寄存器名字. 选择一个寄存器可以在函数调用中被正常的存取在你机器上, 这样库例程就不会冲刷它.寄存器名字是跟cpu有关的, 所以你可能需要为你的程序条件化cpu类型...
阅读全文