Код для печати строки из текстового файла - PullRequest
0 голосов
/ 28 апреля 2018

Я учу ассемблер в этом году, и я не знаю, как напечатать строку из текстового файла, как это сделать ??

Я учусь в программе Notepad ++ и запускаю программу в DOS Box 8086

Спасибо за помощников ..

proc OpenFile
; Open file for reading and writing
    mov ah, 3Dh
    mov al, 2
    mov dx, offset filename
    int 21h
    jc openerror
    mov [filehandle], ax
    ret
openerror:
    mov dx, offset ErrorMsg
    mov ah, 9h
    int 21h
    ret
endp OpenFile
proc WriteToFile
; Write message to file
mov ah,40h
mov bx, [filehandle]
mov cx,12
mov dx,offset user_name
int 21h
ret
endp WriteToFile

proc CloseFile
       doPush ax,bx
; Close file
mov ah,3Eh
mov bx, [filehandle]
int 21h
doPop bx,ax
ret
endp CloseFile

А как читать и печатать из текстового файла ??

1 Ответ

0 голосов
/ 28 апреля 2018

Добавьте процедуру к прочитайте , аналогично той, которую вы получили за написание .

proc ReadFromToFile
; Read message from file
mov ah, 3Fh
mov bx, [filehandle]
mov cx, 12
mov dx, offset user_name
int 21h
ret

Теперь, если user_name было "Supermannix $" (обратите внимание на символ $ в конце!), Вы можете распечатать его на экране, используя

mov dx, offset user_name
mov ah, 09h
int 21h

Один из ваших предыдущих вопросов получил хороший ответ Сеп Роланд , но я не вижу, чтобы вы извлекли уроки из этого. Это означает, что ваша текущая OpenFile процедура все еще демонстрирует ту же проблему сообщения об ошибках, для которой вы получили решение в этом ответе - которую, кстати, вы уже могли принять! (Просто нажмите на галочку слева)

...