1 ;以"年/月/日 时:分:秒"的格式, 显示当前的日期, 时间 2 assume cs:code 3 code segment 4 main: 5 mov al,9 6 out 70h,al ;告诉CM...
分类:
编程语言 时间:
2014-12-21 19:22:32
阅读次数:
217
1 ;名称:ILOVEU程序 2 ;使用BIOS提供的中断例程 3 assume cs:code 4 code segment 5 main: 6 mov cx,880 ;显示背景22*80 7 mov d...
分类:
移动开发 时间:
2014-12-21 16:36:17
阅读次数:
269
1 ;此乃安装程序 2 ;功能:将8086cpu中断类型码为0 的中断向量设置为我们编写的中断服务程序入口地址 3 ;该中断在除法发送溢出的时候产生 4 5 assume cs:code 6 code segment 7 main: 8 mov ax,cs 9 ...
分类:
编程语言 时间:
2014-12-20 16:48:53
阅读次数:
177
个人原创,转帖请注明来源:cnblogs.com/jailbreaker先看2段代码:第一段代码main里面没有任何语句,第2段代码是返回0值,这2段代码的反汇编是一样的,看下图:一共 2行汇编代码,第2行 bx lr 代表返回到main调用之后的语句,而第一行 movs是 mov的扩展,最后字母s...
分类:
移动开发 时间:
2014-12-14 17:07:52
阅读次数:
150
1.严格来说汇编语是由以下三部分组成: 1.汇编指令:助记符,即用英语字符替换机器码 2.伪指令:由编译器编译执行,即Mov等控制指令 3.其它符号:由编译器编译执行,计算机是不能识别"+","-"等符号,所以需要编译器编译成机器语言2.汇编语言的核心是汇编指令,他决定汇编语言的特性3.我们都知道C...
分类:
编程语言 时间:
2014-12-13 12:13:56
阅读次数:
224
1.汉诺塔问题#includevoid han(int,char,char,char );int main(){ int n; char a='A',b='B',c='C'; scanf("%d",&n); han(n,a,b,c);}void mov(char a,char...
分类:
其他好文 时间:
2014-12-12 23:24:42
阅读次数:
199
1.从键盘输入两个相同长度的字符串,分别放到数据段和附加段,利用串比较指令比较数据段和附加段中两个字符串,如果两串一样,输出Y,否则输出N。这个程序调试了好久,之间遇到两个问题,其一是附加段的使用,需要对DS压栈对ES调整处理,即1 PUSH DS2 MOV AX,ES ...
分类:
其他好文 时间:
2014-12-12 01:20:56
阅读次数:
267
; 准备切换到保护模式
mov eax, cr0
or eax, 1
mov cr0, eax
; 真正进入保护模式
jmp dword SelectorCode32:0 ; 执行这一句会把 SelectorCode32 装入 cs,
; 并跳转到 Code32Selector:0 处
这段时间在一个操作系统的实现
好书啊,感谢作者
这两天一直纠结在 ;
...
分类:
其他好文 时间:
2014-12-10 21:17:48
阅读次数:
908
补全编程,利用loop指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在DX中assume cs:codecode segment start:mov ax,2000h mov ds,ax mov bx,0 s: mov cl,[...
分类:
其他好文 时间:
2014-12-10 14:12:02
阅读次数:
211
8086CPU的转移指令分为以下几类:1.无条件转移指令(如:jmp)2.条件转移指令3.循环指令(如:loop)4.过程5.中断一,操作符offset由编译器处理,是伪指令,功能是取得标号的偏移地址问题9.1中,要复制的数据:mov ax,bx指令的长度(机器码)为两个字节,即1个字。nop的机器...
分类:
其他好文 时间:
2014-12-09 13:48:27
阅读次数:
273