Важная информация
RSS лента

Shiny

6502: decimal to ascii

Оценить эту запись
Интересная задачка: преобразовать число в строку. [URL="https://rosettacode.org/wiki/99_Bottles_of_Beer/Assembly#6502_Assembly"]Решение 1[/URL]. [URL="http://6502org.wikidot.com/software-output-decimal"]Решение 2[/URL] куда более интереснее(адаптация для Atari под xasm):
[CODE]
org $600

lda 88
sta OUTPUT+1

lda 89
sta OUTPUT+2

lda #255
jsr OUTDEC8S
mm
jmp mm

OUTDEC8S
LDX #1
STX LC
INX
LDY #$40
L1 STY LB
LSR @
L2 ROL @
BCS L3
CMP LA,X
BCC L4
L3 SBC LA,X
SEC
L4 ROL LB
BCC L2
TAY
CPX LC
LDA LB
BCC L5
BEQ L6
STX LC
L5 EOR #$10
L6 ;EOR #$20
JSR OUTPUT
TYA
LDY #$10
DEX
BPL L1
RTS
OUTPUT
sta $1234
inc OUTPUT+1
bne endo
inc OUTPUT+2
endo
rts
LA dta 128,160,200
LB dta 1
LC sta 1
[/CODE]
Метки: 6502, coding Добавить / редактировать метки
Категории
Без категории

Комментарии