Помогите!!! Очень нужно!!!

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

Chara
Сообщения: 5
Зарегистрирован: 06 июн 2007, 14:42

есть две задачи и ни одной умной мысли.
№1 составить программу сложения двух чисел с тройной точностью, результат поместить на место первого слагаемого.
№2 составить программу, пересылающую все четные отрицательные числа из области с адресами с Addr1 по Addr2 включительно в область с начальным адресом Addr3. программу составить на языке Asm80.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

А поточнее можно указывать задачи?
&quot писал(а):сложения двух чисел с тройной точностью
Что за формат такой? Целые там числа или вещественные? Сколько в нем бит? Если вещественный, сколько бит на экспоненту/мантиссу?
&quot писал(а):все четные отрицательные числа из области
Опять же, какие числа? Понятно, что знаковые и целые? А вот какого они типа, сколько байт на число?
It's a long way to the top if you wanna rock'n'roll
Chara
Сообщения: 5
Зарегистрирован: 06 июн 2007, 14:42

про тип в задании ничего не сказано, тройная точность- это 12 байт.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

По скольку ничего не сказано, трактуем в нашу пользу
Задание 1:
12 байт, целый тип, процессор 386

Код: Выделить всё

.model tiny
.386
.data
num1 dd 10, 0, 0
num2 dd 20, 0, 0
.code
push cs
pop ds

mov esi, offset num2
mov edi, offset num1
mov eax, [esi]
add [edi], eax
mov eax, [esi + 4]
adc [edi+4], eax
mov eax, [esi + 8]
adc [edi+8], eax

mov ax, 4C00h
int 21h
end
It's a long way to the top if you wanna rock'n'roll
Chara
Сообщения: 5
Зарегистрирован: 06 июн 2007, 14:42

СПАСИБО!!! Только что получила указания по первой задаче :Это задание состоит из двух частей, в первой части создается структурная схеме алгоритма с пояснениями, а во второй приводится программа, написанная на языке Ассемблер для МП КР580, приводится программа в машинных кодах. Область используемой памяти начинается с адреса 0800h.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

&quot писал(а):МП КР580
Извиняйте, таких процессоров не знаю...
It's a long way to the top if you wanna rock'n'roll
Chara
Сообщения: 5
Зарегистрирован: 06 июн 2007, 14:42

я тоже не знаю... учусь заочно. а как насчет второй задачки?
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Intel 8080 - родитель Z80 - я на нем писал очень давно, но надо вспомнить мнемонику команд. Я то на машинном коде писал по него. Задача совсем простая, завтра выложу
It's a long way to the top if you wanna rock'n'roll
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Код: Выделить всё

LD BC, Addr1
LD HL, Addr3
    @label:
LD A, (BC)
AND A, 10000001b
CMP A, 10000000b
JNZ @skip
LD (HL), A
INC HL
    @skip:
INC BC
CMP BC, Addr2+1
JNZ @label
It's a long way to the top if you wanna rock'n'roll
Chara
Сообщения: 5
Зарегистрирован: 06 июн 2007, 14:42

Спасибо, попробую сдать.
Ответить