McNuggets problem: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add 8080 Assembly) |
Not a robot (talk | contribs) (Add MACRO-11) |
||
Line 1,587: | Line 1,587: | ||
43 |
43 |
||
</pre> |
</pre> |
||
=={{header|MACRO-11}}== |
|||
<syntaxhighlight lang="macro11"> .TITLE NUGGET |
|||
.MCALL .TTYOUT,.EXIT |
|||
NUGGET::MOV #^D50,R1 |
|||
MOV #NUGBUF,R0 |
|||
CLEAR: CLR (R0)+ ; CLEAR BUFFER |
|||
SOB R1,CLEAR |
|||
MARK: MOV #^D100,R5 ; R5 = LIMIT |
|||
CLR R0 ; R0 = 6 STEPPER |
|||
1$: MOV R0,R1 ; R1 = 9 STEPPER |
|||
2$: MOV R1,R2 ; R2 = 20 STEPPER |
|||
3$: INCB NUGBUF(R2) ; MARK |
|||
ADD #^D20,R2 ; 20 STEP |
|||
CMP R2,R5 |
|||
BLT 3$ |
|||
ADD #^D9,R1 ; 9 STEP |
|||
CMP R1,R5 |
|||
BLT 2$ |
|||
ADD #^D6,R0 ; 6 STEP |
|||
CMP R0,R5 |
|||
BLT 1$ |
|||
SCAN: MOV #NUGBUF+^D100,R0 |
|||
1$: DEC R5 |
|||
MOVB -(R0),R1 |
|||
BNE 1$ |
|||
DIGIT: MOV #'0-1,R0 ; SPLIT DIGITS |
|||
1$: INC R0 |
|||
SUB #^D10,R5 |
|||
BCC 1$ |
|||
.TTYOUT ; HIGH DIGIT |
|||
MOV R5,R0 |
|||
ADD #'0+^D10,R0 |
|||
.TTYOUT ; LOW DIGIT |
|||
.EXIT |
|||
NUGBUF: .BLKB ^D100 |
|||
.END NUGGET</syntaxhighlight> |
|||
{{out}} |
|||
<pre>43</pre> |
|||
=={{header|MAD}}== |
=={{header|MAD}}== |