目录 上一页 下一页 下一章

-216- PC机汇编语言实战精解

buffer
handle1
msg1
data

code

main









disp_loop:




















abord:

db
dw
db
ends

segment
assume
proc
mov
mov

mov
mov
int
jc

mov

mov
mov
mov
mov
int
jc

mov
mov
mov
int
jc

cmp
jz

mov
mov
int
jmp

mov
32 dup(0)
?
'Error!!!',0dh,0ah,24h



cs:code
far
ax,data
ds,ax

dx,offset fname1
ax,3d00h
21h
abord

handle1,ax

ah,3fh
cx,32
dx,offset buffer
bx,handle1
21h
abord

cx,ax
ah,40h
bx,HANDLE2
21h
abord

cx,32
disp_loop

ah,3eh
bx,handle1
21h
exit

dx,offset msg1
;文件缓冲区
;保存文件句柄
;出错信息





;初始化DS寄存器


;DX寄存器指向ASCIIZ串
;准备按"读取"方式打开文件

;若文件未能正确打开,转ABORD

;保存文件句柄

;准备从文件中读取数据
;读入32字节
;DX寄存器指向文件缓冲区
;从"CONFIG.SYS"中读入

;数据未正确读入,转ABORD

;CX寄存器置入实际读入的字符数
;准备将刚读入的数据写出
;BX置入一个特殊的文件句柄

;若数据未能正确写出,转ABORD

;处理的数据够32个字节吗?
;若够32个字节,转DISP_LOOP继续执行

;关闭文件"CONFIG.SYS"


;转EXIT结束进程

;输出错误信息

Copyright © 2004-2015 Reanimator www.cookmoon.org

目录 上一页 下一页 下一章