home *** CD-ROM | disk | FTP | other *** search
/ Syzygy Magazine 3 / Syzygy_Magazine_3_19xx___pl_Side_A.atr / lekcja2.arc / INTOP.ASM next >
Assembly Source File  |  1988-09-01  |  2KB  |  1 lines

  1. * Integer operations¢* by Charlie/AR/AwS¢¢ints equ $f9¢inta equ $fa (2)¢intb equ $fc (2)¢intc equ $fe (2)¢¢*--------------*¢¢* c:=a+b¢¢iadd clc¢     lda inta¢     adc intb¢     sta intc¢     lda inta+1¢     adc intb+1¢     sta intc+1¢     rts¢¢* c:=a-b¢¢isub sec¢     lda inta¢     sbc intb¢     sta intc¢     lda inta+1¢     sbc intb+1¢     sta intc+1¢     rts¢¢* c:=a*b¢¢imul jsr isig¢     ldx #0¢     ldy #0¢_ml1 lsr intb+1¢     ror intb¢     bcc _ml2¢     txa¢     clc¢     adc inta¢     tax¢     tya¢     adc inta+1¢     tay¢_ml2 lda intb¢     ora intb+1¢     beq _ml3¢     asl inta¢     rol inta+1¢     jmp _ml1¢_ml3 stx intc¢     sty intc+1¢     lda ints¢     bmi ineg¢     rts¢¢* c:=a div b¢¢idiv jsr isig¢     ldx inta¢     ldy inta+1¢_dv1 sec¢     txa¢     sbc intb¢     tax¢     tya¢     sbc intb+1¢     tay¢     bcc _dv2¢     inc intc¢     bne _dv1¢     inc intc+1¢     bne _dv1  (jmp)¢_dv2 stx inta¢     sty inta+1¢     lda ints¢     bmi ineg¢     rts¢¢* c:=a mod b¢¢imod lda inta+1¢     php¢     jsr idiv¢     jsr iadd¢     plp¢     bmi ineg¢     rts¢¢* c:=-c¢¢ineg sec¢     lda #0¢     sbc intc¢     sta intc¢     lda #0¢     sbc intc+1¢     sta intc+1¢     rts¢¢*--------------*¢¢isig lda #0¢     sta intc¢     sta intc+1¢     lda inta¢     ora inta+1¢     bne _sg0¢     sta intb¢     sta intb+1¢_sg1 pla¢     pla¢     rts¢_sg0 lda intb¢     ora intb+1¢     beq _sg1¢     lda inta+1¢     eor intb+1¢     sta ints¢     lda inta+1¢     bpl _sg2¢     sec¢     lda #0¢     sbc inta¢     sta inta¢     lda #0¢     sbc inta+1¢     sta inta+1¢_sg2 lda intb+1¢     bpl _sg3¢     sec¢     lda #0¢     sbc intb¢     sta intb¢     lda #0¢     sbc intb+1¢     sta intb+1¢_sg3 rts¢¢