目录 上一页 下一页 下一章

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












SET_DTA:







READ_REC:







WRITE:











MOV
MOV
INT
OR
JZ

MOV
MOV
INT
OR
JNZ

PUSH
MOV
MOV
MOV
MOV
INT
POP

MOV
MOV
MOV
INT
CMP
JZ
JMP

MOV
MOV
INT
OR
JNZ

MOV
MOV
MOV
MOV
MOV
AH,0FH
DX,OFFSET FCB2
21H
AL,AL
SET_DTA

AH,16H
DX,OFFSET FCB2
21H
AL,AL
ERR_EXIT

DS
AX,CS
DS,AX
AH,1AH
DX,OFFSET BUFFER
21H
DS

AH,27H
DX,OFFSET FCB1
CX,7
21H
AL,03H
WRITE
ERR_EXIT

AH,28H
DX,OFFSET FCB2
21H
AL,AL
ERR_EXIT

BX,OFFSET FCB1
AX,WORD PTR [BX+10H]
BX,OFFSET FCB2
WORD PTR [BX+21H],AX
WORD PTR [BX+0EH],1
;打开"目标文件"


;"目标文件"正确打开了吗?
;若正确打开了文件,转SET_DTA

;建立"目标文件"


;正确建立了"目标文件"吗?
;若文件没有正确建立,转ERR_EXIT

;暂存DS寄存器
;将CS寄存器"拷贝"入DS寄存器

;设置新的DTA


;恢复DS寄存器

;利用"随机块读"功能
;从"源文件"中一次
;读入7个记录

;是否读入了部分记录?
;若只读人入了一部分记录,转WRITE
;若发生了其它错误,转ERR_EXIT

;利用"随机块写"功能将读入的数据
;写入"目标文件"中

;数据正确地写入了吗?
;若写入不正确,转ERR_EXIT

;BX寄存器指向FCB1
;取得"源文件"的长度
;BX寄存器指向FCB2
;修改FCB2的随机记录号
;设置FCB2的记录大小为1字节

Copyright © 2004-2015 Reanimator www.cookmoon.org

目录 上一页 下一页 下一章