⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prog44e.asm

📁 包括了各种常用的8051单片机的程序
💻 ASM
📖 第 1 页 / 共 2 页
字号:
  pop     ACC                   ;  Restore the Stack

  clr     A                     ;  Return a "Pause" of One Cycle

  ret


GetFrosty:                      ;  Return the Note Value for "Frosty the Snowman"

  pop     ACC                   ;  Restore the Offset into the Tune

  add     A,#(FrostyTable-InitFrostyTable)  ;  Restore the Table Position with Note
  movc A,@A+PC			;  Get the Table Value
InitFrostyTable:		;  Table Offset to Display

  ret

FrostyTable:                    ;  Frosty the Snowman
  Note (LG,4)                   ;  Finally, Play "Frosty"
  Note (LE,3)
  Note (LF,1)
  Note (LG,2)
  Note (HC,4)
  Note (HB,1)
  Note (HC,1)
  Note (HD,2)
  Note (HC,2)
  Note (HB,2)
  Note (HA,2)
  Note (LG,6)
  Note (HB,1)
  Note (HC,1)
  Note (HD,2)
  Note (HC,2)
  Note (HB,2)
  Note (HA,1)
  Note (HA,1)
  Note (LG,2)
  Note (HC,2)
  Note (LE,2)
  Note (LG,1)
  Note (HA,1)
  Note (LG,2)
  Note (LF,2)
  Note (LE,2)
  Note (LF,2)
  Note (LG,6)
  Note (LC,2)
  Note (HA,2)
  Note (HA,2)
  Note (HC,2)
  Note (HC,2)
  Note (HB,2)
  Note (HA,2)
  Note (LG,2)
  Note (LE,2)
  Note (LF,2)
  Note (HA,2)
  Note (LG,2)
  Note (LF,2)
  Note (LE,6)
  Note (LE,2)
  Note (LD,2)
  Note (LD,2)
  Note (LG,2)
  Note (LG,2)
  Note (HB,2)
  Note (HB,2)
  Note (HD,2)
  Note (HD,1)
  Note (HB,1)
  Note (HD,2)
  Note (HC,2)
  Note (HB,2)
  Note (HA,2)
  Note (LG,4)
  Note (LG,4)
  db      0     ;  End of the Tune


GetJTW:                         ;  "Joy To the World"

  pop     ACC                   ;  Restore the Offset into the Tune

  add     A,#(JTWTable-InitJTWTable)  ;  Restore the Table Position with Note
  movc A,@A+PC			;  Get the Table Value
InitJTWTable:                   ;  Table Offset to Display

  ret

JTWTable:                       ;  "Joy to the World"
  Note (HC,4)
  Note (HB,3)
  Note (HA,1)
  Note (LG,6)
  Note (LF,2)
  Note (LE,4)
  Note (LD,4)
  Note (LC,6)
  Note (LG,2)
  Note (HA,6)
  Note (HA,2)
  Note (HB,6)
  Note (HB,2)
  Note (HC,6)
  Note (HC,2)
  Note (HC,2)
  Note (HB,2)
  Note (HA,2)
  Note (LG,2)
  Note (LG,3)
  Note (LF,1)
  Note (LE,2)
  Note (HC,2)
  Note (HC,2)
  Note (HB,2)
  Note (HA,2)
  Note (LG,2)
  Note (LG,3)
  Note (LF,1)
  Note (LE,2)
  Note (LE,2)
  Note (LE,2)
  Note (LE,2)
  Note (LE,1)
  Note (LF,1)
  Note (LG,6)
  Note (LF,1)
  Note (LE,1)
  Note (LD,2)
  Note (LD,2)
  Note (LD,2)
  Note (LD,1)
  Note (LE,1)
  Note (LF,6)
  Note (LE,1)
  Note (LD,1)
  Note (LC,2)
  Note (HC,4)
  Note (HA,2)
  Note (LG,3)
  Note (LF,1)
  Note (LE,2)
  Note (LF,2)
  Note (LE,4)
  Note (LD,4)
  Note (LC,7)
  db      0     ;  End of the Tune


GetDuckie:                      ;  Ernie's "Rubber Duckie"

  pop     ACC                   ;  Restore the Offset into the Tune

  add     A,#(DuckieTable-InitDuckieTable)  ;  Restore the Table Position with Note
  movc A,@A+PC			;  Get the Table Value
InitDuckieTable:                ;  Table Offset to Display

  ret

DuckieTable:                    ;  "Rubber Duckie"
  Note (LD,2)
  Note (LCS,2)
  Note (LD,2)
  Note (LF,6)
  Note (LE,4)
  Note (HAS,3)
  Note (HA,5)
  Note (0,2)
  Note (LF,2)
  Note (LE,2)
  Note (LF,2)
  Note (LFS,2)
  Note (LG,4)
  Note (HD,3)
  Note (HC,5)
  Note (0,2)
  Note (HAS,2)
  Note (HA,2)
  Note (HAS,2)
  Note (LF,2)
  Note (LD,2)
  Note (LDS,2)
  Note (LF,2)
  Note (LDS,2)
  Note (LD,2)
  Note (LC,2)
  Note (LC,2)
  Note (LF,7)
  db      0     ;  End of the Tune


GetScale:                       ;  Ernie's "Rubber Duckie"

  pop     ACC                   ;  Restore the Offset into the Tune

  add     A,#(ScaleTable-InitScaleTable)  ;  Restore the Table Position with Note
  movc A,@A+PC			;  Get the Table Value
InitScaleTable:                 ;  Table Offset to Display

  ret

ScaleTable:                     ;  "Rubber Duckie"
  Note (LC,2)
  Note (LD,2)
  Note (LE,2)
  Note (LF,2)
  Note (LG,2)
  Note (HA,2)
  Note (HB,2)
  Note (HC,2)
  db      0     ;  End of the Tune


GetBackScale:                   ;  Backward's Scale

  pop     ACC                   ;  Restore the Offset into the Tune

  add     A,#(BackScaleTable-InitBackScaleTable)  ;  Restore the Table Position with Note
  movc A,@A+PC			;  Get the Table Value
InitBackScaleTable:             ;  Table Offset to Display

  ret

BackScaleTable:                     
  Note (HC,2)
  Note (HB,2)
  Note (HA,2)
  Note (LG,2)
  Note (LF,2)
  Note (LE,2)
  Note (LD,2)
  Note (LC,2)
  db      0     ;  End of the Tune


GetHawaii:                      ;  "Hawaii Five-O" Theme

  pop     ACC                   ;  Restore the Offset into the Tune

  add     A,#(HawaiiTable-InitHawaiiTable)  ;  Restore the Table Position with Note
  movc A,@A+PC			;  Get the Table Value
InitHawaiiTable:                ;  Table Offset to Display

  ret

HawaiiTable:                     
  Note (LG,1)
  Note (LG,1)
  Note (HAS,1)
  Note (HD,2)
  Note (HC,4)
  Note (LG,5)
  Note (0,2)
  Note (LG,1)
  Note (LG,1)
  Note (LF,1)
  Note (HAS,2)
  Note (LG,7)
  Note (0,4)
  Note (LG,1)
  Note (LG,1)
  Note (HAS,1)
  Note (HD,2)
  Note (HC,4)
  Note (LG,5)
  db      0     ;  End of the Tune


GetMidC:                        ;  Middle "C"

  pop     ACC                   ;  Restore the Offset into the Tune

  add     A,#(MidCTable-InitMidCTable)  ;  Restore the Table Position with Note
  movc A,@A+PC			;  Get the Table Value
InitMidCTable:                  ;  Table Offset to Display

  ret

MidCTable:                     
  Note (LC,7)
  db      0     ;  End of the Tune


GetLD:                          ;  Low "D"

  pop     ACC                   ;  Restore the Offset into the Tune

  add     A,#(LDTable-InitLDTable)  ;  Restore the Table Position with Note
  movc A,@A+PC			;  Get the Table Value
InitLDTable:                    ;  Table Offset to Display

  ret

LDTable:                     
  Note (LD,7)
  db      0     ;  End of the Tune


GetLE:                          ;  Low "E"

  pop     ACC                   ;  Restore the Offset into the Tune

  add     A,#(LETable-InitLETable)  ;  Restore the Table Position with Note
  movc A,@A+PC			;  Get the Table Value
InitLETable:                    ;  Table Offset to Display

  ret

LETable:                     
  Note (LE,7)
  db      0     ;  End of the Tune


GetLF:                          ;  Low "F"

  pop     ACC                   ;  Restore the Offset into the Tune

  add     A,#(LFTable-InitLFTable)  ;  Restore the Table Position with Note
  movc A,@A+PC			;  Get the Table Value
InitLFTable:                    ;  Table Offset to Display

  ret

LFTable:                     
  Note (LF,7)
  db      0     ;  End of the Tune


GetLG:                          ;  Low "G"

  pop     ACC                   ;  Restore the Offset into the Tune

  add     A,#(LGTable-InitLGTable)  ;  Restore the Table Position with Note
  movc A,@A+PC			;  Get the Table Value
InitLGTable:                    ;  Table Offset to Display

  ret

LGTable:                     
  Note (LG,7)
  db      0     ;  End of the Tune


GetLA:                          ;  Low "A"

  pop     ACC                   ;  Restore the Offset into the Tune

  add     A,#(LATable-InitLATable)  ;  Restore the Table Position with Note
  movc A,@A+PC			;  Get the Table Value
InitLATable:                    ;  Table Offset to Display

  ret

LATable:                     
  Note (LA,7)
  db      0     ;  End of the Tune

⌨️ 快捷键说明

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