Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Решение задач по Ассемблеру
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 ]
Модераторы: paradise, KMA
  

maggota



Новичок

Здравствуйте, большая просьба- помочь решить данную задачу. Не требуется точного решения, главное, чтобы был программый код и пояснения к нему. Вот собственно задача:
Вывод содержимого заданного участка памяти на дисплей посимвольно с заданным промежутком времени между символами. Остаток от деления на 256 трех младших разрядов ячейки памяти рассматривается как ASCII код символа. Начальный адрес памяти и длина массива вывода-параметры подпрограммы.
Большое спасибо тому, кто хотя бы знает как ее решить.

Всего сообщений: 1 | Присоединился: июнь 2010 | Отправлено: 17 июня 2010 22:20 | IP
pashsyn



Новичок

Привет. Помогите с задачей:

Условия задачи: Задано целое беззнаковое число Х<65536. Определить, есть ли в записи числа цифра, равная среднему арифметическому остальных цифр? Полученное значение вывести на экран.

Дела такие, введенное число н. п. 50433 я разбиваю на числа 5, 0, 4, 3, 3 делением на 10 и записываю в стэк, как дальше делать - никак не пойму. Вот код:

...
   mov ax,62002
   mov number,ax
   mov bx,10
   mov cx,0
 
   a:  
    div bx
    push dx
    mov dx,0
    inc cx  
    cmp ax,0
    jne a
   
   mov bx,cx
...

Всего сообщений: 2 | Присоединился: сентябрь 2010 | Отправлено: 14 сен. 2010 21:52 | IP
pashsyn



Новичок

Все, решил.

Всего сообщений: 2 | Присоединился: сентябрь 2010 | Отправлено: 22 сен. 2010 23:52 | IP
Anna90



Новичок

Помогите, пожалуйста! Надо найти количество символов строки STR1, код которых равен знечению поля CHAR1.

Всего сообщений: 11 | Присоединился: сентябрь 2009 | Отправлено: 30 окт. 2010 18:09 | IP
Demiurg kun



Новичок

Время сдавать контрольные по данному языку, а я в нём ни в зуб ногой... Basic, Pascal, Delphi ещё туда-сюда, но Ассемблер...
В общем, 5 заданий.. Помогите, пожалуйста, осталось два дня, думал, собственными силами справлюсь, но никак... На Вас последняя надежда...

Вариант 2
1)а) Найдите разность суммы чисел, находящихся в регистрах AX, BX и числа из регистра СХ. Результат- в регистре DX. Содержимое АХ, ВХ, СХ не менять.
Б) Дано целое число Х. Не пользуясь никакими другими арифметическими операциями, кроме умножения, сложения и вычитания, вычислите за минимальное число операций 2х4-3х3+4х2-5х+6
2)а) В памяти по некоторому адресу хранится натуральное число. Напишите программу, которая позволяет переменной А присвоить значение 0, если число четное, и 1- нечетное..
     б) Используя операцию вычитания, напишите программу нахождения частного и остатка от деления одного целого числа на другое.
3)Замените все элементы массива их модулями.
4)Составить подпрограмму заполнения массива А(N) элементами, значение которых равно остатку от деления индекса этого элемента на 3. Например, для N=7 будет получен массив 1,2,0,1,2,0,1.
5)a)Ввести значения переменных n с клавиатуры, вычислите значение выражения  и результат вывести на экран.
A3b+(c(c-1)d)/2
б) Подсчитать число вхождений заданной буквы в данном тексте
в) Составить программу, которая позволяет построить таблицу истинности для заданного логического выражения и вывести ее на экран. Логическое значение ИСТИНА можно закодировать кодом FFFF, а ЛОЖЬ- 0000.
Not (X or Y or Z)

Всего сообщений: 1 | Присоединился: октябрь 2010 | Отправлено: 30 окт. 2010 22:10 | IP
3dangel



Новичок

Помогите решить задачу на Ассемблере: Задано 2 массива A и B по 20 элементов. Сделать с помощью процедуры массив 3, элемент С которому равно A - B при A > B и B - A при A < B.
Использовать таблицу адреса для передачи параметров процедуры;
Использовать стек;
Использовать tasm32 под Windows
помогите пожалуйста очень срочно нужно

Всего сообщений: 2 | Присоединился: ноябрь 2010 | Отправлено: 14 нояб. 2010 15:52 | IP
Axelswan



Новичок

Суть задач по Ассемблеру примерно такая:  Вывести на принтер свое имя, используя  прерывание BIOS INT 17.
Если есть знающие,то буду благодарен!


(Сообщение отредактировал Axelswan 19 нояб. 2010 15:40)

Всего сообщений: 1 | Присоединился: ноябрь 2010 | Отправлено: 19 нояб. 2010 14:59 | IP
balecki


Новичок

Задание.
Разработать процедуры перевода арабской цифры в цифру почтового индекса (и обратно).
Кто может помочь, отзовитесь. Есть код в Delphi, перевод всего индекса.
Необходимо в Ассемблере.

program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

const
num:array[1..5,0..9] of string[3]=(
('###',' #','###','###','# #','###',' #','###','###','###'),
('# #',' ##',' #',' # ','# #','# ',' # ',' # ','# #','# #'),
('# #','# #',' #','###','###','###','###','# ','###','###'),
('# #',' #',' # ',' # ',' #',' #','# #','# ','# #',' # '),
('###',' #','###','# ',' #','###','###','# ','###','# '));
{
### # ### ### # # ### # ### ### ###
# # ## # # # # # # # # # # #
# # # # # ### ### ### ### # ### ###
# # # # # # # # # # # # #
### # ### # # ### ### # ### #
111101101101111 0
001011101001001 1
111001001010111 2
111010111010100 3
101101111001001 4
111100111001111 5
001010111101111 6
111010100100100 7
111101111101111 8
111101111010100 9 }
numbin:array[0..9] of integer =($7B6F,$1749,$7257,$75D4,$5BC9,
$79CF,$15EF,$7524,$7BEF,$7BD4);
var
f,fo:TextFile;
s:string;
c,MaxI:integer;
IndexNum:integer;
IndexStr:string;
OutIndex:array[1..5] of string;
mask:array[1..20]of string[20];
outnum:array[1..20] of integer;
i,j,y:integer;
begin
{ TODO -oUser -cConsole Main : Insert code here }
assignfile(f,'input.txt');
assignfile(fo,'output.txt');
reset(f);
i:=0;
while (i<5) and (not Eof(f)) do
begin
i:=i+1;
readln(f,s);
OutIndex:=s;
end;
if i=1 then // число в индекс
begin
s:=Outindex[1];
for i:=1 to length(s) do
begin
c:=ord(s);
if (c>47) and (c<58) then
begin
MaxI:=i;
outnum[MaxI]:=c-48;
end else break;
end;
rewrite(fo);
for j:=1 to 5 do
begin
for i:=1 to MaxI do
write(fo,num[j,outnum[i}},' ');
writeln(fo,' ');
end;
end
else // индекс в число
begin
maxi:=(length(Outindex[1])+1) div 4;
for i:=0 to maxi-1 do
begin
for j:=1 to 5 do
for y:=(i*4)+1 to (i*4)+3 do
mask[i+1]:=mask[i+1]+Outindex[j][y];
end;
for i:=1 to maxi do
begin
y:=1;
outnum:=0;
for j:=length(mask) downto 1 do
begin
if mask[j]<>' ' then
outnum:=outnum+y;
y:=y*2;
end;
end;
for i:=1 to maxi do
begin
for j:=0 to 9 do
begin
if outnum=numbin[j] then
begin
outnum:=j;
break;
end;
end;
end;
rewrite(fo);
for i:=1 to maxi do
begin
if outnum>9 then break;
write(fo,outnum);
end;
end;
close(f);
close(fo);
sleep(1000);
writeln('ok');
// readln(s);
end.

Всего сообщений: 1 | Присоединился: ноябрь 2010 | Отправлено: 28 нояб. 2010 1:06 | IP
Nil


Новичок

Помогите пожалуйста решить задачу:

Разработать программу, в которой:

1. По заданной функции сформировать массив значений (1000 ячеек);

2. Написать программу, которая выводила бы на параллельный порт процессора циклически все элементы этого массива. Предусмотреть в программе точку выхода из цикла, коды целые, самая большая величина ф-ии=255, минимум=0.

Функция собсна: <7=икс в кубе+икс в квадрате делить на 10 - 100>
Шаг= 10.

Короче, должна получиться синусоида на экране осциллографа.

Буду бесконечно благодарен за помощь.

Всего сообщений: 2 | Присоединился: декабрь 2010 | Отправлено: 8 дек. 2010 1:43 | IP
Nil


Новичок

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

Всего сообщений: 2 | Присоединился: декабрь 2010 | Отправлено: 9 дек. 2010 13:20 | IP

Отправка ответа:
Имя пользователя   Вы зарегистрировались?
Пароль   Забыли пароль?
Сообщение

Использование HTML запрещено

Использование IkonCode разрешено

Смайлики разрешены

Опции отправки

Добавить подпись?
Получать ответы по e-mail?
Разрешить смайлики в этом сообщении?
Просмотреть сообщение перед отправкой? Да   Нет
 

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 ]

Форум работает на скрипте © Ikonboard.com