ctk-mouse-joy.s

来自「伟大的Contiki工程, 短小精悍 的操作系统, 学习编程不可不看」· S 代码 · 共 136 行

S
136
字号
;---------------------------------------------------------------------        .macpack        generic	.import		_ctk_mouse_joyx, _ctk_mouse_joyy	.import		_ctk_mouse_firebutton		.export		_ctk_mouse_joy	;---------------------------------------------------------------------.bsslastjoydy:	.res 1lastjoydx:	.res 1joydycnt:	.res 1joydxcnt:	.res 1	;---------------------------------------------------------------------.code;---------------------------------------------------------------------_ctk_mouse_joy:	  ldy $dc02	  lda #0          sta $dc02          lda $dc00          sty $dc02	  ldy #0	  ldx #0	  lsr	  bcs nodey	  deynodey:	  lsr	  bcs noiny	  inynoiny:	  lsr	  bcs nodex	  dexnodex:	  lsr	  bcs noinx	  inxnoinx:	  and #1	  eor #1	  ora _ctk_mouse_firebutton	  sta _ctk_mouse_firebutton	  cpy lastjoydy	  sty lastjoydy	  bne noydy	  tya	  pha	  inc joydycnt	  lda joydycnt          cmp #$1f          bmi nostajoydycnt          lda #$20	  sta joydycntnostajoydycnt:	  lsr	  lsr	  lsr	  lsr	  tay	  plaasldeyloop:	  asl	  dey	  bpl asldeyloop	  tay	  jmp ydynoydy:	  lda #0	  sta joydycntydy:	  tya	  clc	  adc _ctk_mouse_joyy	  cmp #240	  bcc :+	  lda #0:			 	  cmp #200 	  bcc :+ 	  lda #199		:	  sta _ctk_mouse_joyy		  cpx lastjoydx	  stx lastjoydx	  bne noxdx	  txa	  pha	  inc joydxcnt	  lda joydxcnt          cmp #$1f          bmi nostajoydxcnt          lda #$20	  sta joydxcntnostajoydxcnt:	  lsr	  lsr	  lsr	  lsr	  tax	  plaasldexloop:	  asl	  dex	  bpl asldexloop	  tax	  jmp xdxnoxdx:	  lda #0	  sta joydxcntxdx:	                                                                                       	  txa	  clc	  adc _ctk_mouse_joyx	  sta _ctk_mouse_joyx	  php	  lda #$ff	  cpx #0	  bmi nolda02	  lda #0nolda02:	  plp	  adc _ctk_mouse_joyx+1	  sta _ctk_mouse_joyx+1	  rts	                                                                                       

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?