Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Ассемблер? Это просто! Учимся программировать


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 830
от 18.08.2007, 14:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 398, Экспертов: 23
В номере:Вопросов: 1, Ответов: 1


Вопрос № 98227: --------------------------------------------------------------------- Мой вопрос: Здраствуйте, доспустим я сделал так: mov dl, 1 В регистр dl присвоил 1, а как потом отобразить число 1 в окне? пробовал так mytext db dl,'$' не получи...

Вопрос № 98.227
---------------------------------------------------------------------
Мой вопрос:
Здраствуйте, доспустим я сделал так: mov dl, 1
В регистр dl присвоил 1, а как потом отобразить число 1 в окне?
пробовал так mytext db dl,'$' не получилось.
Вопрос отправлен: 12.08.2007, 07:07


--------------------------------------------------------------------------------
Отвечает: Зенченко Константин Николаевич (>>)
Здравствуйте, Memory!

На экран выводятся символьное представление числа ( кода ),
к примеру:
mov ah,02h
mov dl,01h
int 21h
на экране будет "рожица"

или
mov ah,02h
mov dl,31h
int 21h
на экране будет цифра "1"

В ассемблере в отличии от языков высокого уровня, вся организация ввода-вывода ложится на плечи программиста.
Можно ошибится в одном байте ( вместо функции-09h записать другую или в выводимом тексте функции-09h забыть поставить в конце "$" ) и на экране будут "крякозяблы".
Удачи!

Ответ отправлен: 13.08.2007, 11:54
---------------------------------------------------------------------

Дело в том, что у меня есть цикл, и "пеменная" dl, меняется каждый раз, т.е используется: inc dl
Так мне нужно выводить каждый раз новое значение dl.
Отправлен: 13.08.2007, 14:34
Вопрос задал: Memory (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Memory!

I-вариант
;начальные парметры
xor dl,dl;dl=0
mov si,offset myText
mov cx,0ffh
;сам цикл
myLoop:
mov [si],dl
inc si
inc dl
loop myLoop
;вывод строки
mov byte ptr[si],'$'
mov ah,09h
mov dx,offset myText
int 21h

II-вариант
;начальные параметры
mov si,offset myText+0FFh
mov cx,0ffh
std
mov al,'$'
;сам цикл
myLoop:
stosb
mov al,cl
stosb
loop myLoop
;вывод строки
inc si
mov ah,09h
mov dx,si
int 21h

PS:вывод будет до первого знака '$'
Удачи!

---------
И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Специалист)
Ответ отправлен: 13.08.2007, 15:21


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.54 beta от 01.08.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное