2014-12-03 3 views
0

8086에서 한 줄씩 어떻게 읽을 수 있습니까? 나뿐만 마크와 이름을 읽을 수 :줄 단위로 파일에서 어셈블리 파일로 읽기

Saleem Atia 79 
Fadi Jameel 50 
Hamad Mohsen 90 
Maen Mohamamd 97 
Yezan Safi 87 
Sufyan Naim 88 
Mohammad Mosa 32 
Amera Skafe 65 
Mohammad Akr 90 

내가 어떻게 할 수 있습니까? 이 코드를 사용하지만, 그것은 작동하지 않습니다

.model small 
.stack 100 
.data 

    fname1 db "Gr_Sec1.txt",0 
    fname2 db "Gr_Sec2.txt",0 
    fname3 db "Gr_Sec3.txt",0 
    text db 100 
     db 0 
      db 100 dup(0) 
    fhand dw ? 

.code 
    mov ax,@data 
    mov ds,ax 

    mov ah,3dh 
    mov al,0 
    lea dx,fname1 
    int 21h 
    mov fhand,ax 
    mov si,0 
L: 

    mov ah,3fh 
    mov bx,fhand 
    mov cx,1 
    lea dx,text+si 
    int 21h 
    cmp ax,0 
    JE EXIT 
    INC SI 
    JMP L 

EXIT: 

    MOV BYTE PTR text+si,"$" 
    MOV AH,3EH 
    INT 21H 

    mov ah,9 
    lea dx,text 
    int 21h 

    mov ah,4ch 
    int 21h 
end 
+2

어떻게 작동하지 않습니까? 프로그램을 디버깅 했습니까? 다른 사람들이 당신을 도우려면 코드에 주석을 달아 라. – Jester

답변

0

내가 코드에서 오류를 찾을 수없는,하지만 어쩌면 파일이 같은 디렉토리에서 찾을 수 없습니다로드. 이것은 OPEN 인터럽트 호출 후에 캐리 플래그로 점검 할 수 있습니다. CF가 성공하면 취소하고 그렇지 않으면 오류가 발생합니다. 그리고 실행 파일은 리얼 모드 나 v86 모드가 필요합니다. 64 비트 윈도우의 경우 DOSBOX와 같은 에뮬레이터가 필요합니다.

프로그램을 실행 한 후 콘솔 화면에 표시되는 내용은 무엇입니까?