马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
正在学习王爽的《汇编语言》一书,终于来到了最后一章:“17.4 应用int 13h中断例程对磁盘进行读写”。
书中提供的代码示例(将当前屏幕的内容保存到磁盘上)运行不会报错,我寻思这也看不到效果,就想又将磁盘中的内容读出来,看它是不是真的干活了。结果运行仍然没有任何效果。
所以,dosbox中的int 13h到底能用吗?
;17-4中的程序完全看不到运行效果
;实现:屏幕向上滚动一半
assume cs:code
data segment
db 4000 dup (0)
data ends
code segment
start:
mov ax,0b800h
mov es,ax
mov bx,0
;将显存保存到1~8扇区
mov al,8 ;操作扇区数量
mov ch,0 ;磁道号
mov cl,1 ;扇区号
mov dl,0 ;驱动器号
mov dh,0 ;磁头号
mov ah,3 ;功能号
int 13h
mov ax,0b800h
mov es,ax
mov bx,0
;将5~8扇区的内容显示到上半屏,达到上滚效果
mov al,4
mov ch,0
mov cl,5
mov dl,0
mov dh,0
mov ah,2
int 13h
mov ax,4c00h
int 21h
code ends
end start
|