Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2008, 15:51   #11
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Цитата:
Сообщение от SAVIK Посмотреть сообщение
Спасибо за помощь.
Еще такой вопрос, как проверить четное было число введено или нечетное.
допустим вот я ввел число и сейчас проверяю его вот так:
[code] ........
mov ah, 0h
int 16h
cmp al, '1'
je goto1
cmp al '2'
je goto2
........ [\code]
если 1 иди туда, 2 иди туда, а мне нужно через раз то в 1 метку то во вторую.
А если 3 ?

Число четное, если делится на два. Исходите из этого.
Делить при этом не обязательно. Достаточно проверить младший бит.
alexBlack вне форума Ответить с цитированием
Старый 25.05.2008, 15:56   #12
SAVIK
Пользователь
 
Регистрация: 22.05.2008
Сообщений: 10
По умолчанию

Прошу прощения, можно в двух строчках программы это описать, понимаю что вопрос пустяковый, но тратить на него сейчас время для поиска и понимания в литературе для меня сейчас просто роскошь, можно и час на это убить а то и два
SAVIK вне форума Ответить с цитированием
Старый 25.05.2008, 16:03   #13
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Код:
   test ax, 1
   jz @@111
   ; здесь нечетное

      
 @@111:
   ; здесь четное
alexBlack вне форума Ответить с цитированием
Старый 25.05.2008, 16:30   #14
SAVIK
Пользователь
 
Регистрация: 22.05.2008
Сообщений: 10
По умолчанию

Ух-х спасибо огромное, курсовую почти добил, остались всякие мелочи и шероховатости, но до вторника успею надеюсь отладить.
SAVIK вне форума Ответить с цитированием
Старый 26.05.2008, 09:53   #15
SAVIK
Пользователь
 
Регистрация: 22.05.2008
Сообщений: 10
По умолчанию

Вопрос немного не в тему, но не стал новую создавать.
Вот моя программа делает все свои дела какие ей положены, в конце я создаю файл и записываю туда результат. Название файла и путь к нему прописывается программно.
А могу я создать свой каталог и туда вписать свой файл, или только в существующие на диске можно?
Если есть такая возможность, то она примерно и как создание файла должна уместиться в несколько строк в программе я так думаю. Ни у Абеля ни у Юрова такого ничего не нашел. Такого задания мне не ставилось, но уж очень самому интересно. Если кто может подскажите или кусочек кода подкиньте, а я сам разберусь.
SAVIK вне форума Ответить с цитированием
Старый 26.05.2008, 10:59   #16
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Если файл создавали, то уж с этим-то разберетесь:

INT 21.39 - DOS 2+ - "MKDIR" - CREATE SUBDIRECTORY

AH = 39h
DS:DX -> ASCIZ pathname
int 21h
------------------
PS. Цитируем один документ. Автору будет полезно на него посмотреть:
Interrupt List. Ralf Brown.

Последний раз редактировалось alexBlack; 26.05.2008 в 11:41.
alexBlack вне форума Ответить с цитированием
Старый 26.05.2008, 11:04   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

цитирую некий документ.
Цитата:
INT 21 - DOS 2+ - CREATE A SUBDIRECTORY (MKDIR)
AH = 39h
DS:DX -> ASCIZ pathname (may include drive)
Return: CF set on error
AX = error code (03h,05h) (see AH=59h)
CF clear if successful
Note: all directories in the given path except the last must exist
P.S. НЕ успел )))
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.05.2008, 11:43   #18
SAVIK
Пользователь
 
Регистрация: 22.05.2008
Сообщений: 10
По умолчанию

Спасибо, как создать понятно, а как сделать чтобы файл записывался именно в этот каталог, только прописывать в сегменте данных путь, или как то можно в приведенном коде добавлять в него
Код:
sozd_fail proc
;sozdadim katalog
mov ah,39h
mov cx,10
mov dx, offset filename1
int 21h
;sozdanie faila
mov ah, 3ch
mov cx, 0
mov dx, offset filename
int 21h
mov handle, ax
;zapishem stroku v fail
mov ah, 40h
mov bx, handle
mov cx, stringln
mov dx, offset string
int 21h
;zakroem fail
mov ah, 3eh
mov bx, handle
int 21h
ret
sozd_fail endp
SAVIK вне форума Ответить с цитированием
Старый 26.05.2008, 11:50   #19
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Цитата:
Сообщение от SAVIK Посмотреть сообщение
Спасибо, как создать понятно, а как сделать чтобы файл записывался именно в этот каталог, только прописывать в сегменте данных путь, или как то можно в приведенном коде добавлять в него
Записать путь и имя в сегменте данных - самый простой путь.

Можно и менять - смотрите в сторону строковых операций - lodsb/stosb/movsb

Последний раз редактировалось alexBlack; 26.05.2008 в 13:54.
alexBlack вне форума Ответить с цитированием
Старый 26.05.2008, 12:54   #20
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Записать путь и имя в сегменте данных - самый простой путь.
Я так понял что автору хочется получать текущую директорию. Вот что говорят мануалы:
Цитата:
INT 21 - DOS 2+ - GET CURRENT DIRECTORY
AH = 47h
DL = drive (0=default, 1=A, etc.)
DS:SI points to 64-byte buffer area
Return: CF set on error
AX = error code (0Fh) (see AH=59h)
CF clear if successful
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как запретить/разрешить ввод от клавиатуры любых символов (в том числе и юникодных)? SkAndrew Общие вопросы Delphi 8 15.08.2008 15:30
ввод чисел со знаком... maLoy*508 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 21.05.2008 19:32
ввод данных с клавиатуры juden Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 07.05.2008 18:05
Ввод последовательности чисел POPOV Общие вопросы Delphi 5 16.02.2008 22:13
ввод чисел bruce Microsoft Office Excel 1 08.02.2007 17:58