摘要: assume cs:code,ds:data data segment db 'Beginners All-purpose Symbolic Instruction Code.',0 data ends code segment begin: mov ax,data mov ds,ax mov si,0 ca... 阅读全文
posted @ 2018-11-12 13:31 迷心迷 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 在Debug中,标志寄存器是按照有意义的各个标志位单独表示的。 下面列出Debug对我们已知的标志位的表示。 阅读全文
posted @ 2018-11-12 13:23 迷心迷 阅读(338) 评论(0) 推荐(0) 编辑
摘要: pushf的功能是将标志寄存器的值压栈,而popf是从栈中弹出数据,送入标志寄存器中。 阅读全文
posted @ 2018-11-12 13:21 迷心迷 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 因为cmp指令可以同时进行两种比较,无符号数比较和有符号数比较,所以根据cmp指令的比较结果进行转移的指令也分为两种,即根据无符号数的比较结果进行转移的条件转移指令(它们检测zf、cf的值)和根据有符号数的比较结果进行转移的条件转移指令(它们检测sf、of和zf的值)。 下面是常用的根据无符号数的比 阅读全文
posted @ 2018-11-12 11:57 迷心迷 阅读(964) 评论(0) 推荐(0) 编辑
摘要: cmp是比较指令,cmp的功能相当于减法指令,只是不保存结果。cmp指令执行后,将对标志寄存器产生影响。其他相关指令通过识别这些被影响的标志寄存器位来得知比较结果。 cmp指令格式: cmp 操作对象1,操作对象2 功能:计算操作对象1-操作对象2但并不保存结果,仅仅根据计算结果对标志寄存器进行设置 阅读全文
posted @ 2018-11-12 10:42 迷心迷 阅读(2669) 评论(0) 推荐(1) 编辑
摘要: sbb是带借位减法指令,它利用了CF位上记录的借位值。 指令格式:sbb 操作对象1,操作对象2 功能:操作对象1=操作对象1-操作对象2-CF 比如指令sbb ax,bx实现的功能是: (ax)=(ax)-(bx)-CF sbb指令执行后,将对CF进行设置。 阅读全文
posted @ 2018-11-12 10:36 迷心迷 阅读(1489) 评论(0) 推荐(0) 编辑
摘要: adc是带进位加法指令,它利用了CF位上记录的进位值。 指令格式: adc 操作对象1,操作对象2 功能:操作对象1 = 操作对象1 + 操作对象2 + CF 例如指令 adc ax,bx实现的功能是: (ax)=(ax)+(bx)+CF 例如: 执行后,(ax)=4。adc执行时,相当于计算: ( 阅读全文
posted @ 2018-11-12 10:08 迷心迷 阅读(1693) 评论(0) 推荐(1) 编辑
摘要: CPU内部的寄存器中,有一种特殊的寄存器具有以下三种作用。 用来存储相关指令的某些执行结果 用来为CPU执行相关指令提供行为依据 用来控制CPU的相关工作方式 这种特殊的寄存器在8086CPU种,被称为标志寄存器(flag)。8086CPU的标志寄存器有16位,其中存储的信息通常被称为程序状态字(P 阅读全文
posted @ 2018-11-12 09:09 迷心迷 阅读(3579) 评论(0) 推荐(1) 编辑
摘要: #include "BinTree.hpp" //优先级队列PQ模板类 template struct PQ{ virtual void insert(T) = 0; //按照比较器确定的优先级次序插入词条 virtual T getMax() = 0; //取出优先级最高的词条 virtual T delMax() = 0; //删除优先级最高的词条 }; //左... 阅读全文
posted @ 2018-11-11 21:51 迷心迷 阅读(159) 评论(0) 推荐(0) 编辑
摘要: #include "Vector.hpp" //优先级队列PQ模板类 template struct PQ{ virtual void insert(T) = 0; //按照比较器确定的优先级次序插入词条 virtual T getMax() = 0; //取出优先级最高的词条 virtual T delMax() = 0; //删除优先级最高的词条 }; #d... 阅读全文
posted @ 2018-11-11 21:50 迷心迷 阅读(162) 评论(0) 推荐(0) 编辑