Создание папки - Assembler

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

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

Как сделать создание папки с названием, которое вводит пользователь? Нашел вот такое:
CSEG segment
org 100h
 
start:
mov ah, 9
mov dx, offset msg
int 21h
 
mov ah, 0ah
mov dx, offset nam1
int 21h
 
mov ah, 39h
mov dx, offset nam1
int 21h
 
int 20h
 
msg db 'Enter dir: $', 0
nam1 db 40, 0, 40 dup(?)
 
CSEG ends
end start
Но оно не работает. Как правильно? И что вообще значит эта строка
nam1 db 40, 0, 40 dup(?)
?

Решение задачи: «Создание папки»

textual
Листинг программы
mov ah,39h
mov dx,offset nam1+2
int 21h

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

  1. mov ah,39h - переменной ah присваивается значение 39h (это код функции создания папки).
  2. mov dx,offset nam1+2 - переменной dx присваивается смещение (offest) переменной nam1 плюс 2. nam1 - это имя папки, которую мы хотим создать, а 2 - это смещение в байтах в этой переменной, где хранится первая буква имени папки.
  3. int 21h - происходит вызов функции BIOS, которая создает папку с именем, хранящимся в переменных ah и dx.

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


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

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

5   голосов , оценка 4.2 из 5