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

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


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

Лучшие эксперты в разделе

Лысков Игорь Витальевич
Статус: Мастер-Эксперт
Рейтинг: 0
∙ повысить рейтинг »
Evgen aka Chuma
Статус: 6-й класс
Рейтинг: 0
∙ повысить рейтинг »
cain52
Статус: 3-й класс
Рейтинг: 0
∙ повысить рейтинг »

∙ Assembler

Номер выпуска:1776
Дата выхода:01.12.2020, 12:45
Администратор рассылки:Зенченко Константин Николаевич (Старший модератор)
Подписчиков / экспертов:86 / 25
Вопросов / ответов:1 / 1

Консультация # 199715: Здравствуйте! С Assembler знаком всего 3 дня) подскажите как записать формулу в код
;Program_4 – Арифметические операции, вариант …
Data SEGMENT ;
...

Консультация # 199715:

Здравствуйте! С Assembler знаком всего 3 дня) подскажите как записать формулу в код

;Program_4 – Арифметические операции, вариант …
Data SEGMENT ;Открыть сегмент данных
A DB 5Ah ;Инициализировать
B DB 55h ;переменные A, B, C, D, X
C DB 11h
D DB 5
X DW ?
Data ENDS ;Закрыть сегмент данных
Ourstack SEGMENT Stack ;Открыть сегмент стека
DB 100h DUP (?) ;Отвести под стек 256 байт
Ourstack ENDS ;Закрыть сегмент стека
ASSUME CS:Code, DS:Data, SS:Ourstack ;Назначить сегментные
;регистры
Code SEGMENT ;Открыть сегмент кодов

Start: mov AX, Data ;Инициализировать
mov DS, AX ;сегментный регистр DS
xor AX, AX ;Очистить регистр AX

Здесь должны быть команды вычисления
арифметического выражения

movAX, 4C00h ;Завершить программу
int 21h ;с помощью DOS
Code ENDS ;Закрыть сегмент кодов
END Start ;Конец исходного модуля.

заранее благодарю

Дата отправки: 26.11.2020, 12:26
Вопрос задал: Александр (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Зенченко Константин Николаевич (Старший модератор):

Здравствуйте, Александр!

Смотрите код:

model	tiny
code
org	100h
begin:	mov	ax,A
	mov	bx,3
	mul	bx
	add	ax,48
	mov	bx,C
	mul	bx
	push	ax
	mov	ax,B
	mov	cx,D
	mul	cx
	pop	cx
	sub	cx,ax
	mov	ax,cx
	xor	dx,dx
	div	bx
	push	dx
	mov	si,10
	xor	cx,cx
@@01:	xor	dx,dx
	div	si
	push	dx
	inc	cx
	or	ax,ax
	jnz	@@01
@@02:	pop	ax
	or	al,'0'
	int	29h
	loop	@@02
@@03:	pop	dx
	or	dx,dx
	jz	@@05
	push	dx
	mov	al,'.'
	int	29h
@@04:	pop	ax
	or	ax,ax
	jz	@@05
	xor	dx,dx
	mul	si
	div	bx
	push	dx
	or	al,'0'
	int	29h
	inc	cx
	cmp	cx,30;
	jnz	@@04
	pop	dx
@@05:	xor	ax,ax
	int	16h
	ret
A	dw	5Ah
B	dw	55h
C	dw	11h
D	dw	5
	end	begin

Удачи!

Консультировал: Зенченко Константин Николаевич (Старший модератор)
Дата отправки: 30.11.2020, 12:36
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное