LINUX.ORG.RU

adm + dos + check cf


0

0

Как проверить состояние бита cf?

Например после создания файла файла:

mov ah, 3ch
mov dx, offset fpath
mov cl, 0b; w
int 21h

В cf будет 0 если файл удалось создать и 1 если не удалось.

Хотелось бы выйти если файл не удалось создать. Как-нибудь так:

and cf, 1b
jnz exit

Но cf это не регистр а бит. Как его проверить?

>Как его проверить?

Почитать что такое "условный переход" и как он работает.

Если не терпится, то есть мнемоники jc/jnc.

И как совет: поверь моему опыту, ассемблер - не труЪ. Тем более интеловский под DOS. Хочешь изучать асм, так изучай под любой микроконтроллер (в эмуляторе). Да и то, даже на сегменте МК асм давно вытеснила С, а скоро и Java. Не трать время на ерунду, его слишком мало.

Macil ★★★★★
()

Варианты:

1. посмотреть команды условных переходов, они проверяют состояние флагов. В данном случае скорее всего (я уже не помню, могу ошибатся) нужно что-то типа jbe, jle.

2.
pushf
pop ax

generatorglukoff ★★
()
Ответ на: комментарий от Macil

>И как совет: поверь моему опыту, ассемблер - не труЪ. Тем более интеловский под DOS. Хочешь изучать асм, так изучай под любой микроконтроллер (в эмуляторе). Да и то, даже на сегменте МК асм давно вытеснила С, а скоро и Java. Не трать время на ерунду, его слишком мало.

Ассемблер - как матан. Сомнительно, что в жизни пригодился, но без него мозги совсем не те.

А использование эмуляторов при рабочей железке больше похоже на противоестественный секс и просто не интересно =) Давайте уж лучше на десктопе либо предоставьте схему дешевой (не более 10-20$) МК девайсины.

generatorglukoff ★★
()
Ответ на: комментарий от Macil

Thnx jc/jnc это то что нужно.

> И как совет: поверь моему опыту, ассемблер - не труЪ.
Да это курс в инстике. Надо сдать. Насчет изучать буду читать Абеля на остановках.

dissident ★★
() автор топика
Ответ на: комментарий от generatorglukoff

Да без проблем: практически любой современный МК подключается без внешнего кварца и прочей обвязки, и поддерживает внутрисхемное программирование.

>Ассемблер - как матан...

Не соглашусь (но тему развивать не буду), я нисколько не отрицаю нужность изучения _разнообразных_ языков программирования и различных парадигм.

Просто писать в 16-bit real-mode в наши времена -- курам на смех. А писать что-то под "винду"/"линукс" на асме, так это борьба с операционной системой, а не взаимодействие. А писать в protected mode без ОС - это все-таки, согласись, сложновато.

Macil ★★★★★
()
Ответ на: комментарий от dissident

>Да это курс в инстике. Надо сдать.

Ааа понял. Есть еще убойная книга Ф.К. Финогенова "Самоучитель по системным функциям MS-DOS", не смотри на ее название это как раз то, что нужно. Когда-то настольная книга начинающего вирусописателя.

Macil ★★★★★
()
Ответ на: комментарий от anonymous

А кто-то щас кодеки на асме пишет? Всмысле без ассемблерных вставок в особо критичных местах, а именно на чистом асме?

Macil ★★★★★
()
Ответ на: комментарий от Macil

> И кстати, я не говорил, асм не нужен.
все-таки на сегодняшний день подавляющее большинство BIOS-ов - это чистый ассемблер
LinuxBIOS скорее исключение, чем правило

rei3er
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.