04 2016 档案
摘要:开机后, CPU 自动进入到 FFF0:0 单元处执行,此处有一条跳转指令。 CPU 执行该指令后,转去执行 BIOS 中的硬件系统检测和初始化程序。 初始化程序将建立 BIOS 所支持的中断向量,即将 BIOS 提供的中断历程的入口地址登记在中断向量表中。 硬件系统检测和初始化完成后,调用 INT 19H 进行操作系统的引导。 如果设为从软盘启动操作系统,则 INT 19H 将主要完成一下...
阅读全文
摘要:首先.c文件被编译为.obj文件,再经由链接与cos.obj链接一起,然后运行时,从cos的代码里开始运行,cos里对应的汇编代码里有调用main(提供了可以不用main函数开始的思路)函数的代码,从而程序运行。(tc2.0环境)
阅读全文
摘要:http://www.doc88.com/p-8505595131767.html http://wenku.baidu.com/link?url=-FWbxP9sh9_FHsgapWF7V3neJKY1SZ8jKGAyj0bgqGQboZfXo9JVdXCrENcHP8Wd05umgxPKp0SI
阅读全文
摘要:assume cs:code code segment start:mov ax,0 mov es,ax mov ax,200h mov bx,7*4 mov es:[bx],ax add bx,2 mov word ptr es:[bx],0 ...
阅读全文
摘要:对于汇编中标号不加:,如a db db a,b,c 等 标号都视为偏移地址,和转移指令地址的差不同,用标号时(除转移)就等于其偏移地址,安装时需要注意这个。
阅读全文
摘要:图论的核心思想即为从前一步状态推断出后一步状态,如下图1,图1即为初始状态,从1推到2或4,7为终止状态,求1-7的所有路径中,满足某些条件的路径即为图论的一般问题,对于这种推断,目前学到的有两种形式: 一种为以最大度为判断单位,一种为最小度为判断单位(最大度为某一状态距初始状态最远的路径所经过的节
阅读全文
摘要:即为1号中断:cpu检测到tf值为1时就去处理1号中断程序 debuge的处理过程:提供单步中断处理程序,为显示所有寄存器的值并等待输入,然后输入t时执行指令并将tf设为1
阅读全文
摘要:在一段代码的前后都设一个标志符,计算两个标识符偏移地址的差值。(汇编编译器可识别-等运算符号
阅读全文
摘要:1.调用函数内部再定义数据的覆盖:如在main程序里定义了i,main又调用了一个函数,函数内部也定义了i,main的i就被被调用函数的i覆盖,直到被调用函数处理完。 对应的汇编指令:push xx pop xx 2.循环: 对应得汇编:mov cx,i s: loop s 3.判断: 对应的汇编:
阅读全文
摘要:cpu并无法判断数据是有符号数还是无符号数,两种运算都进行,在标志寄存器中储存进位值或溢出值,到底是有符号数还是无符号数根据你的逻辑。 有符号数与无符号数的区别在有符号数最高位是符号位。
阅读全文
摘要:散列:依一定的函数规律组成的数组 线性探测:单元可以被全部探测到,但会发生一次聚集。 平方探测:避免了一次聚集,但会发生二次聚集,且不能探测到全部单元。 双散列:即可全部探测,也是随机冲突解决方法,但hash2必须要选好。 再散列:对平方探测的扩展。 可扩散列:类似b-树
阅读全文
摘要:#include #include struct tree{ int ele; struct tree* left; struct tree* right; }; typedef struct tree* pointer; typedef struct tree trees; void insert(pointer *T1,int interag){ pointer prev; poi...
阅读全文
摘要:一个想法:分为三部分,如果插入其中一个栈满了,而数组没满,则移动栈。 第二个想法:利用数组实现链表。
阅读全文
摘要:#include int youxian(char a) { if(a=='+'||a=='-') return 1; if(a=='*'||a=='%') return 2; } int main(void) { char stack[20]; int jishu=0; char b; ...
阅读全文
摘要:基数排序的链表实现 中缀转后缀(完整运算符 二叉查找树中序遍历的非递归实现 希尔排序的算法分析 b树的实现 哈希表的实现 优先队列的实现 DFA到正则表达式 Brzozowski算法
阅读全文
摘要:#include #include struct tong{ int cunchu[10]; int youbiao; }; void jisuh(int *head,int max){ int i=0,k,j,zhong,jian,b10=1,m; struct tong shuzu[10]; for(m=0;m<3;m++){//3趟排序 j=0;b10*=10; ...
阅读全文
摘要:在显存中显示数据,如果是字符直接复制过去,如果是数值,需要先转换成字符,再复制到显卡中 显卡工作:将存储在显卡里的数据按ascii解码显示
阅读全文
摘要:DIV: 除数放在8位reg或内内存单元中(需要用word 还是byte来表示出来),被除数默认在AX中(16位),结果:AL放商,AX放余数 除数放在16.。。。。。。。。。。。。。。。。。。。。。。。。。。,被除数默认放在DX和AX中(DX高位),结果:AX放商,DX放余数 MUL 默认在AX或
阅读全文
摘要:使用call 标号 +ret指令来实现,还可实现嵌套调用 call 标号 : : 标号: : ret
阅读全文
摘要:ret指令:pop ip retf指令:pop ip pop cs call指令:与jmp指令几乎相同,不同的是前面加上一个push ip 或push ip push cs
阅读全文
摘要:1、test.asm(54): error A2000: Block nesting error 说明:此错误信息通常见于一个段定义起始段名和末尾段名不一致。 修改:检查段定义,使段名前后保持一致。 2、test.asm(5): error A2005: Symbol is multidefined
阅读全文
摘要:offest:获得标号的偏移地址 使用形式:offest 标号 offest 标号整个指令可以当值用 eg:start:mov ax,offest start 相当于mov ax,0 jmp: (1)jmp short 标号:转到标号处执行指令,段内转移 用标号处的ip改变当前ip, 对ip的修改范
阅读全文
摘要:db ‘1975’之类的意思是定义一个字符串,其中的每个字符都是一字节。
阅读全文
摘要:非递归算法中序遍历二叉树,设S为一个栈,p为指向根节点的指针,处理过程如下: 1)当p非空时,压栈p指针,并将p指向该节点的左子树。 2)当p为空时,弹出栈顶元素,显示节点元素,并将p指向该节点的右子树。 3)重复步骤1)和2),直到栈空且p空。 即用指针和栈实现递归保存之前的信息。
阅读全文
摘要:1 assume cs:codesg,ss:stacksg,ds:datasg 2 3 datasg segment 4 db '1. display ' 5 db '2. brows ' 6 db '3. replace ' 7 db '4.modify ' 8 stacksg segment 9 dw 0...
阅读全文
摘要:AVL树即左右子树高度最多相差1的树。 其实现是每插入一个新节点,进行旋转来使二叉树平衡。 AVL的旋转可以说有两种情况, 第一种如图,进行一次单旋转(为右旋转),即把4变为根节点,4的左节点挂在原来的根节点2上。 其中一种如图,此时进行一次双旋转即可,右左旋转即可
阅读全文
摘要:中缀表达式向后缀表达式转换的原理是,先计算优先级高的运算。,计算完后的数值,再与后面计算,如此循环,用栈来实现按优先级计算。
阅读全文
摘要:-r 查看当前寄存器的状态, -r 寄存器x 可以改变寄存器x的值。 -d 可以查看内存 三种使用方法:1.-d显示之后128个字节 2.-d 段地址:偏移地址,从这段地址开始后的128字节 3.-d 段地址:偏移地址 偏移地址,显示两个地址间的字节。 -u 和-d用法一样,不过是查看字节对应的汇编
阅读全文

浙公网安备 33010602011771号