Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите советом!

62K
25 августа 2010 года
kate_kate_kate
6 / / 25.08.2010
Начала изучать ассемблер, установила Turbo Assembler 5.0. Во многих источниках приводятся простые программки, они ассемблируются, компонуются, но некорректно выполнябтся. Вот например:
DOSSEG
.MODEL SMALL
.STACK 100h
.DATA
MAXIMUM_STRING_LENGTH EQU 1000
StringToReverse DB MAXIMUM_STRING_LENGTH DUP (?)
ReverseString DB MAXIMUM_STRING_LENGTH DUP (?)
.CODE
L1:
mov ax,@Data
mov dx,ax ; установить регистр DS таким образом, чтобы он указывал
mov ah,3fh ; функция DOS чтения ввода
mov bx,0 ; описатель стандартного ввода
mov cx,MAXIMUM_STRING_LENGTH ; считать до максимального числа символов
mov dx,OFFSET StringToReverse ; сохранить строку
int 21h ; получить строку
and ax,ax ; были считаны символы?
jz Done ; нет, конец
mov cx,ax ; поместить длину строки в регистр СХ, который можно использовать, как счетчик
push cx ; сохранить в стеке длину строки
mov bx,OFFSET StringToReverse
mov si,OFFSET ReverseString
add si,cx
dec si ; указывает на конец буфера строки
ReverseLoop:
mov al,[bx] ; получить следующий символ
mov [si],al ; сохранить символы в обратном порядке
inc bx ; указатель на следующий символ
dec si ; указатель на предыдущую ячейку buffer
loop ReverseLoop ; переместить следующий символ, если он имеется
pop cx ; извлечь длину строки
mov ax,40h ; функция записи DOS
mov bx,1 ; описатель стандартного вывода
mov dx,OFFSET ReverseString ; напечатать строку
Done:
mov ah,4ch ; функция DOS завершения программы
int 21h ; завершить программу
END L1

