|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.05.2011, 22:04 | #1 |
Новичок
Джуниор
Регистрация: 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. В чем может быть ошибка? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Решение задачи | 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 |