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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2008, 17:46   #1
nikleb
Форумчанин
 
Регистрация: 04.04.2007
Сообщений: 131
По умолчанию Как перейти на следущюю строку?

Код:
mov cx, 5h
label1:
jcxz ex
sub cx, 1;
	pop dx    
    mov ah, 2h
    int 21h
jmp label1
ex:
Зделал такой цикл, как зделать чтоб каждая буква выводилась на новой строке?

Последний раз редактировалось rpy3uH; 11.03.2008 в 19:46.
nikleb вне форума Ответить с цитированием
Старый 16.06.2008, 19:06   #2
A$$em[es:di]bler's
Новичок
Джуниор
 
Аватар для A$$em[es:di]bler's
 
Регистрация: 16.06.2008
Сообщений: 2
По умолчанию ответ

В твоеи проге мне непонятна 1 вещь:
Ведь функция dos 02h прерывания 21h - ввод ah=02h,dl=код символа
для вывода символа на дисплей .Зачем восстанавливать dx из стека?
да и цикл можно сделать куда проще.
########
короче-смотри primer.там есть версия для fasm и masm вывода букв на экран в столбик с использованием управляющих символов
########
хочеш подробнее о управляющих символах-читай help во вложенных файлах (разделы помощи->CRLF)
Вложения
Тип файла: rar primer.rar (941 байт, 74 просмотров)
Тип файла: rar help.rar (155.2 Кб, 43 просмотров)

Последний раз редактировалось A$$em[es:di]bler's; 16.06.2008 в 19:16.
A$$em[es:di]bler's вне форума Ответить с цитированием
Старый 16.06.2008, 21:19   #3
Sharaevsky_Vitaly
Пользователь
 
Регистрация: 23.05.2008
Сообщений: 26
По умолчанию

вот код - аналог "\n" в Си (переход на начало новой строки):

используется прерывание BIOS 10H
использует текущую страницу дисплэя
в процедуре используются регистры : AX (предидущее знач.автомат.сохран.в стеке и автомат.восстанавл.)

; asm Код:

Код:
NEW_LINE PROC NEAR  

   PUSH AX   ; сохранение предидущего значения АХ в стеке
  
   MOV AH, 0EH   ; писать символ на активную видео страницу (эмуляция телетайпа), инициатор - прерывание 10Н    
   MOV AL, 0AH   ; перевод строки    
   INT 10H        

   MOV AH, 0EH   ; писать символ на активную видео страницу (эмуляция телетайпа), инициатор - прерывание 10Н    
   MOV AL, 0DH   ; возврат каретки    
   INT 10H        

   POP AX   ; восстановление АХ
   RET

NEW_LINE ENDP

Последний раз редактировалось B_N; 16.06.2008 в 22:42.
Sharaevsky_Vitaly вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перейти по ссылке (URL) Avron Общие вопросы Delphi 3 22.12.2008 16:56
Как перейти к определенной строчке в Memo DmT Общие вопросы Delphi 5 08.07.2008 21:50
заставить компьютер перейти в спящий и ждущий режим Никки Win Api 8 03.12.2007 08:47
Как при использовании FileWrite перейти на новую строку? Artem Win Api 4 03.09.2007 17:02