TASM指向char或position

时间:2015-12-14 14:10:04

标签: assembly x86 tasm

我有一段看起来像这样的代码:

copy_line PROC near
    push si
    mov currentline_offset, 0

copy_line_copy:
    mov ax, buffer_len
    cmp buffer_offset, ax
    jl copy_line_tesk

    mov buffer_offset, 0
    mov bx, sourceFHandle
    mov dx, offset buffer       ; address of buffer in dx
    mov cx, len                 ; kiek baitu nuskaitysim
    mov ah, 3fh             ; function 3Fh - read from file
    int 21h
    ;jc error
    cmp ax, 0
    je copy_line_end
    mov buffer_len, ax

copy_line_tesk:
        mov si, offset buffer
    add si, buffer_offset
    mov ax, ds:[si]

    mov si, offset currentline
    add si, currentline_offset
    mov byte ptr ds:[si], al

    inc currentline_offset
    inc buffer_offset
    cmp ax, 13
    jne copy_line_copy

copy_line_end:
    pop si
    ret
copy_line ENDP

想法是读取一行,指向行尾的指针,处理信息(要添加的内容),然后输出两个结果中的一个(也要添加)。然后它读取下一行并重复。

我有两个问题: 1)指针是指向符号,还是指向该位置的数字? (即,如果这条线是“Aerosmith”,指针是指“A”和“H”还是“1”和“9”? 2)我如何比较指向不指向的两个指针(即如果它们指向“A”和“H”,我如何比较它们相对于彼此的位置?或者,如果它们是指着“1”和“9”,如何比较角色本身?)

我感谢你的帮助。

0 个答案:

没有答案