AS61860 Assembler for SHARP Pocket Computers


Download Software: ASxxxx Cross Assemblers Version 5.20 for SC61860 and others procesor:
  • 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


    Link:
  • Sharp Pocket Computers - Manuals
  • Pocket Emulator
  • The pocket computer museum
  • SHARP Museum
  • The machine language of SC-61860
  • ASxxxx Cross Assemblers