входные данные result_lh
сумма двух квадратов
выходные данные L - result_l
Код:count_round ; LDY rezult_h ; y=(rezult_h) ; LDA rezult_l ; a=(rezult_l) ; STA factor_2 ; (factor2)=(rezult_l) ld de,(rezult_1) ; d(y=result_h) ; e=factor2 ; LDX #0 ; x=0 ; STX rezult_l ; rezult_l=0 ; LDA #8 ; STA factor_1 ; ctr=8 repeat 16 times ld bc,#0800 ; b=factor_1 ; c=x ld l,0 ; l=rezult_l count_loop ; CPX rezult_l ; x=(result_l)? ld a,c cp l ; BCC skip_decr ; jr nc jr nc,skip_decr ; BNE no_chek_round ; jr nz jr nz,no_chek_round ; CPY #$40 ; '@' ; y(rezult_h)=#40? ld a,d cp #40 ; BCC skip_decr ; jr nc jr nc,skip_decr no_chek_round ; TYA ; SBC #$40 ; '@' ; y(result_h)-#40 ; TAY ld a,d sbc a,#40 ld d,a ; TXA ; SBC rezult_l ; x-result_l ; TAX ld a,c sbc a,l ld c,a skip_decr ; ROL rezult_l ; rezult_l*2 rl l ; ASL factor_2 ; <(factor2)(result_l) ; TYA ; ROL A ; <y ; TAY ; TXA ; ROL A ; <x ; TAX sla e rl d rl c ; ASL factor_2 ; <(factor2)(result_l) ; TYA ; ROL A ; <y ; TAY ; TXA ; ROL A ; ;<x ; TAX sla e rl d rl c ; DEC factor_1 ; BNE count_loop djnz count_loop ; RTS ret


Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 

