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

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


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

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

Чемпионы рейтинга экспертов в этой рассылке

_Ayl_
Статус: Студент
Рейтинг: 1388
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 1127
∙ повысить рейтинг »
Jimhucksly
Статус: 5-й класс
Рейтинг: 793
∙ повысить рейтинг »

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

Номер выпуска:1266
Дата выхода:25.10.2009, 14:30
Администратор рассылки:Лысков Игорь Витальевич, Модератор
Подписчиков / экспертов:433 / 66
Вопросов / ответов:1 / 2
IRC-канал по теме:#assembler

Вопрос № 173465: Здраствуйте, у меня такая проблема: Накодил небольшую программку с решением уравнений, но не могу настроить вывод, помогите разобраться.

Код:
   
Вопрос № 173465:

Здраствуйте, у меня такая проблема:
Накодил небольшую программку с решением уравнений, но не могу настроить вывод, помогите разобраться.

Код:
;Сегмент данных     
Data SEGMENT
Family DB 'Zorin S.S.',13,10,'$';вывод на экран строки с фамилией
A DW 2D; коэффициенты
B DW 3D
C DW 4D
Xmin DW 0D
Xmax DW 4D
REZ DW ?; результат в числовом формате
REZ_SHOW DB 10 DUP ('@'); результат в символьном формате
Data ENDS

StackSG SEGMENT Stack
DB 100H DUP(?) ;стек размером 256 байтов.
StackSG ENDS

BEGIN PROC FAR
Code SEGMENT
;Назначение соответствия между адресами сегментов и сегментными регистра-ми
;SS-указывает на стек; CS-машинные коман ды, DS- на переменные
ASSUME SS:STACKSG, CS:CODE, DS:DATA
PUSH DS ; Корректное
SUB AX,AX ; завершение
PUSH AX ; программы.
MOV AX, DATA ; Инициализация
MOV DS, AX ; сегментного регистра DS.


calc: ; Начало цикла
MOV BX,Xmin ; Загрузка данных в регистр
CMP BX,xmax ; Сравнение данных
JA MT ; Если значение больше то выход
; вычисление
MOV AX,BX
MUL BX ; Возводим Х в квадрат
MOV AX,A
MUL BX ; Умножаем квадрат Х на А
MOV REZ,BX ; Переносим результат вычислений из регистра в переменную REZ
MOV BX,Xmin ; Загружаем данные в регистр
MOV AX,B
MUL BX ; Умножаем Х на В
ADD BX,C ; Прибавляем С к результату
ADD BX,REZ ; Складываем с данными из первого действия
MOV REZ, BX ; Заносим резкльтат в переменную REZ
MOV DS,BX
MOV DX,OFFSET rez
Mov AH,9
INT 21H

MT: ; действие не требуется
INC Xmin ;переход к следующему символу
NOP
LOOP calc ; Повтор Цикла


MOV AX,DATA ; загрузка номера сегмента
MOV DS,AX ; в регистр DS.
MOV DX,OFFSET Family ; загрузка в DX адреса симв. строки
MOV AH,9 ; задание функции вывода строки.
INT 21H ; вывод строки.
MOV AL,0 ; завершение программы через
MOV AH,4CH ; системную функцию возврата
INT 21H ; в диспетчер MS DOS.
BEGIN ENDP
Code ENDS
END BEGiN ;адрес начала программы.

Отправлен: 20.10.2009, 15:20
Вопрос задал: Hellphoenix, Посетитель
Всего ответов: 2
Страница вопроса »


Отвечает vladisslav, 5-й класс :
Здравствуйте, Hellphoenix.
Все исправлять не стал - в комментариях уже указали.
Досовского ассемблера под рукой нет, так что проверить не могу. Если не будет собираться - пишите ошибки в комментарии - поправлю.
Исправлена программа после долгой отладки. Впредь проверяйте свой код
-----
∙ Отредактировал: Лысков Игорь Витальевич, Модератор
∙ Дата редактирования: 23.10.2009, 11:55 (время московское)

Приложение:

Ответ отправил: vladisslav, 5-й класс
Ответ отправлен: 20.10.2009, 15:45

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 255628 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Лысков Игорь Витальевич, Модератор :
    Здравствуйте, Hellphoenix.
    В приложении правильно работающая программа под TASM.

    Приложение:

    -----
    Удачи!

    Ответ отправил: Лысков Игорь Витальевич, Модератор
    Ответ отправлен: 22.10.2009, 02:05
    Украина, Кировоград
    Тел.: +380957525051
    ICQ # 234137952
    Mail.ru-агент: igorlyskov@mail.ru
    Абонент Skype: igorlyskov

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 255696 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


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

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

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2009.6.10 от 20.10.2009

    В избранное