8086单片机汇编语言怎么读取"硬盘"上的内容
答案:2 悬赏:80 手机版
解决时间 2021-11-09 18:32
- 提问者网友:書生途
- 2021-11-09 13:46
8086单片机汇编语言怎么读取"硬盘"上的内容
最佳答案
- 五星知识达人网友:野慌
- 2021-11-09 14:49
TITLE 调用BIOS的INT13H中断02号功能,读硬盘1个扇区
ASSUME CS:CODES,DS:DATAS,SS:STACKS ;;段寄存器分配
STACKS SEGMENT STACK ;;堆栈段定义
DW 30H DUP(?)
STACKS ENDS
DATAS SEGMENT ;;数据段定义
BUF DB 200H DUP(?) ;;存放读入数据的缓冲区
DATAS ENDS
CODES SEGMENT ;;代码段定义
ORG 100H
START: MOV AX, SEG BUF ;;指定缓冲区段基址及偏移量
MOV ES, AX
MOV BX, 0
MOV AX, 0201H ;;02是读盘功能号,01是所读扇区数
MOV CX, 0306H ;;03是磁道号,06是扇区号
MOV DX, 0480H ;;04是柱面号,80代表C:盘
INT 13H ;;调用BIOS中断,将硬盘内容读入BUF缓冲区
MOV AH, 4CH ;;4C是功能号
INT 21H ;;调用21H号中断,返DOS
CODES ENDS ;;代码段定义结束
END START ;;主程序结束
ASSUME CS:CODES,DS:DATAS,SS:STACKS ;;段寄存器分配
STACKS SEGMENT STACK ;;堆栈段定义
DW 30H DUP(?)
STACKS ENDS
DATAS SEGMENT ;;数据段定义
BUF DB 200H DUP(?) ;;存放读入数据的缓冲区
DATAS ENDS
CODES SEGMENT ;;代码段定义
ORG 100H
START: MOV AX, SEG BUF ;;指定缓冲区段基址及偏移量
MOV ES, AX
MOV BX, 0
MOV AX, 0201H ;;02是读盘功能号,01是所读扇区数
MOV CX, 0306H ;;03是磁道号,06是扇区号
MOV DX, 0480H ;;04是柱面号,80代表C:盘
INT 13H ;;调用BIOS中断,将硬盘内容读入BUF缓冲区
MOV AH, 4CH ;;4C是功能号
INT 21H ;;调用21H号中断,返DOS
CODES ENDS ;;代码段定义结束
END START ;;主程序结束
全部回答
- 1楼网友:一袍清酒付
- 2021-11-09 16:29
对初学者来说,基本上就是调用 Int 21h 的dos服务来完成了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