Assembly 在汇编语言中向后移动指针

Assembly 在汇编语言中向后移动指针,assembly,Assembly,我正在尝试相对于文件末尾向后移动文件指针。这就是我正在做的- .model tiny .386 .data fil1 db 'testing.txt',0 dat1 db 100 dup('$') dat2 db 100 dup('$') .code .startup mov al,02h lea dx,fil1 mov ah,3dh int 21h

我正在尝试相对于文件末尾向后移动文件指针。这就是我正在做的-

.model tiny
.386
.data
fil1    db      'testing.txt',0
dat1    db      100 dup('$')
dat2    db      100 dup('$')
.code
.startup
        mov     al,02h
        lea     dx,fil1
        mov     ah,3dh
        int     21h



        mov     bx,ax
        mov     al,2    
        mov     cx,0
        mov     dx,-3
        mov     ah,42h
        int     21h



        lea     dx,dat1
        mov     cx,2
        mov     ah,3fh
        int     21h


        lea     dx,dat1
        mov     ah,09h
        int     21h



        mov     ah,3eh
        int     21h
.exit
end

但是控制台上没有显示任何内容。我不知道哪里出了问题。

INT 21H/AH=42H
的描述是:

CX:DX
=(有符号)距新文件位置原点的偏移量


通过设置
cx=0
指定的是正偏移量0x0000FFFD(65533),而不是负偏移量-3(0xfffffd)。您应该改为设置
cx=0xFFFF
(也可以表示为
cx=-1
)。
INT 21H/AH=42H
的说明如下:

CX:DX
=(有符号)距新文件位置原点的偏移量


通过设置
cx=0
指定的是正偏移量0x0000FFFD(65533),而不是负偏移量-3(0xfffffd)。您应该改为设置
cx=0xFFFF
(也可以表示为
cx=-1
)。
INT 21H/AH=42H
的说明如下:

CX:DX
=(有符号)距新文件位置原点的偏移量


通过设置
cx=0
指定的是正偏移量0x0000FFFD(65533),而不是负偏移量-3(0xfffffd)。您应该改为设置
cx=0xFFFF
(也可以表示为
cx=-1
)。
INT 21H/AH=42H
的说明如下:

CX:DX
=(有符号)距新文件位置原点的偏移量

通过设置
cx=0
指定的是正偏移量0x0000FFFD(65533),而不是负偏移量-3(0xfffffd)。您应该改为设置
cx=0xFFFF
(也可以表示为
cx=-1