回 帖 发 新 帖 刷新版面

主题:前辈们能帮小弟改个汇编程序吗?

stack segment stack
    db 200 dup(0)
stack ends
data            segment
file             db    'd:\a.txt' , 0       ;文件名
buf             db   256 dup(0)        ;文件内容暂存区
error_message    db   0ah , 'error !' , '$'    ;出错时的提示
handle           dw  ?                ;保存文件号
data             ends
code            segment
                assume  cs:code  , ds:data
start:
              mov ax , data
              mov ds , ax
              mov dx , offset file
              mov al , 0
              mov ah , 3dh
              int 21h                  ;打开文件
              jc error                  ;若打开出错,转error
              mov handle , ax           ;保存文件号
              mov bx , ax
              mov cx , 255
              mov dx , offset buf
              mov ah , 3fh
              int 21h                  ;从文件中读255字节→buf
              jc error                  ;若读出错,转error
              mov bx , ax              ;实际读到的字符数送入bx
              mov buf[bx] , '$'          ;在文件结束处放置一“$”符
              mov dx , offset buf
              mov ah , 9
              int 21h                            ;显示文件内容
              mov bx , handle
              mov ah , 3eh
              int 21h                            ;关闭文件
              jnc end1             ;若关闭过程无错,转到end1处返回dos
error:
              mov dx , offset error_message
              mov ah , 9
              int 21h                            ;显示错误提示
end1:
             mov ah , 4ch
             int 21h
code   ends
             end  start
--------------------------
前辈们能帮小弟把它改成路径名从键盘获取的吗? 感激不尽!!

回复列表 (共2个回复)

沙发

修改如下:

data     segment
buff     db 255
         db ?
file     db 255 dup(0)       ;文件名
..........

start:        mov ax , data
              mov ds , ax
              mov dx, offset buff
              mov ah, 0ah
              int 21h
              xor bx, bx
              mov bl, buff+1
              mov [bx+file], 0
              mov dx , offset file
              mov al , 0
............

板凳

楼上的兄弟,真是太感激你了.谢谢你!

我来回复

您尚未登录,请登录后再回复。点此登录或注册