سلام
این برنامه باید یک Ùایل را باز کند Ùˆ در انتهای آن یک متن را اضاÙÙ‡ کند.اما درست این کار را انجام نمیدهد.
در ضمن بعد میخواهم این متن را بخوانم.
این برنامه باید یک Ùایل را باز کند Ùˆ در انتهای آن یک متن را اضاÙÙ‡ کند.اما درست این کار را انجام نمیدهد.
در ضمن بعد میخواهم این متن را بخوانم.
کد PHP:
TITLE 'disk_prg.asm' disk programming
;-----------------------------------------------
.MODEL SMALL
.STACK 64
;-------------------DATA SEGMENT----------------
.DATA
HANDLE DW ? ;File handle
PATHNAM DB '1.txt',00H ;Path of file
NAMES DB 'UNIVERSITY OF TEHRAN','$' ;File
NAME2 DB 20 DUP(' '),'$'
;-------------------MAIN PROCEDURE--------------
.CODE
MAIN PROC FAR
MOV AX,@data ;1-Initialize segment
MOV DS,AX ;2- registers
;----------------------
CALL OPEN1
CALL WRITE1
CALL CLOSE1
; Clear screen
MOV AX,0700H ;9-AL=7H
MOV BH,07H ;10-White on black
MOV CX,0000 ;11-Up left corner
MOV DX,18F8H ;12-Right down corner
INT 10H ;13-Invoke interrupt
; Write new file on monitor
LEA DX,NAME2 ;14-DX= NAME2
MOV AH,09H ;15-AH=09H
INT 21H ;16-Invoke interrupt
;
MOV AX,4C00H ;17-End of
INT 21H ;18- processing
MAIN ENDP
;--------------------- Open file-------------------------------
OPEN1 PROC NEAR
MOV AH,3DH ;Request open
MOV AL,01 ; normal file
LEA DX,PATHNAM ;DX point to ASCIIZ
INT 21H ;Invoke interrupt
MOV HANDLE,AX ;Save handle,
RET ;Return
OPEN1 ENDP
;-----------------------Write disk record-------
WRITE1 PROC NEAR
MOV AH,40H ;Request write
MOV BX,HANDLE ;Use HANDLE
MOV CX,20 ;Number of characters
LEA DX,NAMES ;DX point to buffer NAMES
INT 21H ;Invoke interrupt
RET ;Return
WRITE1 ENDP
;-----------------------Close disk file-----------------------------
CLOSE1 PROC NEAR
MOV AH,3EH ;Request close
MOV BX,HANDLE ;Use HANDLE
INT 21H ;Invoke interrupt
RET ;Return
CLOSE1 ENDP
;-------------------------END OF PROGRAM-------------------------------------
END MAIN
Comment