![]() | 第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 |