【摘录自DOS编程大全】dos如何启动和计算机常规内存的使用
一般启动过程:
当打开计算机电源,CPU 就获得了控制权。CPU 立刻执行存储在主板上的 BIOS(Basic Input Output System 基本输入输出系统) 中的指令。在 BIOS 指令的最后部分,包含了启动例程。该例程的任务是读取位于第一个硬盘中第一个扇区中的主引导记录(MBR)。在主引导记录中,包含了主引导程序和描述磁盘分区情况的磁盘分区表。BIOS 执行主引导程序,以继续完成引导过程。主引导程序查看磁盘分区表,以获得活动分区。如果只有一个主分区的话,那么就将装入该分区的操作系统并启动。
...


- [martian] 恭喜博主对实验的进一步理解,但建议博主自己实现一次。 12/26 19:34
- [mess] 过了课设一,后面的程序相对都比较简单了,书上的代码很多 :-) 12/15 17:03
- [deepblue] 赞! 12/13 22:28
- [wsrf] 程序没有问题。 12/12 11:05
- [游客] 说明:为了显示结果,调用第10章的显示字符串程序,在屏幕上显示了转换后的结果,这样比较帅,也比较能满 12/10 20:26
- [younggay] 不错,尤其是前面的描述很有意思。 努力。 12/09 15:02
- [游客] 厉害! 12/07 15:16
- [starrynight] 帅就一个字!!! 继续加油学哦!!! 12/06 12:24
- [mess] 主要明白pop 和 push的操作步骤,sp的变化,这个题就比较简单了~ 12/05 14:12
- [mess] 用栈保存和传递参数是不错的方法,反汇编c程序也能发现这一点~ 12/05 14:10
[2008-12-04 15:10] 【摘录自DOS编程大全】dos如何启动和计算机常规内存1M的使用
[2008-02-21 14:09] 寻找汇编的乐趣: 命令行(Console)
;寻找汇编的乐趣: 命令行(Console)
; Console
; 下面程序实现在命令行输入后,把输入的内容回显出来.
.386
.model flat,stdcall
option casemap:none
include windows.inc
include kernel32.inc
includelib kernel32.lib
.data?
hStdIn dd ?
hStdOut dd ?
szBuffer db 1024 dup(?)
dwByteRead dd ?
dwByteWrite dd ?
.const
...
; Console
; 下面程序实现在命令行输入后,把输入的内容回显出来.
.386
.model flat,stdcall
option casemap:none
include windows.inc
include kernel32.inc
includelib kernel32.lib
.data?
hStdIn dd ?
hStdOut dd ?
szBuffer db 1024 dup(?)
dwByteRead dd ?
dwByteWrite dd ?
.const
...
[2007-10-12 15:34] cpu 保护模式(转)
第一:实模式下程序的运行回顾.
程序运行的实质是什么?其实很简单,就是指令的执行,显然CPU
是指令得以执行的硬件保障,那么CPU如何知道指令在什么地方呢?
对了,80x86系列是使用CS寄存器配合IP寄存器来通知CPU指令在内存
中的位置.
程序指令在执行过程中一般还需要有各种数据,80x86系列有DS、
ES、FS、GS、SS等用于指示不同用途的数据段在内存中的位置。
程序可能需要调用系统的服务子程序,80x86系列使用中断机制
来实现系统服务。
总的来说,这些就是实模式下一个程序运行所需的主要内容
(其它如跳转、返回、端口操作等相对来说比较次要。)
第二:保护模...
程序运行的实质是什么?其实很简单,就是指令的执行,显然CPU
是指令得以执行的硬件保障,那么CPU如何知道指令在什么地方呢?
对了,80x86系列是使用CS寄存器配合IP寄存器来通知CPU指令在内存
中的位置.
程序指令在执行过程中一般还需要有各种数据,80x86系列有DS、
ES、FS、GS、SS等用于指示不同用途的数据段在内存中的位置。
程序可能需要调用系统的服务子程序,80x86系列使用中断机制
来实现系统服务。
总的来说,这些就是实模式下一个程序运行所需的主要内容
(其它如跳转、返回、端口操作等相对来说比较次要。)
第二:保护模...
[2008-05-29 15:57] 汇编指令总结
一.数据传送指令
1.传送指令(move)
语句格式:mov opd,ops
功能:将源操作数ops,传送至目的地址opd中,即(ops)->opd
影响标志位:无
2.数据交换指令(exchange)
语句格式:xchg opd,ops
功能:将源地址与目的地址中的内容互换,(opd)->ops,(ops)->opd
影响标志位:无
3.查表转换指令(translate)
语句格式:xlat ops或xlat
功能:描述为([bx+al])->al,即将以(bx)为首址,(al)为位移量的字节存储单元中的内容传送至al中
影响标志位:无
4.传送偏移...
1.传送指令(move)
语句格式:mov opd,ops
功能:将源操作数ops,传送至目的地址opd中,即(ops)->opd
影响标志位:无
2.数据交换指令(exchange)
语句格式:xchg opd,ops
功能:将源地址与目的地址中的内容互换,(opd)->ops,(ops)->opd
影响标志位:无
3.查表转换指令(translate)
语句格式:xlat ops或xlat
功能:描述为([bx+al])->al,即将以(bx)为首址,(al)为位移量的字节存储单元中的内容传送至al中
影响标志位:无
4.传送偏移...
[2008-12-09 10:10] com和exe文件结构
摘自《计算机病毒及其防治技术》,程胜利等编著,清华大学出版社。
1、com文件结构及原理
com文件结构比较简单,它包含程序的一个绝对映像,即为了运行程序准确的处理器指令和内存中的数据,MS-DOS通过直接把该映像从文件直接复制到内存,从而加载com程序,而不做任何改变。
为加载一个com程序,MS-DOS首先试图分配内存,因为com程序必须位于一个64KB的段中,所以com文件的大小不能超过65024(64KB减去用于PSP的256B和用于一个起始堆栈的至少256B)。如果MS-DOS不能为程序、一个PSP、一个起始堆栈分配足够的内存,则分配尝试失败。否则,MS...
1、com文件结构及原理
com文件结构比较简单,它包含程序的一个绝对映像,即为了运行程序准确的处理器指令和内存中的数据,MS-DOS通过直接把该映像从文件直接复制到内存,从而加载com程序,而不做任何改变。
为加载一个com程序,MS-DOS首先试图分配内存,因为com程序必须位于一个64KB的段中,所以com文件的大小不能超过65024(64KB减去用于PSP的256B和用于一个起始堆栈的至少256B)。如果MS-DOS不能为程序、一个PSP、一个起始堆栈分配足够的内存,则分配尝试失败。否则,MS...
[2008-04-15 13:59] 【汇编迷雾(二)】累加寄存器的特殊性
在 拨开【汇编迷雾(一)】相同的汇编指令VS不同的机器代码 中wangzh001 曾经问过这样的问题:
------------------------------------------------------
那问下为什么在第3章的2实验任务中的1里面,输入
mov ax,[0]是3个机器码,而到mov bx,[4]的时候确是4个呢,有什么不同啊这2个?
------------------------------------------------------
经过对相关资料的查阅和实验,个人的出以下结论:
在这里做如下解答:ax是累加寄存器,而bx不是累加寄存器,对于传送...
------------------------------------------------------
那问下为什么在第3章的2实验任务中的1里面,输入
mov ax,[0]是3个机器码,而到mov bx,[4]的时候确是4个呢,有什么不同啊这2个?
------------------------------------------------------
经过对相关资料的查阅和实验,个人的出以下结论:
在这里做如下解答:ax是累加寄存器,而bx不是累加寄存器,对于传送...
阅读全文 |
作者:starrynight |
评论次数(1) |
浏览次数(1280)
[2008-01-23 10:03] dos重定向符号的使用
C:\DOCUME~1\ADMINI~1>c:\masm>masm
------
?
http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1005&qkSg=2&qID=10734
Author: HappyDrips
dos下有一个很实用的操作符:“>”和“>>”,“>”表示将一段文本写入一个文本文件,“>>”则表示将信息追加到已存在文件的后面。巧妙利用这两个符号可以在dos下保存界面上的文字。
比如,我们常在dos下用 dir 命令显示一个文件夹里面的文件名,可是却不能将文件夹...
------
?
http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1005&qkSg=2&qID=10734
Author: HappyDrips
dos下有一个很实用的操作符:“>”和“>>”,“>”表示将一段文本写入一个文本文件,“>>”则表示将信息追加到已存在文件的后面。巧妙利用这两个符号可以在dos下保存界面上的文字。
比如,我们常在dos下用 dir 命令显示一个文件夹里面的文件名,可是却不能将文件夹...
阅读全文 |
作者:huibian |
评论次数(1) |
浏览次数(1574)
页码数(1):
1