-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 |