![]() |
|
![]() ![]() ![]() |
|
xseroxas |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 23.9.2007 Репутация: нет Всего: нет |
вобщем проблема состоит в том что мне надо читать файл с конца насколко я понимаю надо послат сам курсор в конец
с помощю команды
но непанимаю как потом мне передвигиватса по файле ровно на столко на сколко мне надо например на 20h зарание блогадарен |
|||
|
||||
xseroxas |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 23.9.2007 Репутация: нет Всего: нет |
насколко я уже разобрался кырсор отаправлаю с помощю 42н функцыйи потом пишу dec ax насколко я панимаю должно мен одпечатать последний символ из моего файла но он нечего непечатает почему или я нитак панимаю
|
|||
|
||||
dumb |
|
||||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 7 Всего: 158 |
функция 42h устанавливает позицию в файле относительно начала(al=0)/текущей позиции(al=1)/конца файла(al=2). относительное смещение указывается в паре регистров CX:DX(32 бита) и является знаковым - т.е. можно, например, сместиться на -2 байта относительно текущей позиции: al=1, cx:dx=-2{FFFFFFFE, т.е. cx=FFFF(-1), dx=FFFE(-2)}
возвращенное функцией в регистрах DX:AX 32битное число есть смещение от начала, получившееся после позиционирования. ты своим dec ax просто изменил число возвращенное функцией. позиция в файле от этого, очевидно, не меняется и остается по прежнему на конце файла, откуда прочитать ты ничего уже не можешь... чтобы поменять позицию в файле, нужно после твоего dec ax запихать это число опять в cx:dx и заново вызвать функцию позиционирования(только на этот раз - от начала файла):
или просто сразу установить позицию -1 от конца:
|
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Asm для начинающих" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm для начинающих | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |