IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   Задача на ASM 8080 "Aлгоритм Бута" (http://www.imho.ws/showthread.php?t=94065)

phill 12.10.2005 01:03

Задача на ASM 8080 "Aлгоритм Бута"
 
Помогите с задачкой, заранее спасибо.
Цитата:

Используя алгоритм Бута, произвести умножение чисел (-121) * 89.
у меня есть эта програма сделанная, но я в ней с трудом разбираюсь. может есть способ по проще, спасибо
Code:
Код:

org 0100h
mvi e, -121 ; 87h
mvi a, 89 ; 59h
call bmult ; hl=e*a
hlt

bmult: mov d, a
mov b, 00h
mov a, e
ani 80h
jm m3 ; jump minus
jmp m7 ; jump
m3: mov a, e ; a=e
cma ; invert a
inr a ; a=a+1
mov e, a ; e=a
mov a, b ; a=b
xri 01h ; a=a xor 1
mov b, a ; b=a

m7: mov a, d ; a=d
ani 80h ;
jm m4
jmp m8
m4: mov a, d ; a=d
cma ; invert a
inr a ; a=a+1
mov d, a ; d=a
mov a, b ; a=b
xri 01h
mov b, a
m8: mov a, d

m5: lxi h, 00h
mvi d, 00h ; d=0
mvi c, 08h ; c=8
m1: dad h
rlc
jnc m2
dad d
m2: dcr c  ; c=c-1
jnz m1

mov a, b
cpi 00h
jz m6
mov a, h
cma
mov h, a
mov a, l
cma
mov l, a
inx h
m6: ret


Shama_in_da_for 15.10.2005 21:48

Ели б ты объяснил на словах, как работает алгоритм Бута, я б помог! Вникать в какой-то код я не люблю, лучше писать с нуля.


Часовой пояс GMT +4, время: 22:01.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.