目录 上一页 下一页 下一章

第7章 文件控制块 -205-

READ_NEXT:



































ERR_EXIT:


MAIN
CODE


MOV
MOV
INT
OR
JNZ

MOV
CMP
JZ

MOV
INT
CMP
JNZ
MOV
INT
INC
CMP
JNZ

MOV
PUSH
PUSH
POP
MOV
INT
MOV
INT
MOV
INT
MOV
INT
MOV
POP
JMP

MOV
INT
ENDP
ENDS
END

AH,14H
DX,5CH
21H
AL,AL
ERR_EXIT

AL,[SI]
AL,0AH
READ_NEXT

AH,0EH
10H
AL,0DH
READ_NEXT
AL,0AH
10H
ES:[LINE]
ES:[LINE],23
READ_NEXT

DX,OFFSET MSG
DS
ES
DS
AH,9
21H
AH,0
16H
AX,0E0DH
10H
AL,0AH
10H
[LINE],0
DS
READ_NEXT

AH,4CH
21H


MAIN

;从文件中读取记录
;DX指向打开的FCB

;记录正确地读入了吗?
;若读取操作不正确,转ERR_EXIT

;从DTA中取得一个字节
;取得的是换行符吗?
;若是换行符,转READ_NEXT

;利用10H中断的0EH功能
;输出AL寄存器中的字符
;输出的字符是回车符吗?
;若不是回车符则继续处理下一个字符
;若是回车符则同时输出一个换行符

;并且将行数计数器加1
;判断是否已经输出了23行字符
;若输出不足23行,则继续处理下一个字符

;DX寄存器指向MSG
;暂存DS寄存器
;通过堆栈将ES寄存器送入DS

;输出字符串MSG

;等待键盘输入

;将光标移至下一行首部



;行计数器清0
;恢复DS寄存器
;处理下一个字符

;结束进程





Copyright © 2004-2015 Reanimator www.cookmoon.org

目录 上一页 下一页 下一章