⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readch.asm

📁 该代码中包含数十个磁盘以及文件系统信息获取和修复的代码
💻 ASM
字号:
;********************************************
;文件名:READCH.ASM
;功能:读扇区数据并将字符返回C主程序
;********************************************
count=512                             ;1.定义常量
disk struc                            ;2.定义结构
packetsize db 16                      ;3.
reserved db 0                         ;4.
blockcount dw 1                       ;5.
bufferaddr dd 200h                    ;6.
blocknum dq ?                         ;7.
disk ends                             ;8.
                                      ;9.
.model small                          ;10.定义小模式编译
.data                                 ;11.定义数据段
buff disk <>                          ;12.定义结构变量
.code                                 ;13.定义代码段
public _viewhd                        ;14.声明公有
_viewhd proc                          ;15.子程序开始
        push bp                       ;16.保护现场
        mov bp,sp                     ;17.保存指针
        push ds                       ;18.保护现场
        push si                       ;19.保护现场
        push di                       ;20.保护现场
        mov ah,42h                    ;21.设置入口参数
        mov dl,80h                    ;22.设置入口参数
        mov di,offset buff.blocknum   ;23.取结构成员地址
        mov bx,[bp+10]                ;24.取扇区号参数
        mov [di],bx                   ;25.存入缓冲区
        mov bx,[bp+8]                 ;26.取扇区号参数
        mov [di+1],bx                 ;27.存入缓冲区
        mov bx,[bp+6]                 ;28.取扇区号参数
        mov [di+2],bx                 ;29.存入缓冲区
        mov bx,[bp+4]                 ;30.取扇区号参数
        mov [di+3],bx                 ;31.存入缓冲区
        mov si,offset buff            ;32.取变量地址
        int 13h                       ;33.调用中断
                                      ;34.
        lds si,buff.bufferaddr        ;35.取地址指针
        mov bx,[bp+12]                ;36.取字节参数
        mov ax,[si+bx]                ;37.取一个字节值
        mov ah,0                      ;38.高八位清零
        pop di                        ;39.恢复现场
        pop si                        ;40.恢复现场
        pop ds                        ;41.恢复现场
        pop bp                        ;42.恢复现场
        ret                           ;43.子程序返回
_viewhd endp                          ;44.子程序结束
        end                           ;45.程序结束

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -