Считывание чисел из файла - Assembler/TASM

Узнай цену своей работы

Формулировка задачи:

Я знаю как считать число из файла, но не знаю как считать несколько чисел. Может кто обьяснить как это сделать?

Решение задачи: «Считывание чисел из файла»

textual
Листинг программы
mov ax,3d00h
  lea dx,(имя файла)
  int 21h
  jc exit
  mov bx,ax      
  xor cx,cx
  xor dx,dx
  mov ax,4200h
  int 21h
    out_str:
  mov ah,3fh      
  mov cx,1        
  lea dx,buf      
  int 21h         
  cmp ax,cx       
  jnz close       
  mov al,buf
  sub al, 30h

Объяснение кода листинга программы

  1. Вначале программа устанавливает значение регистра AX в 3D00H. Это используется для открытия файла.
  2. Затем программа использует LEA для загрузки имени файла в DX.
  3. После этого происходит вызов функции 21H, которая открывает файл. Если файл не может быть открыт, происходит переход к метке exit.
  4. Далее, значение регистра BX устанавливается равным значению регистра AX. Это значение будет использоваться для чтения данных из файла.
  5. Значения регистров CX и DX обнуляются.
  6. Затем программа устанавливает значение регистра AX в 4200H. Это используется для чтения данных из файла.
  7. После этого происходит вызов функции 21H, которая начинает чтение данных из файла.
  8. Регистр AX используется для подсчета количества прочитанных байтов.
  9. Происходит переход к метке out_str, если файл пуст.
  10. Затем программа устанавливает значение регистра AH в 3FH. Это используется для чтения символа из файла.
  11. Значение регистра CX устанавливается равным 1.
  12. Регистр DX используется для хранения прочитанного символа.
  13. Происходит вызов функции 21H для чтения символа из файла.
  14. Затем происходит сравнение значения регистра AX и CX. Если они не равны, происходит переход к метке close.
  15. Значение регистра AL устанавливается равным значению регистра DL.
  16. Затем происходит вычитание 30H из значения регистра AL. Это используется для преобразования числового значения в ASCII.
  17. Происходит переход к метке close.
  18. Программа закрывает файл.
  19. Происходит переход к метке exit.
  20. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы