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

📄 card.asm

📁 辞典 dict3.asm.grammar.asm,newword.asm 学习 learn.asm 名片 userinf.asm 备忘 userinf.asm 提醒 userinf
💻 ASM
📖 第 1 页 / 共 3 页
字号:
; ***************************************************************************
; *     Project : Electronic Dictionary                                     *
; *        Date : 2003.9                                                    *
; *   File Name : CARD.ASM                                                  *
; ***************************************************************************

 ;;=====================================================
;;          *****  RL268  dictionary   *****
;;            -----------------------------
;;        --------------------------------------
;;             RL electronic  Co., Ltd.
;;             ---------------------------
;;              Version 1.00   Date : 1/03
;;              --------------------------
;;               Written by : Jetty
;;               -----------------------
;;               MCU  : ST2202  ( Sitronix) ( 3 Vol. )
;;============================================================
        pw      128		;;LST's page width = 128 character
        case    off		;;Don't care Upper-case or lower-case
        externs on		;;Make all labels public.
        include st2202.def      ;; Include ST2100 I/O define.
        include Data.def        ;; Data RAM define.
        include Bios.h		;;some macro define and some"*help" define
        include Graphics.h	;;display macro
        include Graph.def	;;speech and melody define
        include KeyDef.def	;;key define and 十大属性按键定义
        include DataBank.def	;;define of rom bank

        INCLUDE ST2202.MAC	;;st2202 macro

        public  bCardEvent	;;card event (label)
        public  CardEvent	;;card event (label)
        ;;public  cardbank

        public  SearchSpareDir	;;search spare dir
        public  SearchSpareData	;;search spare data
        public  FillDirName	;;文件目录登记
        public  PutFatFlag	;;写文件相应的FAT
        public  PutDataToFlash	;;写文件到相应的Flash Data 区
        public  calstartaddr	;;calculate Write Flash Data StartAddr
        ;;
        public  ReadCardNo	;;Search And Get Total Files Of The Class
        public  ToFindDir	;;Find Dir Addr And Read Some Value
        public  ToFindDataINS	;;calculate Write Flash Data StartAddr(应该和calstartaddr合并)
        public  Write1kDataToFlash;;Write 1k Data To Flash from FData
        public  Read1kDataToRam	;;Read 1k Data To FData from Flash
        public  EraseFlashBuffor;;Erase Flash Buffor
        public  CmpCurCard_TotalCard;;比较(CurCardNo+CurCardOff)与(TotalCardNo)的大小
        public  DeleteCurRecord	;;Delete Current Record

        public  ShowNameCard	;;
        public  CopyDataToInputBuff;;读某一记录的内容到InputBuff
        ;;public  InitEndPoint	;;
        public  initeditcardbox	;;
        public  CountEdit	;;Get ItemTotal & EditCurLen From InputBuff

        public  BCardTLoad_1	;;显示一屏记录
        public  CharPrepareOK	;;
        public  editDelKey	;;\
        public  editrightkey	;; |
        public  editleftkey	;; |key treat
        public  UpKeyP		;; |
        public  DownKeyP	;;/

        public  cardname	;;
        public  downviewfun	;;\浏览名片内容状态
        public  upviewfun	;;/
        public  viewnamedown	;;\
        public  viewnameup	;; |浏览名片姓名状态
        public  ViewNameUpPage	;; |
        public  ViewNameDownPage;;/

        public  INCINS		;;\
        public  INCIND		;; |16 bit add or dec subroutine
        public  DECINS		;; |
        public  DECIND		;;/

        public  DirAddrH	;;\
        public  DirAddrL	;; |
        public  DirStructSize	;; |
        public  FatAddrH	;; |Constant
        public  FatAddrL	;; |
        public  FlashBuffH	;; |
	public	FatEndPointH	;;/

        public  DeletHintMsg	;;\
        public  SaveHintMsg	;; |
        public  NoRecordMessage	;; |message
        public  DeletConfirmMsg	;; |
        public  saveornotmsg	;;/

        public  ShowEditText	;;Show InputBuff
        public  GetItemHeadLen	;;Get Item head Length
        public  LoadScanF	;;
        public  EditKeyDown_6	;;

        public  DelayTimer	;;delay time (instruction mode)

        public  InitEditRenYiZi	;;初始显示化任意字查找

        public  EditKeypress	;;
        public  FindMatch	;;查找匹配子程序
        public  ReinputMsg	;;

;;--Constant Public--
        public  EditItemNum	;;\
        public  E_MailItem	;; |Constant
        public  TotalHeadLen	;; |
        public  Selectrelathelp	;;/

;;================================================================
;;               Ram define
;;================================================================
;;-- CData   equ     080h            ;; Common data area start location.
;;ram from gamestate to FindRelateBuff can only find in card.asm zl.
GameState       equ     CData+0		;indicate state
CardFlag        equ     CData+1		;

upordownselect	equ     CData+33	;;zl.

RelatItemDir    equ     CData+34	;
FindBuffAddrL   equ     Cdata+35	;
FindBuffAddrH   equ     Cdata+36	;
FindScreenNo    equ     Cdata+37	;
CurScreenTotalNum equ   Cdata+38	;
TempRelatItem   equ     CData+39	;

FindRelateBuff  equ     0700h           ;;temp define buff
;;4:------->1:   Amend card  0: New card

;--------------------------------------------------------------
                globals on                      ;; Public RAM.
;--------------------------------------------------------------
RelatItem       equ     CData+2
SectorOff       equ     CData+3
EndPoint        equ     CData+8
EndPointL       equ     CData+8
EndPointH       equ     CData+9
TempCount       equ     CData+10
TempCount1      equ     CData+11
TotalCardNoL    equ     CData+12
TotalCardNoH    equ     CData+13
SectorNo        equ     CData+14
FileLengthL     equ     CData+15
FileLengthH     equ     CData+16
FatFlag         equ     CData+17
CurCardNoL      equ     CData+18
CurCardNoH      equ     CData+19
CurCardOff      equ     CData+20
CurCardOffBak   equ     CData+21
NameBuffL       equ     CData+22
NameBuffH       equ     CData+23
FirstNameNoL    equ     CData+24
FirstNameNoH    equ     CData+25
TempCount3      equ     CData+26
TempCount4      equ     CData+27
FirstNameOff    equ     CData+28
TempBak1        equ     CData+29
TempBak2        equ     CData+30
FileClase       equ     CData+31
StartNamePos    equ     CData+32

;;============================================================
;;------Edit Variable Define----
;;============================================================
ItemTotal       equ     CData+40+1              ;;from 0 start
ItemHeadLen     equ     CData+40+2
LastCurx        equ     CData+40+3
LastCurY        equ     CData+40+4
EditTextL       equ     CData+40+5
EditTextH       equ     CData+40+6
EditEndFg       equ     CData+40+7
DspLineNo       equ     CData+40+8
EditItemNo      equ     CData+40+9

EditLen         equ     CData+40+10             ;;入口为文件长度(from 1 start)
EditLenL        equ     CData+40+10             ;;进入后变为BUFF结束点(from 1 start)
EditLenH        equ     CData+40+11

EditCurLen      equ     CData+40+12             ;;Current file Length(from 1 start)
EditCurLenL     equ     CData+40+12             ;;当前BUFF结束点(from 1 start)
EditCurLenH     equ     CData+40+13

BuffCurLocat    equ     CData+40+14             ;;Current Cursor Location
BuffCurLocatL   equ     CData+40+14
BuffCurLocatH   equ     CData+40+15
keynobak        equ     CData+40+16
;;============================================================
;;HData   equ     0ebh            ; Help register for help mode.
Itemlan         equ     NData           ;;280h 16个buffor
ItemHeadLenTab  equ     NData+10h       ;;16个buffor
NameBuff3       equ     NData+30h       ;;Temp value
SaveCurCard     equ     NData+20h
CurCardBuff     equ     260h    ;;~~269h 常用一屏名片BUFFOR 10个
;----------------------------------------------------------------
                globals off	;;Private RAM
;----------------------------------------------------------------
;;借用编辑器的变量:作常用名片,关系类查询等
FindCurCardNoBuff       equ     CData+40+1 ;;Save CurCardNo for 常用名片
;;CData+40+1~~~CData+40+10  总共一屏

;;================================================================
;;               Constant define
;;================================================================
DirAddrH        equ     80h
DirAddrL        equ     90h
FatAddrH        equ     80h
FatAddrL        equ     10h     	;48h
FatEndPointH	equ	0b0h

DirStructSize   equ     8
FlashBuffH      equ     0b0h

EditItemNum     equ     13              ;;from 0 start
EditTotalLenH   equ     01h
EditTotalLenL   equ     20h

E_MailItem      equ     7
CardItem        equ     13              ;;from 0 start
RelateItem      equ     1               ;;temp from 0 start
TotalHeadLen    equ     86
CardInitBuffLen	equ	104		;86+14+4(4为关系)
;;=====================================================
;;       Event vector table.
DS0     .SECTION                ;; Data ROM location 10000h(Bank#2)

	include	bookbmp.asm
;	include	zhang.asm
;;=====================================================
;;[V]-----------------------------------------------[V]
;;       Event process vector.
;;[V]-----------------------------------------------[V]
BCardEvent:
CardEvent:
        dw      CardBank	;;

        dw      THSec-1         ;; 半秒钟事件
        dw      TSec-1          ;; 一秒钟事件
        dw      TMin-1          ;; 一分钟事件
        dw      TKeyDown-1      ;; Key Down 事件	;not blank zl.
        dw      TKeyUp-1        ;; Key Up 事件
        dw      TTimer-1        ;; Timer 事件
        dw      TKeyPress-1     ;; Key press 事件	;not blank zl.
        dw      TLoad-1         ;; Enter Mode 事件
        dw      THelpRet-1      ;; Return from help mode.

CardName:    db      '姓名: ',0dh
CardRelate:  db      '组别: ',0dh
CardOff:     db      '电话: ',0dh               ;;
CardFax:     db      '传真: ',0dh               ;;
CardMob:     db      '手机: ',0dh               ;;
CardHom:     db      '宅电: ',0dh               ;;
CardCal:     db      '传呼: ',0dh               ;;
CardEML:     db      'E-MAIL: ',0dh             ;;E-mail
Corp:        db      '单位: ',0dh
CardAdd:     db      '地址: ',0dh               ;;
CardCod:     db      '邮编: ',0dh               ;;
QICQ:        db      'QICQ: ',0dh
Birthday:    db      '生日: ',0dh
CardMar:     db      '备注: ',0

MustInputName:  db      0dh
                db      '    必须输入姓名',0
DeletConfirmMsg:        db      0dh,'    确定删除吗?'
                        db      0dh,'   确定Y,  返回N',0
SaveHintMsg:    db      0dh,0dh
                db      '     存储中 ...',0
DeletHintMsg:   db      0dh,0dh,'     删除中 ...',0
NoRecordMessage:
                db      0dh,'       无记录',0
CardBeenDelete: db      '近访名片已被删除!',0
SaveOrNotMsg:   db      0dh,0dh,'    存储吗?(Y/N)',0

⌨️ 快捷键说明

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