Помогите советом!
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
Ввожу строку, но программа заканчивает работу, ничего не выводя на экран.
Пожалуйста, подскажите, что в ней не так?
Кхе... Может не туда вставила? (я про программку, если что).
mov dx,OFFSET ReverseString
"вставила" (в программу, не беспокойтесь) int 21h
Лучше бы дельное чего сказали
Лучше бы дельное чего сказали
[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.., лучше бы дельное че вставляли :)
И что, этот форум только для корифеев низкоуровневого программирования, где делятся исключительно полезными и красивыми приемами, а над новичками глумятся? Тогда поищу другой. Любуйтесь собой и дальше, мальчики!
И что, этот форум только для корифеев низкоуровневого программирования, где делятся исключительно полезными и красивыми приемами, а над новичками глумятся? Тогда поищу другой. Любуйтесь собой и дальше, мальчики!
конечно. И у каждой бляди мы интересуемся кто мы и что она о нас думает. Разве ты не знала?
Модераторы, где вы?
модераторы херней, простите, страдают.
+1. kot_ явно не в духе сегодня [COLOR="Gray"](и последнее время вообще)[/COLOR]
отчего же? не я вполне в духе и силе. и конечно меня беспокоит мнение разных блядей разного пола - я ж просто без того спать не могу. :)
В декабре будет запущена первая версия стратегической игры, в работе еще 4 больших проекта, так что есть конечно время мне расстраиваться и быть не в духе.
Впрочем, вряд ли тебя волнует моё мнение, судя по тому же посту выше, так что...
p.s: кстати, рад, что игру не постигла участь на полке, мне почему-то казалось, что к этому всё шло. успехов в развитии.
P.S. И еще: вопрос по вакансии местного модератора открыт. Обращайтесь в администрацию. Во избежание недоразумений, лучше обращаться через авторитетного модератора.
А теперь можете делать со мной, что хотите, все равно от вас толку НОЛЬ во всех смыслах
А теперь можете делать со мной, что хотите, все равно от вас толку НОЛЬ во всех смыслах
Да никто не будет с вами ничего делать. Из брезгливости.
Если в вашем повседневном лексиконе присутствуют "мудаки", "бляди", "анальные проходы" и "никчемные члены", то вы сами знаете своё место.
Я вас поздравляю с полным баном.
З.Ы. Еще раз поднимаю вопрос о модераторе. Пишите, рассмотрим.
Взаимоисключающие параграфы?
Таки от форумчан есть толк, нэ?
kate_kate_kate, я уверен, вы ещё здесь появитесь. Под другим ником, но ещё не раз зададите вопрос. Не здесь, так на другом программерском форуме. Самой-то думать лень, проще истерику закатить...