Хелпикс

Главная

Контакты

Случайная статья





push DX. mov DL, letter. print_mes macro message. local msg, nxt. push AX. push DX. mov DX, offset msg. mov AH, 09h. jmp nxt. print_letter CR. print_letter LF. mov AH, 0Ah. mov DX, offset FileName. print_letter CR. print_letter LF. xor BH, BH. mov FileNam



push DX

mov DL, letter

mov AH, 02

int 21h

pop DX

pop AX

endm

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

print_mes macro message

local msg, nxt

push AX

push DX

mov DX, offset msg

mov AH, 09h

int 21h

pop DX

pop AX

jmp nxt

msg DB message,'$'

nxt:

endm

;

;===============================================================

start:

print_letter CR

print_letter LF

print_mes 'Input File Name > '   

mov AH, 0Ah

mov DX, offset FileName

int 21h

print_letter CR

print_letter LF

;===============================================================

xor BH, BH

mov BL, FileName[1]

mov FileName[BX+2], 0

;===============================================================

mov AX, 3D02h    ; Open file for read/write

mov DX, offset FileName+2

int 21h

jnc openOK

print_letter CR

print_letter LF

print_mes 'openERR'

int 20h

;===============================================================

openOK:

print_letter CR

print_letter LF

print_mes 'openOK'

mov AX, 4C00h

int 21h

;

FileName DB  14,0,14 dup (0)

code_seg ends

    end start

    

    

Поле

 

FileName DB  14,0,14 dup (0)

Определено так – сначала 14 десятичных это максимальная длина строки. Затем 0 – байт для длины строки, которая будет действительно введена и затем 14 нулевых байтов для строки.

 

Заметим, что если строка для ввода будет определена следующим образом

 

FileName DB  20 dup (‘ ‘)

Как 20 пробелов. То ошибки при использовании функции 0Ah не будет, т.к. ASCII код пробела 32 (20h) будет интерпретирован как максимальная длина строки. Правда сама строка может быть максимум только 32-3 = 29 знаков без знака 0Dh (Enter).

 

 

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.