Код (Text): .model small code segment assume CS:code,DS:data main proc mov ax,data mov ds,ax begin: mov ax,0003h int 10h mov ah,09h mov dx,offset msg int 21h mov ah,03Fh mov cx,10 mov dx,offset buf int 21h ;как правильно считать количество введенных символов ;если я ввожу 5 символов как сделать так чтобы при ;выводе на buf вывелись только введенные символы, а не весь буфер ;и почему происходит так, что если я ввожу инфы больше чем на 10 байт ; при следующей загрузке проги в память выводятся символы, ;которые имели порядок больше 10? mov ax,4C00h int 21h main endp code ends data segment msg db 'Enter your string: ',10,13,'$' buf db 10 dup (0) data ends stk segment stack db 128 dup (?) stk ends end main
Код (Text): mov ah,03Fh mov cx,10 mov dx,offset buf int 21h DOS Fn 3fH: читать файл через описатель функция DOS Fn 0aH: ввод строки в буфер поможет
Нихрина вопроса не понял 3Fh - хорошая функция, если bx == 0. А у rubic_ там что? В AX что-то возвращается Точно не понял. После ввода строки откуда-то (bx=?) сразу выход из программы. А как вы хотите вывести buf? Это как? Как связаны последовательные загрузки программы?