视康隐形眼镜月抛:汇编语言的注释

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/11 02:58:53
1)C:盘MBR的备份
步骤1:MBR读取程序
A>DEBUG
-A 100 (汇编一段小程序)
XXXX:0100 MOV AX, 0201 (AL=要读的扇区数)
XXXX:0103 MOV BX, 1000 (ES:BX=缓冲区地址)
XXXX:0106 MOV CX, 0001 (柱面号=CL高2位+CH,扇区号=CL低6位)
XXXX:0109 MOV DX, 0080 (DH=磁头,DL=0、1软盘,80、81硬盘)
XXXX:010C INT 13
XXXX:010E INT 3 (程序结束)
XXXX:010F
-G=100 (将MBR记录读入1000H开始的内存中)
-D 11BE 11FF (显示分区表数据)
步骤2:保存C盘MBR
-M 1000 11FF 100 (将MBR移至100H处)
-RCX
:200 (保存200H=512字节)
-N MBR.DAT
-W (以MBR.DAT为文件名存盘)
2)C:盘DBR的备份

步骤1:DBR读取程序
A> DEBUG
-A 100 (汇编一段小程序)
XXXX:0100 MOV AX, 0201 (AL=要读的扇区数)
XXXX:0103 MOV BX, 1000 (ES:BX=缓冲区地址)
XXXX:0106 MOV CX, 0001 (柱面号=CL高2位+CH,扇区号=CL低6位)
XXXX:0109 MOV DX, 0180 (DH=磁头,DL=0、1软盘,80、81硬盘)
XXXX:010C INT 13
XXXX:010E INT 3 (程序结束)
XXXX:010F
-G=100 (将MBR记录读入1000H开始的内存中)
步骤2:保存C盘DBR
-M 100 11FF 100 (将MBR移至100H处)
-RCX
:200 (保存200H=512字节)
-N DBR.BAT
-W (以DBR.DAT为文件名存盘)
3)C:盘MBR的恢复
A>DEBUG
-A 100 (开始汇编MBR写入程序)
XXXX:0100 MOV AH,3D
XXXX:0102 LEA DX,[0127](指向文件名“MBR.DAT)
XXXX:0106 INT 21 (打开文件)
XXXX:0108 MOV BX,AX
XXXX:010A MOV CX,0200
XXXX:010D MOV DX,1000
XXXX:0110 MOV AH,3F
XXXX:0116 INT 21 (读文件内容至1000H开始的内存中)
XXXX:0110 MOV AH,3E
XXXX:0116 INT 21 (关闭文件)
XXXX:0118 MOV AX, 0301
XXXX;011B MOV BX,1000
XXXX:011E MOV CX,0001
XXXX:0121 MOV DX,0080
XXXX:0124 INT 13 (将内存1000H开始的MBR写入硬盘)
XXXX:0126 RET (程序结束)
XXXX:0127 DB `MBR.DAT (定义MBR的文件名)
XXXX:012F DB 0
XXXX:0130
-R CX
:30
-N WMBR.COM (将该程序段取名为WMBR.COM)
-W
-Q
C>_
那位好心人能帮我把我每行没有注释过的地方详细的加上注释啊~小弟对汇编不熟悉啊~论文偏偏要有这项,小弟只有20分,那位大哥不嫌弃我这个穷鬼就帮帮我吧。谢谢了

1)C:盘MBR的备份
步骤1:MBR读取程序
A>DEBUG
-A 100 (汇编一段小程序)
XXXX:0100 MOV AX, 0201 (AL=要读的扇区数)
XXXX:0103 MOV BX, 1000 (ES:BX=缓冲区地址)
XXXX:0106 MOV CX, 0001 (柱面号=CL高2位+CH,扇区号=CL低6位)
XXXX:0109 MOV DX, 0080 (DH=磁头,DL=0、1软盘,80、81硬盘)
XXXX:010C INT 13 ;;;;;;;;调用磁盘BIOS服务中断
XXXX:010E INT 3 (程序结束)
XXXX:010F
-G=100 (将MBR记录读入1000H开始的内存中)
-D 11BE 11FF (显示分区表数据)
步骤2:保存C盘MBR
-M 1000 11FF 100 (将MBR移至100H处)
-RCX ;;;;;;;;修改寄存器CX的值
:200 (保存200H=512字节)
-N MBR.DAT
-W (以MBR.DAT为文件名存盘)
2)C:盘DBR的备份

步骤1:DBR读取程序
A> DEBUG
-A 100 (汇编一段小程序)
XXXX:0100 MOV AX, 0201 (AL=要读的扇区数)
XXXX:0103 MOV BX, 1000 (ES:BX=缓冲区地址)
XXXX:0106 MOV CX, 0001 (柱面号=CL高2位+CH,扇区号=CL低6位)
XXXX:0109 MOV DX, 0180 (DH=磁头,DL=0、1软盘,80、81硬盘)
XXXX:010C INT 13 ;;;;;;;;调用磁盘BIOS服务中断
XXXX:010E INT 3 (程序结束)
XXXX:010F
-G=100 (将MBR记录读入1000H开始的内存中)
步骤2:保存C盘DBR
-M 100 11FF 100 (将MBR移至100H处)
-RCX
:200 (保存200H=512字节)
-N DBR.BAT
-W (以DBR.DAT为文件名存盘)
3)C:盘MBR的恢复
A>DEBUG
-A 100 (开始汇编MBR写入程序)
XXXX:0100 MOV AH,3D
XXXX:0102 LEA DX,[0127](指向文件名“MBR.DAT)
XXXX:0106 INT 21 (打开文件) ;;;;;;;;打开的文件句柄在AX中,
XXXX:0108 MOV BX,AX ;;;;;;;;为了读文件,BX中放文件句柄
XXXX:010A MOV CX,0200 ;;;;;;;;读入字节数
XXXX:010D MOV DX,1000 ;;;;;;;;?POST http://zhidao.baidu.com/q HTTP/1.0
Prox2C3F ;;;;;;;;读取文件DOS服务中断
XXXX:0116 INT 21 (读文件内容至1000H开始的内存中)
XXXX:0110 MOV AH,3E ;;;;;;;;关闭文件的中断服务号
XXXX:0116 INT 21 (关闭文件)
XXXX:0118 MOV AX, 0301 ;;;;;;;;AH中断服务号,AL待写的扇区数
XXXX;011B MOV BX,1000 ;;;;;;;;数据源地址
XXXX:011E MOV CX,0001 ;;;;;;;;待写的柱面号
XXXX:0121 MOV DX,0080 ;;;;;;;;DH=磁头,DL=0、1软盘,80、81硬盘
XXXX:0124 INT 13 (将内存1000H开始的MBR写入硬盘)
XXXX:0126 RET (程序结束) ;;;;;;;;子程序返回
XXXX:0127 DB 'MBR.DAT' (定义MBR的文件名)
XXXX:012F DB 0
XXXX:0130
-R CX
:30
-N WMBR.COM (将该程序段取名为WMBR.COM)
-W ;;;;;;;;;;;;存盘
-Q ;;;;;;;;;;;;退出debug到DOS
C>_