|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
复制代码 |
|