📄 readch.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 + -