WMmail.ru - сервис почтовых рассылок

пятница, 23 марта 2012 г.

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

 
Если выпуск не отображается, вы можете прочесть его на сайте Отказаться от рекламы
  
  
ARKAN. Спутниковые противоугонные системы новейшего поколения! Охранная сигнализация экстра класса!
  
  
  

  Мои подписки      Мои группы      Мои новости     
        Автор 
Калашников О.А.
      
  
Компьютеры и интернет   →   Софт   →   Программирование   →   RFpro.ru: Ассемблер? Это просто! Учимся программировать
  
RFpro.ru: Ассемблер? Это просто! Учимся программировать
 
 

Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

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

Лучшие эксперты по данной тематике

Асмик
Статус: Академик
Рейтинг: 10113
• повысить рейтинг »
Коцюрбенко Алексей aka Жерар
Статус: Академик
Рейтинг: 3878
• повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 2424
• повысить рейтинг »

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

Номер выпуска:1506
Дата выхода:23.03.2012, 16:00
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:100 / 40
Вопросов / ответов:1 / 1

Консультация # 185630: Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: Ассемблер TASM Размер переменных - байты Задача: b^3-c^3/d^3 Программа такая: .model small .386 ;.stack 100h .data b db ? c db ? d db ? .code mov ax, @data mov ds, ax mov al, b cbw mov bx, ax

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

Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:

Ассемблер TASM
Размер переменных - байты

Задача: b^3-c^3/d^3

Программа такая:

.model small
.386
;.stack 100h
.data
b db ?
c db ?
d db ?

.code
mov ax, @data
mov ds, ax

mov al, b
cbw
mov bx, ax
mov al, b
imul al
imul bx
cwd
mov ebx, eax

mov al, c
cbw
mov cx, ax
mov al, c
imul al
imul cx
cwd
mov ecx, eax

sub ebx, ecx

mov al, d
cbw
mov dx, ax
mov al, d
imul al
imul dx
cwd
mov edx, eax

mov eax, ebx
cdq
idiv edx

mov ax, 4c00h <- ошибка: деление на ноль
int 21h
end


В конце выводит ошибку : Деление на ноль, т.е. она правильно считает делимое, после делимого выдает ошибку.

Что надо изменить, чтобы она правильно работала?!

Дата отправки: 20.03.2012, 15:33
Вопрос задал: Yankov Dmitry (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Лысков Игорь Витальевич (Старший модератор):

Здравствуйте, Yankov Dmitry!
Сначала предлагаю свой вариант:

Код :
 	.model	small 	.data b	db	3 c	db	2 d	db	1  	.code 	.386 start: 	mov	ax, @data 	mov	ds, ax   	movsx	eax, b		;команда делает знаковое расширение байта b до 32 бит регистра eax 	call	cube		;возводим в куб 	mov	ebx, eax	;сохраним  	movsx	eax, c		;аналогично, находим c^3 	call	cube 	sub	ebx, eax	;находим b^3 - c^3  	movsx	eax, d		;d^3 	call	cube 	xchg	eax, ebx	;меняем местами 	cdq 	idiv	ebx		;делим (b^3 - c^3) / d^3  	mov	ax, 4c00h 	int	21h  cube	proc			;eax = eax^3 	mov	ecx, eax	;ecx = eax 	imul	eax, eax	;eax = eax * eax 	imul	eax, ecx	;eax = eax ^3 	ret cube	endp 	 	end	start 


Переделанный Ваш вариант.
Повторяющийся фрагмент оформил подпрограммой.
Убрал лишние присваивания
Код :
 	.model	small 	.386 data b	db	3 c	db	2 d	db	1  	.code start: 	mov	ax, @data 	mov	ds, ax  	mov	al, b 	call	cube 	mov	ebx, eax  	mov	al, c 	call	cube 	sub	ebx, eax  	mov	al, d 	call	cube 	xchg	eax, ebx 	cdq 	idiv	ebx  	mov	ax, 4c00h 	int	21h  cube	proc 	cbw 	mov	cx, ax 	imul	al 	imul	cx 	cwde 	ret cube	endp  	end	start 

Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 20.03.2012, 16:27

5
нет комментария
-----
Дата оценки: 20.03.2012, 16:36

Рейтинг ответа:

НЕ одобряю +1 одобряю!


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

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

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


 
 
Комментировать выпуск
     В избранное

Прошлые выпуски
RFpro.ru: Ассемблер? Это просто! Учимся программировать    26 февраля 2012, 14:33
RFpro.ru: Ассемблер? Это просто! Учимся программировать    04 февраля 2012, 13:33
RFpro.ru: Ассемблер? Это просто! Учимся программировать    02 февраля 2012, 14:35

Все выпуски рассылки

23 марта 2012 отмечают:
Всемирный день метеорологии
Всеукраинский день работников культуры и&nbsp;любителей народного искусства
Васанта Наваратри&nbsp;&mdash; весенние девять ночей Богини Матери
Начало недели древнеиндийского эпоса &laquo;Рамаяна&raquo;

Именины: Анастасия, Марк, Михаил, Ника, Павел, Василиса, Виктор, Галина, Георгий, Денис, Дмитрий, Иван, Леонид
 
 

Subscribe рекомендует
 
Компьютеры и интернет  →   рассылки   и   группы
  
Передовые технологии в медицине
Передовые технологии в медицине!Все больше и больше людей интересуются - есть ли новые медицинские технологии, которые позволяют бороться с хроническими...
Темы: 357   Участники: 1205
  Уникальные новости от Свободного Журналиста
Я - свободный журналист. Моя работа - дать Вам пищу для ума. Испытываете инфо-голод? Вкусности здесь! Цель создания группы: публикация качественной, инт...
Темы: 64   Участники: 860
  Чем хороша жизнь за границей?Все за и против
А может поехать за границу? Там говорят хорошо?! Отзывы и общение с теми, кто уехал из России, но не прочь пообщаться с соотечественниками.
Темы: 578   Участники: 10496
 
 
 
Подписан адрес: admin10383.deep@blogger.com
Код этой рассылки: comp.prog.assembler
Архив рассылки
Отписаться:  На сайте  Почтой
Поддержка подписчиков
Убрать рекламу
Другие рассылки этой тематики
Другие рассылки этого автора
 
Рассылка производится: Subscribe.Ru / ЗАО «Интернет-Проекты» / О компании / Политика конфиденциальности

Комментариев нет:

Отправить комментарий