infile.asm
上传用户:hhhhly
上传日期:2021-12-31
资源大小:2k
文件大小:2k
源码类别:

磁盘编程

开发平台:

DOS

  1. data            segment
  2. file             db    'd:masml.txt' , 0       ;文件名
  3. buf             db   256 dup(0)        ;文件内容暂存区
  4. error_message    db   0ah , 'error !' , '$'    ;出错时的提示
  5. handle           dw  ?                ;保存文件号
  6. data             ends
  7. code            segment
  8.                 assume  cs:code  , ds:data
  9. start:
  10.               mov ax , data
  11.               mov ds , ax
  12.               mov dx , offset file
  13.               mov al , 0
  14.               mov ah , 3dh
  15.               int 21h                  ;打开文件
  16.               jc error                  ;若打开出错,转error
  17.               mov handle , ax           ;保存文件号
  18.               mov bx , ax
  19.               mov cx , 255
  20.               mov dx , offset buf
  21.               mov ah , 3fh
  22.               int 21h                  ;从文件中读255字节→buf
  23.               jc error                  ;若读出错,转error
  24.               mov bx , ax              ;实际读到的字符数送入bx
  25.               mov buf[bx] , '$'          ;在文件结束处放置一“$”符
  26.               mov dx , offset buf
  27.               mov ah , 9
  28.               int 21h                            ;显示文件内容
  29.               mov bx , handle
  30.               mov ah , 3eh
  31.               int 21h                            ;关闭文件
  32.               jnc end1             ;若关闭过程无错,转到end1处返回dos
  33. error:
  34.               mov dx , offset error_message
  35.               mov ah , 9
  36.               int 21h                            ;显示错误提示
  37. end1:
  38.              mov ah , 4ch
  39.              int 21h
  40. code   ends
  41.              end  start