Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.65/20: Рейтинг темы: голосов - 20, средняя оценка - 4.65
0 / 0 / 0
Регистрация: 17.11.2009
Сообщений: 29

С++ и асемблер

19.11.2009, 13:52. Показов 4179. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имееться простая программа на С++:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
 
void main()
{
int A, N, B,G;
 
printf (" Vvedite progressiu A- pervi chlen, B- raznost, N- nuzniy element ");
scanf ("%d %d %d", &A ,&B ,&N);
 
G=A+(N-1)*B;
printf("G=%d ", G);
 
scanf ("%d", &N);
}
Ищет она N-ый член арифм прогрессии.
Как сделать вывод на экран этого члена с помощбю вставки ассемблера.
• Вывод информации на экран реализовывать средствами языка ассемблера. Для упрощения алгоритма вывода на экран числовой информации использовать шестнадцатеричную систему счисления. Рекомендуется организовать алгоритм вывода чисел в отдельной функции.
• В начале работы программы средствами языка ассемблера предлагать пользователю очистить экран и очищать его при необходимости.
• Не завершать работу программы до тех пор, пока пользователь не нажмет клавишу на клавиатуре. Чтение символа с клавиатуры реализовать командами языка ассемблера.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.11.2009, 13:52
Ответы с готовыми решениями:

асемблер
(41*d/4+1)/(a-c)/b+a*d)

Асемблер
Три точки заданы своими декартовыми координатами. Определить номера точек, расстояние между которыми максимально (для этих точек квадрат...

Программа Асемблер
Помогите решить задачу на ассемблере через Pascal: F =Y+32*X/22

25
0 / 0 / 0
Регистрация: 17.11.2009
Сообщений: 29
19.11.2009, 22:05  [ТС]
Студворк — интернет-сервис помощи студентам
ой наверно у меня мозг перегрелся, надо поспать, спасибо большое за отзывчивость.
Может завтро утром разберусь с информацией по твоей ссылке и вопросы уйдут.
А может препод будет не в настроение и не будет придерать к тому что числа выводяться только до 15))
0
0 / 0 / 0
Регистрация: 17.11.2009
Сообщений: 29
20.11.2009, 07:26  [ТС]
Все сделал вывод по твоим описаниеям в посте 14. СпасибоЁ!!Ё
0
0 / 0 / 0
Регистрация: 17.11.2009
Сообщений: 29
26.11.2009, 20:35  [ТС]
Возник вопрос где в твом алгоритме происходит вот этот пункт?
Например, требуется перевести десятичное число 32767 в шестнадцатеричное. В соответствии с приведенным алгоритмом получим:
3276710 : 16 = 204710
3276710 - 3275210 = 15, остаток 15 в виде F записываем в МБ шестнадцатеричного числа. //Этот
204710 : 16 = 12710
204710 - 203210 = 15, остаток 15 в виде F записываем в следующий после МБ разряд шестнадцатеричного числа.
12710 : 16 = 710
12710 - 11210 = 15, остаток 15 в виде F записываем в старший разряд шестнадцатеричного числа.
710 : 16 = 010, остаток 7 записываем в старший разряд шестнадцатеричного числа.

Таким образом, искомое шестнадцатеричное число равно 7FFF16.
0
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
26.11.2009, 20:54
"div" производит беззнаковое деление аккумулятора на операнд. Делимое (аккумулятор) размером в два раза больше делителя (операнда), частное и остаток такого же размера , как и делитель. Если делитель - байт, делимое берется из регистра AX, частное сохраняется в AL, а остаток - в AH. Если делитель - слово, верхняя половина делимого берется из DX, а нижняя - из AX, частное сохраняется в AX, а остаток - в DX.
Т.е. после деления остаток будет в dx.
0
3 / 3 / 0
Регистрация: 13.12.2007
Сообщений: 12
05.02.2010, 16:07
Попробовал запустиь
эту программу в
Visual Studio 6.0
- выдала диагностику:
Unhendled exception in PRNT.exe: 0xC0000005: Access Violation

( mov DX, CX // вывод первой части числа)
в строке: int 21h

ПОЧЕМУ ???
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
05.02.2010, 16:43
Естессно, выдала исключение. Дело в том, что под Виндой int - привилегированная инструкция, ее не разрешается использовать приложениями из пользовательского режима - кольца 3.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.02.2010, 16:43

Команды Асемблер
Подскажите на нормальном языке что означают команды int, in, call. И одно строчный пример на использование покажите если не трудно. Вроде...

циклы на асемблер
я в асемблере не буб-буб.. завтра экзамен нужно решить простые задачи кто может помочь с решением или хоть дайте ссылки где про это можно...

16-ти битный асемблер
Вот у меня такое задание: Даны целые числа a1, …, an среди которых могут быть повторяющиеся члены. Найти число различных членов...

Асемблер (masm)
1) Написать набор процедур: установки видеорежима, установки страницы, установки цвета фона, установки точки, проверки буфера клавиатуры....

Команды в асемблер
Ребята, есть вот такой код, на языке асемблер: include 'emu8086.inc' #make_COM# ; COM file is loaded at CS:0100h ORG 100h ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru