AS61860 Assembler for SHARP Pocket Computers
Cygwin executables as a zipped file (1384K) or
DJGPP exectuables as a zipped file (2715K)
reg_61860.asm = CPU registers SC61860 - written in AS61860 assembler
Download:
SC61860_SHARP_1.xls - SC-61860 instruction set
AS61860_ASM.txt - Manual for AS61860 assembler
CPU SC81860A02 block diagram (PC-1250 service manual)
SHARP PC-1350 block diagram, Memory map (PC-1350 service manual)
Sound
; sound.asm = Sound for SHARP PC-1350
6038 9 .ORG 0x6038
6038 02 00 [ 4] 10 LIA 0x00 ; <== Length
603A 34 [ 3] 11 PUSH ; A --> (R)
603B 12 5F [ 4] 12 LIP REG_Cout
603D 59 [ 2] 13 LDM ; (P) --> A
603E 65 10 [ 4] 14 ORIA 0x10 ; A = A | 0x10
6040 15 loop:
6040 DB [ 3] 16 EXAM ; A <--> (P)
6041 DF [ 2] 17 OUTC
6042 4E 00 [ 6] 18 WAIT 0x00 ; <== Frequency
6044 2F 05 [10] 19 LOOP loop
6046 37 [ 4] 20 RTN
Download Software:
sound.asm = Sound for SHARP PC-1350 - written in AS61860 assembler
_AS_sound.BAT - script, to run the AS61860 assembler in the Windows environment
sound.txt = Sound for SHARP PC-1350 - written in BASIC
LED Light Effect
; led.asm = LED Light Effect for PC-1350
; IB8 = data 74HC595
; IB7 = clock 74HC595
; FO2 = lach 74HC595
6700 13 .ORG 0x6700
6700 02 00 [ 4] 14 LIA 0x00 ;A=0
6702 88 [ 2] 15 LP REG_K
6703 60 00 [ 4] 16 ANIM 0x00
6705 61 08 [ 4] 17 ORIM 0x08 ;K=8
6707 18 Loop:
6707 12 5D [ 4] 19 LIP REG_IB
6709 60 3F [ 4] 20 ANIM 0x3F ;IB=00111111
670B DD [ 2] 21 OUTB
670C D2 [ 2] 22 SR ;A>>1,C
670D 2A 03 [ 7] 23 JRNCP Jump
670F 61 80 [ 4] 24 ORIM 0x80 ;IB=10111111
6711 25 Jump:
6711 DD [ 2] 26 OUTB
6712 61 40 [ 4] 27 ORIM 0x40 ;IB=X1111111
6714 DD [ 2] 28 OUTB
6715 49 [ 4] 29 DECK
6716 29 10 [ 7] 30 JRNZM Loop
6718 12 5E [ 4] 31 LIP REG_FO
671A 61 02 [ 4] 32 ORIM 0x02 ;FO=00000010
671C 5F [ 3] 33 OUTF
671D 60 FD [ 4] 34 ANIM 0xFD ;FO=11111101
671F 5F [ 3] 35 OUTF
6720 37 [ 4] 36 RTN
Download Software:
led.asm = LED Light Effect for SHARP PC-1350 - written in AS61860 assembler
_AS_sound.BAT - script, to run the AS61860 assembler in the Windows environment
led.txt = LED Light Effect for SHARP PC-1350 - written in BASIC
Test OUT port
; out.asm = Test OUT port for SHARP PC-1350
; AS61860 assembler, port IB,FO,Cout
6038 9 .ORG 0x6038
6038 12 5D [ 4] 10 LIP REG_IB
603A 10 60 36 [ 8] 11 LIDP 0x6036 ;DP = 0x6036
603D 55 [ 3] 12 MVMD ;(DP) --> (P)
603E DD [ 2] 13 OUTB
603F 37 [ 4] 14 RTN
15
6040 12 5E [ 4] 16 LIP REG_FO
6042 10 60 36 [ 8] 17 LIDP 0x6036 ;DP = 0x6036
6045 55 [ 3] 18 MVMD ;(DP) --> (P)
6046 5F [ 3] 19 OUTF
6047 37 [ 4] 20 RTN
21
6048 12 5F [ 4] 22 LIP REG_Cout
604A 10 60 36 [ 8] 23 LIDP 0x6036 ;DP = 0x6036
604D 55 [ 3] 24 MVMD ;(DP) --> (P)
604E DF [ 2] 25 OUTC
604F 37 [ 4] 26 RTN
Download Software:
out.asm = Test OUT port for SHARP PC-1350 - written in AS61860 assembler
_AS_out.BAT - script, to run the AS61860 assembler in the Windows environment
out.txt - Test OUT port for SHARP PC-1350 - written in BASIC
Motor Control
; motor.asm = Motor Control for SHARP PC-1350
; AS61860 assembler, port IB7,IB8
6038 9 .ORG 0x6038
10 ; Motor Left
6038 12 5D [ 4] 11 LIP REG_IB
603A 60 7F [ 4] 12 ANIM 0x7F ;IB = IB & 0x7F
603C 61 80 [ 4] 13 ORIM 0x80 ;IB = IB | 0x80
603E DD [ 2] 14 OUTB
603F 37 [ 4] 15 RTN
16
17 ; Motor Right
6040 12 5D [ 4] 18 LIP REG_IB
6042 60 BF [ 4] 19 ANIM 0xBF ;IB = IB & 0xBF
6044 61 40 [ 4] 20 ORIM 0x40 ;IB = IB | 0x40
6046 DD [ 2] 21 OUTB
6047 37 [ 4] 22 RTN
23
24 ; Motor Stop
6048 12 5D [ 4] 25 LIP REG_IB
604A 60 3F [ 4] 26 ANIM 0x3F ;IB = IB & 0x3F
604C DD [ 2] 27 OUTB
604D 37 [ 4] 28 RTN
Download Software:
motor.asm = Motor control for SHARP PC-1350 - written in AS61860 assembler
_AS_motor.BAT - script, to run the AS61860 assembler in the Windows environment
motor.asm = Motor control for SHARP PC-1350 - written in BASIC
Capacitance Meter
; cap.asm = Capacitance Meter for SHARP PC-1350
; AS61860 assembler, port Xout,Xin
6038 9 .ORG 0x6038
6038 84 [ 2] 10 LP REG_XL
6039 60 00 [ 4] 11 ANIM 0x00
603B 85 [ 2] 12 LP REG_XH
603C 60 00 [ 4] 13 ANIM 0x00
603E 12 5F [ 4] 14 LIP REG_Cout
6040 61 50 [ 4] 15 ORIM 0x50 ; Xout
6042 DF [ 2] 16 OUTC
6043 17 loop1:
6043 04 [ 6] 18 IX ; X + 1 --> X, X --> DP
6044 6B 80 [ 4] 19 TEST 0x80 ; Xin --> z
6046 39 04 [ 7] 20 JRZM loop1
6048 10 60 36 [ 8] 21 LIDP 0x6036 ; DP = 0x6036
604B 1D [ 5] 22 SLW ; [SHIFT4LEFT(P); P-1 --> P] * I
604C 84 [ 2] 23 LP REG_XL
604D 53 [ 3] 24 MVDM ; (P) --> (DP)
604E 10 60 37 [ 8] 25 LIDP 0x6037 ; DP = 0x6037
6051 85 [ 2] 26 LP REG_XH
6052 53 [ 3] 27 MVDM ; (P) --> (DP)
6053 37 [ 4] 28 RTN
Download Software:
cap.asm = Capacitance Meter for SHARP PC-1350 - written in AS61860 assembler
_AS_cap.BAT - script, to run the AS61860 assembler in the Windows environment
cap.txt = Capacitance Meter for SHARP PC-1350 - written in BASIC
Wind Speed Meter
; wsm.asm = Wind Speed Meter for SHARP PC-1350
; AS61860 assembler, port IB7
6038 9 .ORG 0x6038
6038 84 [ 2] 10 LP REG_XL
6039 60 00 [ 4] 11 ANIM 0x00
603B 85 [ 2] 12 LP REG_XH
603C 60 00 [ 4] 13 ANIM 0x00
603E 86 [ 2] 14 LP REG_YL
603F 60 00 [ 4] 15 ANIM 0x00
6041 87 [ 2] 16 LP REG_YH
6042 60 00 [ 4] 17 ANIM 0x00
6044 18 loop0:
6044 04 [ 6] 19 IX ; X + 1 --> X, X --> DP
6045 20 loop1:
6045 63 71 [ 4] 21 CPIM 0x71 ; (P) - 0x71 --> c,z
6047 38 18 [ 7] 22 JRZP jump1
6049 06 [ 6] 23 IY ; Y + 1 --> Y, Y --> DP
604A CC [ 2] 24 INB ; Port B --> A
604B 66 40 [ 4] 25 TSIA 0x40 ; A & 0x40 --> z
604D 28 04 [ 7] 26 JRNZP jump2
604F 87 [ 2] 27 LP REG_YH
6050 2D 0C [ 7] 28 JRM loop1
6052 29 jump2:
6052 04 [ 6] 30 IX ; X + 1 --> X, X --> DP
6053 31 loop2:
6053 63 71 [ 4] 32 CPIM 0x71 ; (P) - 0x71 --> c,z
6055 38 0A [ 7] 33 JRZP jump1
6057 06 [ 6] 34 IY ; Y + 1 --> Y, Y --> DP
6058 CC [ 2] 35 INB ; Port B --> A
6059 66 40 [ 4] 36 TSIA 0x40 ; A & 0x40 --> z
605B 39 18 [ 7] 37 JRZM loop0
605D 87 [ 2] 38 LP REG_YH
605E 2D 0C [ 7] 39 JRM loop2
6060 40 jump1:
6060 05 [ 6] 41 DX ; X - 1 --> X, X --> DP
6061 84 [ 2] 42 LP REG_XL
6062 10 60 36 [ 8] 43 LIDP 0x6036
6065 53 [ 3] 44 MVDM ; (P) --> (DP)
6066 85 [ 2] 45 LP REG_XH
6067 10 60 37 [ 8] 46 LIDP 0x6037
606A 53 [ 3] 47 MVDM ; (P) --> (DP)
606B 37 [ 4] 48 RTN
Download Software:
wsm.asm = Wind Speed Meter for SHARP PC-1350 - written in AS61860 assembler
_AS_wsm.BAT - script, to run the AS61860 assembler in the Windows environment
wsm.txt = Wind Speed Meter for SHARP PC-1350 - written in BASIC
Link:
Sharp Pocket Computers - Manuals
Pocket Emulator
The pocket computer museum
SHARP Museum
The machine language of SC-61860
ASxxxx Cross Assemblers