Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Divide by 0

Name: Anonymous 2006-09-22 21:38

Do it.

Name: Anonymous 2006-09-23 1:28

;DIVISION BY ZERO PROGRAM IN 6502 ASSEMBLY
;BASIC SYNOPSIS:
; TO FIGURE OUT WHAT IS A DIVIDED BY B, WE SUBTRACT B FROM A UNTIL WE GET A NUMBER LESSER THAN B, COUNTING THE NUMBER OF TIMES WE DO THIS.  THE RESULT IS THE (INTEGER) QUOTIENT.
;INPUT:
LDA #$AA ;<-.A WILL CONTAIN DIVIDEND (1ST NUMBER)
;$AA IS COMPLETELY ARIBTRARY, MODIFY ACCORDING TO YOUR WHIMS
LDY #$00 ;<-.Y WILL CONTAIN DIVSOR (2ND NUMBER)
;OUTPUT:
;.A IS REMAINDER, .Y IS QUOTIENT
DIVIDE
PHP ;SAVE PROCESSOR STATUS REGISTER
STA DIVDEN ;SAVE ORIGINAL VALUE OF .A
STY DIVSOR ;PUT DIVISOR IN TEMPORARY MEMORY LOCATION
DIVLOP
LDY #0; .Y WILL BE QUOTIENT
SEC ;SET CARRY FOR SUBTRACTION
SBC DIVSOR ;SUBTRACT AMOUNT OF DIVISOR FROM DIVIDEND
CMP DIVDEN ;COMPARE WITH ORIGINAL DIVIDEND
BCC DIVLOP ;LOOP IF MORE THAN ORIGINAL DIVIDEND
;WHAT IS NOW IN .A IS REMAINDER, AND .Y HOLDS DIVISOR
RTS









Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List