我有一段看起来像这样的代码:
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”,如何比较角色本身?)
我感谢你的帮助。