我是装配新手。我必须做一个程序,将输入文件的数据复制到输出文件。但必须创建此输出文件。
问题是我无法创建这个看起来如此直接的文件。
我正在使用的代码是
.model tiny
.data
outputfile db "newfile.txt",0
outhandle dw ?
.code
.stack
cseg segment 'code'
assume cs:cseg, ds:cseg
org 100h
start:
create_a_file:
mov dx, offset outputfile
mov cx, 0
mov ah, 3Ch
int 21h
mov outhandle, ax
jc error_routine
mov ah, 3Eh
mov bx, outhandle
int 21h
error_routine:
mov ax, 4c00h
int 21h
cseg ends
end start
我看到新文件无处。即使我指定了确切的根文件夹,例如“c:...” 我无法弄清楚出了什么问题。 任何帮助都是适当的,Thanx PS:我使用Windows XP 32位。和TASM(便携式)
答案 0 :(得分:2)
如果您打算创建.COM程序,请将源代码简化为:
cseg segment 'code'
assume cs:cseg, ds:cseg, es:cseg, ss:cseg
org 100h
start:
create_a_file:
mov dx, offset outputfile
mov cx, 0
mov ah, 3Ch
int 21h
mov outhandle, ax
jc error_routine
mov ah, 3Eh
mov bx, outhandle
int 21h
error_routine:
mov ax, 4c00h
int 21h
outputfile db "newfile.txt",0
outhandle dw ?
cseg ends
end start
将程序编译为tasm.exe myprog.asm
并将其链接为tlink.exe /t myprog.obj
。你应该得到myprog.com
,它应该创建NEWFILE.TXT
就好了。
答案 1 :(得分:0)
检查您的tasm / bin文件夹。您的“newfile.txt”可能就在那里