我们以一个程序来展开讨论:用7ch中断例程完成loop指令的功能,在屏幕中间显示80个"!"
1.程序框架如下
assume cs:code
code segment
start:
mov ax,0b800h ;向8086CPU显存的地址
mov di,160*12 ;显示位置
mov bx,offset s-offset se ;跳转的位移
mov cx,80 ;循环次数
s:
m...
分类:
其他好文 时间:
2014-05-05 13:00:20
阅读次数:
321
1.CPU根据中断码如何找到中断处理程序
要定位中断处理程序,就需要找到中断处理程序的段地址和偏移地址,如果根据中断码找到他们?这就引入中断向量表,CPU用8位的中断类型码通过中断向量表找到相应的中断处理程序的入口地址。
2.使用中断类型码找到中断向量,并用它设置CS和IP,这个操作是由CPU硬件自动完成的。这个过程成为中断过程:
(1)从中断信息中取得中断类型码
(2)标志寄存器的值入栈...
分类:
其他好文 时间:
2014-05-05 12:57:22
阅读次数:
318
在发布或重启某线上某服务时常常会遇到抖动,具体表现为load和响应时间突然飙高。针对此问题作者通过抓栈分析目前响应时间过高的原因,并给出了解决思路,以及相应的实验结果。...
分类:
其他好文 时间:
2014-05-04 12:45:09
阅读次数:
260
paip.提升性能3倍--使用栈跟VirtualAlloc代替堆的使用.
#----为什么要设计堆栈,它有什么独特的用途?
为了性能 .... 堆比栈的性能
也有的说法为了编程容易...这个是错误的.因为使用堆+func也能实现编程简单地..
#----为什么stack 比堆快,stackAccess 要快两到三倍
主要的2点:: 使用堆额外的操作多,而且机器硬件上直接支...
分类:
其他好文 时间:
2014-05-04 00:25:28
阅读次数:
269
今天太背了,bug不断,检查到最后都会发现自己脑残了,粗心写错,更悲剧的是写错的时候还不提示错。
刚才有遇到一个问题,抛了这个异常Exception in thread "AWT-EventQueue-XX" java.lang.StackOverflowError
XX有好几个值,我遇到了2,7,20,其实他们都是一个错,StackOverflowError,对,就是栈溢出,为什么会栈溢出呢...
分类:
编程语言 时间:
2014-05-03 23:49:56
阅读次数:
269
概念
优先级队列,顾名思义,就是一种根据一定优先级存储和取出数据的队列。它可以说是队列和排序的完美结合体,不仅可以存储数据,还可以将这些数据按照我们设定的规则进行排序。优先级队列是堆的一种常见应用。有最大优先级队列(最大堆)和最小优先级队列(最小堆)。优先级队列是一种维护有一组元素构成的集合S的数据结构。
优先队列支持的基本运算
[cpp] view
plai...
分类:
其他好文 时间:
2014-05-03 17:00:11
阅读次数:
341
一、后缀表达式求值
后缀表达式也叫逆波兰表达式,其求值过程可以用到栈来辅助存储。
假定待求值的后缀表达式为:6 5 2 3 + 8 * + 3 + *,则其求值过程如下:
(1)遍历表达式,遇到的数字首先放入栈中,依次读入6 5 2 3 此时栈如下所示:
(2)接着读到“+”,则从栈中弹出3和2,执行3+2,计算结果等于5,并将5压入到栈中。...
分类:
其他好文 时间:
2014-05-03 16:59:21
阅读次数:
309
ACM 威佐夫博弈 取(2堆)石子游戏 hdu2177 hdu1527进阶...
分类:
其他好文 时间:
2014-05-03 16:41:38
阅读次数:
244
ACM 尼姆博弈 取(m堆)石子游戏 hdu2176 改变奇异态...
分类:
其他好文 时间:
2014-05-03 15:44:04
阅读次数:
312
把一般式子转换成逆波兰式。
这里的都是加括号的,难度降低点。
Example
Input:
3
(a+(b*c))
((a+b)*(z+x))
((a+t)*((b+(a+c))^(c+d)))
Output:
abc*+
ab+zx+*
at+bac++cd+^*
知道其特点就好办:
1 遇到字母一定是可以输出的
2 遇到操作符号就入栈
3 遇到括号')',就出栈...
分类:
其他好文 时间:
2014-05-03 15:35:28
阅读次数:
317