Ввожу строку, но программа заканчивает работу, ничего не выводя на экран.
Пожалуйста, подскажите, что в ней не так?
297
25 августа 2010 года
koodeer
1.2K / / 02.05.2009
У вас пропущен вызов собственно функции вывода. Перед Done должно быть int 21h;
62K
27 августа 2010 года
kate_kate_kate
6 / / 25.08.2010
Спасибо, вставила, все равно не помогло. :(
9
27 августа 2010 года
Lerkin
3.0K / / 25.03.2003
Цитата: kate_kate_kate
Спасибо, вставила, все равно не помогло. :(


Кхе... Может не туда вставила? (я про программку, если что).

62K
27 августа 2010 года
kate_kate_kate
6 / / 25.08.2010
Очень смешно! Там что, перед Done так много места? после
mov dx,OFFSET ReverseString
"вставила" (в программу, не беспокойтесь) int 21h
Лучше бы дельное чего сказали
14
27 августа 2010 года
Phodopus
3.3K / / 19.06.2008
Цитата: kate_kate_kate

Лучше бы дельное чего сказали


[HTML]
INT 21 - DOS 2+ - "WRITE" - WRITE TO FILE OR DEVICE
AH = 40h
BX = file handle
CX = number of bytes to write
DS:DX -> data to write
Return: CF clear if successful
AX = number of bytes actually written
CF set on error
AX = error code (05h,06h) (see #01680 at AH=59h/BX=0000h)
Notes: if CX is zero, no data is written, and the file is truncated or
extended to the current position
data is written beginning at the current file position, and the file
position is updated after a successful write
for FAT32 drives, the file must have been opened with AX=6C00h with
the "extended size" flag in order to expand the file beyond 2GB;
otherwise the write will fail with error code 0005h (access denied)
the usual cause for AX < CX on return is a full disk
BUG: a write of zero bytes will appear to succeed when it actually failed
if the write is extending the file and there is not enough disk
space for the expanded file (DOS 5.0-6.0); one should therefore check
whether the file was in fact extended by seeking to 0 bytes from
the end of the file (INT 21/AX=4202h/CX=0000h/DX=0000h)
under the FlashTek X-32 DOS extender, the pointer is in DS:EDX
[/HTML]
AH = 40h,
эх kate_kate_kate.., лучше бы дельное че вставляли :)

62K
27 августа 2010 года
kate_kate_kate
6 / / 25.08.2010
А Вы, Phodopus, видимо с молоком матери впитали знания и уже на второй день изучения ассемблера (да нет, наверное через 5 минут) творили шедевры, а главное, без единой ошибки, и только дельные :D.
И что, этот форум только для корифеев низкоуровневого программирования, где делятся исключительно полезными и красивыми приемами, а над новичками глумятся? Тогда поищу другой. Любуйтесь собой и дальше, мальчики!
1
27 августа 2010 года
kot_
7.3K / / 20.01.2000
Цитата: kate_kate_kate
А Вы, Phodopus, видимо с молоком матери впитали знания и уже на второй день изучения ассемблера (да нет, наверное через 5 минут) творили шедевры, а главное, без единой ошибки, и только дельные :D.
И что, этот форум только для корифеев низкоуровневого программирования, где делятся исключительно полезными и красивыми приемами, а над новичками глумятся? Тогда поищу другой. Любуйтесь собой и дальше, мальчики!


конечно. И у каждой бляди мы интересуемся кто мы и что она о нас думает. Разве ты не знала?

62K
27 августа 2010 года
kate_kate_kate
6 / / 25.08.2010
Ну, несмотря на твою очевидно нетрадиционную ориентацию, кот_задрот, все-таки я получила ответ, значит заслужила его, задавая существенный, интересный и наводящий на размышления вопрос — вопрос, неявно дающий сообществу новый опыт, а не просто пассивно требующий от других поделиться знаниями :D :D :D
Модераторы, где вы?
6
27 августа 2010 года
George
4.1K / / 05.01.2007
Цитата: kate_kate_kate
Модераторы, где вы?

модераторы херней, простите, страдают.

253
27 августа 2010 года
Proger_XP
1.5K / / 07.08.2004
Цитата: George
модераторы херней, простите, страдают.


+1. kot_ явно не в духе сегодня [COLOR="Gray"](и последнее время вообще)[/COLOR]

1
27 августа 2010 года
kot_
7.3K / / 20.01.2000
Цитата: Proger_XP
+1. kot_ явно не в духе сегодня [COLOR="Gray"](и последнее время вообще)[/COLOR]


отчего же? не я вполне в духе и силе. и конечно меня беспокоит мнение разных блядей разного пола - я ж просто без того спать не могу. :)
В декабре будет запущена первая версия стратегической игры, в работе еще 4 больших проекта, так что есть конечно время мне расстраиваться и быть не в духе.

253
27 августа 2010 года
Proger_XP
1.5K / / 07.08.2004
Ну, я просто говорю, что вижу. Я сегодня минимум дважды прочитал "х*рня" в твоих постах. А пост выше так вообще на гране фола. Скажешь, нормально?
Впрочем, вряд ли тебя волнует моё мнение, судя по тому же посту выше, так что...

p.s: кстати, рад, что игру не постигла участь на полке, мне почему-то казалось, что к этому всё шло. успехов в развитии.
9
27 августа 2010 года
Lerkin
3.0K / / 25.03.2003
Раз местный модераториум на [COLOR="Silver"]не[/COLOR]заслуженном отдыхе, я взял на себя смелость прекратить это робкое лебезение большинства перед (виртуальной) самкой человека и решить вопрос малость жестче обычного. Нарушение выписал. Можете не соглашаться.

P.S. И еще: вопрос по вакансии местного модератора открыт. Обращайтесь в администрацию. Во избежание недоразумений, лучше обращаться через авторитетного модератора.
62K
28 августа 2010 года
kate_kate_kate
6 / / 25.08.2010
О, Lerkin! В полку виртуальных педерастов прибыло! То-то тебя так волнует место, куда "вставляют" :D:D:D:D Да вас даже самцами не назовешь, извращенцы несчастные! Взрослые мудаки, лучше бы правда нашли себе блядь и оттрахали его до кровавых мозолей на своих никчемных членах (ну или в своих анальных проходах), чем получать сомнительное удовольствие от круглосуточного дрочения на форумах и зарабатывать мозоли на ладонях
А теперь можете делать со мной, что хотите, все равно от вас толку НОЛЬ во всех смыслах
9
28 августа 2010 года
Lerkin
3.0K / / 25.03.2003
Цитата: kate_kate_kate
О, Lerkin! В полку виртуальных педерастов прибыло! То-то тебя так волнует место, куда "вставляют" :D:D:D:D Да вас даже самцами не назовешь, извращенцы несчастные! Взрослые мудаки, лучше бы правда нашли себе блядь и оттрахали [SIZE="4"]его[/SIZE] до кровавых мозолей на своих никчемных членах (ну или в своих анальных проходах), чем получать сомнительное удовольствие от круглосуточного дрочения на форумах и зарабатывать мозоли на ладонях
А теперь можете делать со мной, что хотите, все равно от вас толку НОЛЬ во всех смыслах


Да никто не будет с вами ничего делать. Из брезгливости.
Если в вашем повседневном лексиконе присутствуют "мудаки", "бляди", "анальные проходы" и "никчемные члены", то вы сами знаете своё место.
Я вас поздравляю с полным баном.

З.Ы. Еще раз поднимаю вопрос о модераторе. Пишите, рассмотрим.

297
28 августа 2010 года
koodeer
1.2K / / 02.05.2009
Цитата: kate_kate_kate
все-таки я получила ответ


Цитата: kate_kate_kate
все равно от вас толку НОЛЬ


Взаимоисключающие параграфы?
Таки от форумчан есть толк, нэ?



kate_kate_kate, я уверен, вы ещё здесь появитесь. Под другим ником, но ещё не раз зададите вопрос. Не здесь, так на другом программерском форуме. Самой-то думать лень, проще истерику закатить...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог