Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2011, 22:04   #1
netdel
Новичок
Джуниор
 
Регистрация: 29.05.2011
Сообщений: 1
По умолчанию Решение задачи на ассемблере

По формуле F=A-(B-C)/2-D

Исходные данные:
Данные десятичные, в скобках переведенные в шестнадцатеричную систему.

A=112(70) непосредственная загрузка
В=13(D) устройство ввода/вывода
С=134(86) ячейка памяти
D=108(6с) непосредственная загрузка


Вот мой вариант программы:

mov [0DDF4h], 086h ; load 86h in [0DDF4h]
mov al, 0Dh ;load Dh in register AL
out 0C9h, al ut register AL to out device C9h
mov al, [0DDF4h] ; load [DDF4] in register AL
not al ; logical invert register AL
inc al ; add register AL and 1
mov cl, al ; move from register AL to register CL
in al, 0C9h ; load from out device C9h in register AL
add al, cl ; add AL and BL
shr al, 1 ; shift logical left register AL
not al ; logical invert register AL
inc al ; add register AL and 1
mov bl, al ; move from register AL to register BL
mov al, 070h ; move 70h in register AL
add al, bl ; add AL and BL
mov dl, al ; move from register AL to register DL
mov al, 06Ch ; move 6Ch in register AL
not al ; logical invert register AL
inc al ; add register AL and 1
add al, dl ; add AL and DL
mov [078DFh], al ; out register AL to [078DFh]

Вот проверка:

F1 = B-C = 13-134 = -121 (87)
F2 = (B-C)/2 = -121/2 = -60 (C7)
F3 = A-(B-C)/2 = 112+60 = 172 (AC)
F4 = A-(B-C)/2-D = 172-108 = 64 (40)

Но после сдвига вправо (shr al, 1) 87 превращается не в C7, а в 43.

В чем может быть ошибка?
netdel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение задачи Teovictim Microsoft Office Word 0 12.05.2011 22:51
Две задачи на ассемблере stalker87 Помощь студентам 3 03.10.2010 13:31
Задачи на ассемблере(1 курс,1 Семестр) Natsu Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 24 25.11.2009 19:49
Две задачи на ассемблере, вычисление выражений _°PROTOS°_ Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 29.05.2009 22:51
Задачи на ассемблере (см. внутри) Волчица Помощь студентам 1 03.12.2008 22:16