어셈블리에서 파일에서 바이트를 읽은 후 현재 파일 위치가 업데이트됩니다. 해당 바이트를 수정하고 읽은 동일한 위치의 파일에 쓰기보다는 어떻게 할 수 있습니까? 단순히 [0] 읽기 바이트의 ASCII 코드로 다시 파일을 쓰기보다 번호를 추가, x8086어셈블리 파일 내용 수정
READ_LOOP:
MOV AH,3FH
MOV BX, HANDLE
MOV CX, 1
LEA DX, BUFFER
INT 21H
INC SI
;if no byte was read we reached the end of file or an error occured
CMP AL, 1
JB EOF_END_ERR
;write the read content to output
;MOV AH, 02H
;MOV DL, BUFFER
;INT 21H
JMP ENCRYPTING
JMP FINAL
ENCRYPTING:
XOR AX,AX
MOV DL, BUFFER[0]
ADD DL, NUMBER[0]
MOV TEMP, DL
MOV AH, 42H
MOV BX, HANDLE
MOV CX,0FFFFH
MOV DX, 0FFFFH
MOV AL,1
INT 21H
XOR DX,DX
MOV DL, 65
MOV BX, HANDLE
MOV CX,1
MOV AH, 40H
INT 21H
JMP READ_LOOP
나는 위의 코드와 노력에 TASM하고 있어요. 하지만 파일에 기록해야 할 내용을 기록하지 않습니다.
함수 42h를 사용하여 파일 포인터를 뒤로 이동하십시오. – Jester
@Jester 어떻게 1 바이트로 돌아갈 수 있습니까? 예를 들어 주시겠습니까? – dbogdan
Ralf Brown의 인터럽트 목록에서 설명서를 찾으십시오. http://www.ctyme.com/intr/rb-2799.htm –