//其他子程序或中断调用

1. ClearLCD

   中断调用: INT $8A2E

   清屏的作用,使屏幕什么都不显示

 

2. UpdateLCD

   中断调用: INT $8A15

   入口参数:

   显示小字  (0402) = 01   (0403) = 00

   显示大字  (0402) = 00   (0403) = 01

   (042D) = FF

   (042E) = FF

  刷新屏幕,我们要显示信息到屏幕,除了把相应数据送屏幕RAM,还要接着调用这个中断

  例如在屏幕上最左上角显示 "HELLO WORLD"

  先输入信息,从地址2000开始输入

  V 2000

  按输入法 输入"HELLO WORLD"

  写显示程序,从地址2010开始

  A 2010

  2010: INT $8A2E

  2013: LDX #$0B

  2015: LDA $2000,X

  2018: STA $02BF,X

  201B: DEX

  201C: BNE $2015

  201E: LDA #$01

  2020: STA $0402

  2023: LDA #$00

  2025: STA $0403

  2028: INT  $8A15

  202B: INT $C008

  202E: RTS

 

3. ReadKey

   中断调用: INT $C008 或 INT $C007

   读取用户按键的扫描码,送寄存器A

   所以我们使用该中断可以判断用户按了什么键

   我们进入NCTOOLS,按帮助,按 编程资料,按 键盘扫描,就可以获得各键的扫描码

 

4. ReadFlashData

   JSR $E917

   功能:读取指定页码的某闪存地址内容

   入口参数: 地址 05B4 放页码

             地址 C8 放目标地址低8位

             地址 C9 放目标地址高8位

             寄存器(Y) = 00

   出口参数: 寄存器A 放读取到的数据

 

  例如,读取03页码地址4000的内容

  A 2000

  2000: LDA #$03       ;页码送地址05B4

  2002: STA $05B4

  2005: LDA #$00       ;目标地址低8位送地址C8

  2007: STA $C8

  2009: LDA #$40       ;目标地址高8位送地址C9

  200B: STA $C9

  200D: LDY #$00       ;寄存器Y的内容为00

  200F: JSR $E917

  2012: RTS

  不过这里,寄存器Y的内容不一定就是00,如果是01,上面的程序就是读地址4001的内容

 

5. DELAY

   ①JSR $E02A

   延时的作用

   寄存器X设置延时时间长短

   例如:

   A 2000

   2000: LDX #$50

   2002: JSR $E02A

   2005: RTS

   ②JSR $E02D

    和上面一样,不过是寄存器Y设置延时时间长短

 

6. CheckPower

   电量检测

   中断调用: INT $021A

   若结果为0 代表电力足

   若结果不为0 代表电力不足

  例如 执行电量检测,若电力足,送01到地址3000

                    若电力不足,送00到地址3000

  A 2000

  2000: INT $021A

  2003: BEQ $200B

  2005: LDA #$00

  2007: STA $3000

  200A: RTS

  200B: LDA #$01

  200D: STA $3000

  2010: RTS

 

7. 内置DEBUG

   中断调用: INT $C40D