第一:实模式下程序的运行回顾.
程序运行的实质是什么?其实很简单,就是指令的执行,显然CPU
是指令得以执行的硬件保障,那么CPU如何知道指令在什么地方呢?
对了,80x86系列是使用CS寄存器配合IP寄存器来通知CPU指令在内存
中的位置.
程序指令在执行过程中一般还需要有各种数据,80x86系列有DS、
ES、FS、GS、SS等用于指示不同用途的数据段在内存中的位置。
程序可能需要调用系统的服务子程序,80x86系列使用中断机制
来实现系统服务。
总的来说,这些就是实模式下一个程序运行所需的主要内容
(其它如跳转、返回、端口操作等相对来说比较次要。)
第二:保护模...
- [xiaolaopo] stack segment dw 16 dup(0) stack ends code s 06/11 07:30
- [游客] 支持! 05/30 21:23
- [游客] 不一定学了高级语言才有模块化的思想啊。 难道写子程序的时候没有细细揣摩一下么?学好任何一门编程语言 05/30 15:51
- [pgd5776] CLI是怕在程序在改变键盘中断入口时发生键盘中断。 该程序的作用就是把中断的程序放入内存,并改变中 05/30 11:54
- [younggay] 看看cli和sti的用法和作用。 不打开键盘中断,你的程序怎么去运行啊? 05/30 11:42
- [游客] 还要注意,设置中断向量前,cli, 设置完毕后,sti 05/29 13:22
- [游客] 程序结构有些乱,出错就不容易查了,不要怀疑机子有问题,是程序本身的问题,再仔细看看。 05/29 12:05
- [游客] 应该先把中断处理安装后, 再设置中断向量吧, 要不设置完中断向量后,发生中断,会执行什么代码啊! 05/29 11:49
- [pgd5776] 没有必要接受键盘中断啊 05/29 11:39
- [yigeling] 只添加cli命令吗? 05/29 11:37
[2007-10-12 15:34] cpu 保护模式(转)
[2008-05-07 18:13] 自己用汇编语言写的一个病毒(源码)(转载)
这个病毒虽然比较简单。但是麻雀虽小,五脏俱全。隐藏,感染,加密等模块应有尽有(只是不会破坏),是一个比较标准的DOS病毒,可以感染.EXE(不包括PE)和.COM的可执行文件。
如果您希望学习汇编语言,用这个程序作为入门指导倒是比较合适的。
染毒文件会被打上“CR”的标记,我们姑且称它为CR病毒吧。
baseoff equ 107h
code segment
assume cs:code,ds:code,es:code,ss:code
org 100h
main:
mov ax,offset begin
jmp ax
...
如果您希望学习汇编语言,用这个程序作为入门指导倒是比较合适的。
染毒文件会被打上“CR”的标记,我们姑且称它为CR病毒吧。
baseoff equ 107h
code segment
assume cs:code,ds:code,es:code,ss:code
org 100h
main:
mov ax,offset begin
jmp ax
...
[2008-03-04 08:53] assume的作用探讨【转】
ASSUME是把你自己定义的DATA段和CPU中的CS段连起来的意思,这样,CS就指向了你所定义的DATA段了。见《汇编语言》(王爽)P73
p278 16.2小节中的内容。
http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=free&kind=1220&qkSg=2&qID=7172&readSg=1
关于assume的作用,许多人都简单的解释说,这是告诉编译器哪一个段和哪一个段寄存器相关联。举个简单例子来说:
assume cs:code, ds:data
这是告诉编译器cs和code关联,ds和data关联,...
p278 16.2小节中的内容。
http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=free&kind=1220&qkSg=2&qID=7172&readSg=1
关于assume的作用,许多人都简单的解释说,这是告诉编译器哪一个段和哪一个段寄存器相关联。举个简单例子来说:
assume cs:code, ds:data
这是告诉编译器cs和code关联,ds和data关联,...
页码数(1):
1