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

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


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

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

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

Выпуск № 968
от 04.02.2008, 18:35

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

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 120836: Помогите, нужно вычислить c(a+d)/b a,b,c,d заданные числа...
Вопрос № 120855: пожалусто!как можно бестрее напишите в розложеном по полочкам виде програму для вичесления с(a+b) где а b c d заданые числа ! Если можно от начала и до конца!ВЫ моя последняя надежда!!!!...
Вопрос № 120856: ++++++++++СРОЧНО++++++++++ плииииз дайте мне полный код програмы для вычисления a*b/c зарание всеееем спасибо...
Вопрос № 120868: Здравствуйте! 1) первый вопрос я уже задавал, но меня как то не так поняли. Я попытался его изменить. См. приложение 1. Т.е. меня интересует - почему после графического режима не так отображаются русские буквы и можно что-нибудь с этим сделать?<...

Вопрос № 120.836
Помогите, нужно вычислить c(a+d)/b
a,b,c,d заданные числа
Отправлен: 30.01.2008, 12:27
Вопрос задал: NOTCLEAR (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

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

Этот код Вам поможет:
MOV AX,a;загружаем регистры
MOV BX,b
MOV CX,c
MOV DX,d
;вычисления
ADD AX,DX;ax=(a+d)
MUL CX;dx:ax=c*(a+d)
;dx-страшая чатсь произведения
;ax-младшая часть произведения
DIV BX
;ax:=dx:ax div bx-целая часть от деления
;dx:=dx:ax mod bx-остаток от деления

Удачи Вам!
---------
И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Профессионал)
Украина, Киев
Тел.: +380958380164
Адрес: Украина г.Киев
----
Ответ отправлен: 30.01.2008, 12:49
Оценка за ответ: 5


Вопрос № 120.855
пожалусто!как можно бестрее напишите в розложеном по полочкам виде програму для вичесления с(a+b) где а b c d заданые числа ! Если можно от начала и до конца!ВЫ моя последняя надежда!!!!
Отправлен: 30.01.2008, 14:47
Вопрос задала: Richhabibi (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

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

Программа в приложении.
По программе:
1)программа не контролирует число В, т.е. В должно быть не равно 0;
2)при выводе результата после точки выводится остаток от деления на число В.
Удачи!

Приложение:

---------
И только наступив на грабли мы приобретаем драгоценный опыт!

Ответ отправил: Зенченко Константин Николаевич (статус: Профессионал)
Украина, Киев
Тел.: +380958380164
Адрес: Украина г.Киев
----
Ответ отправлен: 04.02.2008, 17:19


Вопрос № 120.856
++++++++++СРОЧНО++++++++++

плииииз дайте мне полный код програмы для вычисления a*b/c зарание всеееем спасибо
Отправлен: 30.01.2008, 14:51
Вопрос задал: 123454321
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Boriss
Здравствуйте, !
Вот, смотри в приложении - вычисление сделано для вещественных чисел с помощью сопроцессора
Если нужно сделать с целыми числами, то можно и с и без сопроцессора
Напиши в минифоруме, если не то написал :))

Приложение:

---------
Вывод - то место в тексте, где вы устали думать

Ответ отправил: Boriss (статус: Профессор)
Россия, Саранск
Организация: Мордовский госуниверситет, Саранск Факультет Электронной Техники
WWW: Программирование на Паскале
----
Ответ отправлен: 30.01.2008, 17:38


Вопрос № 120.868
Здравствуйте!
1) первый вопрос я уже задавал, но меня как то не так поняли. Я попытался его изменить. См. приложение 1. Т.е. меня интересует - почему после графического режима не так отображаются русские буквы и можно что-нибудь с этим сделать?
2) В приложении 2 привожу две программы: а) вычисляю сколько тиков в секунде; б) сколько микросекунд в тике
Запускаю обе программы через Debug (в Windows'е) - т.е. , например, первую запускаю так: " G13c " и в регистре BP смотрю результат (просто я не стал создавать интерфейс по выводу результата на экран).
Так вот по второй программе получаю совершенно не те цифры.
Хотя менял задержки, так же считал сколько ms в секунде, все не так с этими ms.

Приложение:

Отправлен: 30.01.2008, 16:08
Вопрос задал: Бартосик Феликс Михайлович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

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

1)
При установке 3-го текстового видеорежима, видеобуфер начинается с адреса 0B800:0000h, именно сюда и запишется текст "Привет!", при установке 0Dh- графического видеорежима, видеобуфер начинается с адреса 0А000:0000h с размером 320х200/2=3200010=7D00h(разрешение режима умножить на количество байт на точку(в этом режиме один байт на 2-е точки, поэтому делим, в текстовом режиме все по другому 2 байта на знакоместо(мерцание+фон+цвет и код символа))).
Если пересчитать в линейные адреса, то получается 0A7D00h(адрес последнего байта видеобуфера) против 0B8000h(адрес первого байта видеобуфера). Именно поэтому у Вас не отображается информация в графическом режиме, т.к. видеобуфер графического режима пустой.

2)
Числа будут разные, т.к. в первом случае Вы ожидаете 1-у секунду, а во втором ставите задержку в микросекундах(CX:DX=00:01(mov CX,0h;mov DX,1)-интервал ожидания в микросекундах=1, а должно быть CX=0Fh и DX=4240h).
Написанно тоже не очень, можно проще:
а)ожидание новой секунды - получить такты А - ожидание новой секунды - получить такты В. Разница между В и А, даст число тактов в секунде;
в)ожидание новой секунды - получить такты А - задержка на 1-у секунду - получить такты В. Разница между В и А, даст число тактов в секунде.
Полученные разности должны быть почти одинаковыми (различия в единицах, только из-за использования прерываний).
Удачи!
---------
И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Профессионал)
Украина, Киев
Тел.: +380958380164
Адрес: Украина г.Киев
----
Ответ отправлен: 30.01.2008, 21:27
Оценка за ответ: 4
Комментарий оценки:
Здравствуйте Константин Николаевич! Извините, но мы никак не можем найти с Вами общий язык относительно моих вопросов. Мой вопрос № 120868. 1) Я не вывожу текст в графическом режиме. Побывав в нем, возвращаюсь назад в текстовый (у меня же стоит в конце программы "jmp Vasya") и снова вывожу слово "привет". И вот тут будут другие символы, но не какие попало, а соответствующие этому слову, но из другой кодировки (не могу их здесь повторить). 2)Я изучал ah=86h int 15h с целью возможности использования задержки с точностью до микросекунды на практике. Еще раз привожу код в котором внешний цикл - ждем новой секунды для завершения программы. А внутри задержка 100 мкс и наращивание счетчика BP. По завершении я предполагал в BP увидеть 10000d, т.е. 2710h. Получаются числа в районе : 6800h-6a00h. Slovo segment Org 100h Begin: mov AH,2 int 1AH mov Secund,Dh WaitNS2: mov AH,2 int 1AH cmp Dh,Secund jz WaitNS2 ;здесь "синхронизация", чтобы стартовать от начала секунды mov Secund,Dh mov BP,0 ;счетчик WaitNS: mov AH,86h mov CX,0h mov DX,100 int 15h ;ждем микросекунду inc BP mov AH,2 int 1AH cmp Dh,Secund jz WaitNS ;если еще секунда не изменилась - повтор int 20h Secund Db ? Slovo ends End Begin


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

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

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

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

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

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


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


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

В избранное