키보드 입력에서 파일 이름을 읽은 다음 화면에이 파일의 짝수 라인을 인쇄해야합니다. int의 3dh 함수를 사용하여 파일을 열었습니다 21h,하지만 내 질문에 짝수 라인을 인쇄하기 위해 한 줄씩 읽는 방법은 무엇입니까? 캐리지 리턴이나 라인 피드를 사용하는 방법을 정확히 이해하지 못했습니다. 여기에 내가 지금까지 한 일이다 :어셈블리의 파일에서 짝수 행을 읽습니다.
assume cs:code, ds:data
data segment
msg db 'Give the name of the file: $'
fileName db 12,?,13 dup (?)
buffer db 21 dup (?)
openErrorMsg db 'The file does not exist.$'
handler dw 0
data ends
code segment
start:
mov ax, data
mov ds, ax
mov ah, 09h
mov dx, offset msg
int 21h
mov ah, 0ah
mov dx, offset fileName
int 21h
mov bl, fileName[1]
mov bh, 0
add bx, offset fileName
add bx, 2
mov byte ptr [bx], 0
mov ah, 3dh
mov al, 0
mov dx, offset fileName+2
int 21h
jc openError
; ?? -
openError:
mov ah, 09h
mov dx, offset openErrorMsg
int 21h
jmp endPrg
endPrg:
mov ah, 3eh
mov bx, handler
int 21h
mov ax,4c00h
int 21h
code ends
end start
INTERRUP.F 당신이 Apparantly 히 붙어있는 시점에서 첫 번째 작업으로 반환 된 핸들을 저장하는 것을 잊지 마십시오. 그런 다음 Dirk Wolfgang Glomp가 제공 한 조언을 사용하여 파일을 처리하십시오. –