Национальный аэрокосмический университет
им. Н. Е. Жуковского «ХАИ»
кафедра 301
Отчет по лабораторной работе № 1
по курсу «Проектирование информационно – вычислительных комплексов»
Выполнили студенты группы 351
Хорик С. А.
Ярушевский М. Е.
Проверил ст. преподаватель кафедры 301
Джулгаков В.Г.
Харьков’2000
Распределение ресурсов памяти
R0, R1 – адреса исходного и результирующего числа соответственно.
Исходное число двухбайтное. Регистры R2 и R3 хранят старший и младший байты исходного числа. F0 (psw.5) свободный бит, будем использовать для хранения знака S.
Счетчик сдвигов j. Для него используем регистр R4. этот же регистр используем для смещенного порядка е и истинного порядка Р.
Поскольку мантисса результата формируется путем сдвига исходного числа влево, то регистры R2, R3 используем для размещения мантиссы результатов.
Лабораторная работа №1а
Преобразование целого числа в вещественное
Преобразование целого числа в вещественное реализуется по формуле:
.
Структурная схема преобразования выглядит следующим образом:
.
Алгоритм реализации каждого блока в отдельности:
блок 1 блок 2
блок 3 блок 4
.
Программная реализация данного преобразования.
a1 equ -100
init_sp equ 40h
dseg
org 30h
x:ds 2
y:ds 3
cseg
org 0000h
mov sp,#(init_sp-1)
mov x,#low(a1)
mov x+1,#high(a1)
mov r0,#x
mov r1,#y
call bb
nop
org 100h
bb:
mov a,@r0
mov r2,a
inc r0
mov a,@r0
mov r3,a
;-----------
orl a,r2
jnz mb
mov r4,#0
jmp out_bb
;---------
mb:
mov a,r3
jnb acc.7,m1
xrl a,#01111111b
mov r3,a
mov a,r2
cpl a
add a,#1
mov r2,a
jnc m1
inc r3
m1: mov a,r3
mov c,acc.7
mov f0,c
;--------------
mov r4,#0 ;j=0
m3:clr c
mov a,r2
rlc a
mov r2,a
mov a,r3
rlc a
mov r3,a
inc r4
jnb acc.7,m3
clr c
mov a,#15
subb a,r4
add a,#127
mov r4,a
mov c,psw.5
rrc a
mov r4,a
mov a,r3
mov acc.7,c
mov r3,a
mov a,r2
out_bb:
mov @r1,a
inc r1
mov a,r3
mov @r1,a
inc r1
mov a,r4
mov @r1,a
ret
Лабораторная работа №1б
Преобразование вещественного числа в целое.
Структурная схема данного преобразования выглядит следующим образом:
.
Программная реализация преобразования:
init_sp equ 40h
dseg
org 20h
x:ds 3
org 28h
y:ds 2
cseg
org 0000h
mov sp,#(init_sp-1)
mov x,#00h
mov x+1,#0c8h
mov x+2,#042h
mov r0,#x
mov r1,#y
call bb
nop
org 100h
bb:mov a,@r0
mov r2,a
inc r0
mov a,@r0
mov r3,a
inc r0
mov a,@r0
mov r4,a
clr c
mov a,r4
rlc a
mov f0,c
mov r4,a
mov a,r3
mov c,acc.7
setb acc.7
mov r3,a
mov a,r4
mov acc.0,c
mov r4,a
jz exit
clr c
mov a,r4
subb a,#127
jc exit
mov a,#143
subb a,r4
jc exit
mov a,r4
subb a,#127
mov r4,a
mov a,#15
subb a,r4
mov r4,a
m1: clr c
mov a,r3
rrc a
mov r3,a
mov a,r2
rrc a
mov r2,a
djnz r4,m1
jnb f0,m10
ret
mov a,r2
cpl a
addc a,#1
mov r2,a
mov a,r3
cpl a
addc a,#0
mov r3,a
mov a,r2
mov @r1,a
inc r1
mov a,r3
mov @r1,a
exit:
|
|