使用汇编语言向后移动指针

时间:2015-04-02 06:49:15

标签: 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



        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

但这并没有在控制台上显示任何内容。我不知道我哪里出错了。

1 个答案:

答案 0 :(得分:3)

INT 21H / AH=42H的说明:

  

CX:DX =(签名)偏离新文件位置的原点

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