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

📄 sle2.asm

📁 c语言和汇编语言混合编程实例详解.rar
💻 ASM
字号:
;这是读SLE4442卡汇编语言程序,文件名为SLE2.ASM,
;功能:  读存储器的三个区域:主存储器,保护存储器,加密存储器
;(1) CBYTE1 EQU 30H    ;读主存储器
;    ABYTE2 EQU 0F0H   ;地址(00-ffh)
;(2) CBYTE1 EQU 34H    ;读保护存储器,地址(0-31bit)
;(3) CBYTE1 EQU 31H    ;读加密存储器,地址(00-03H)

RST BIT P1.0
CLK BIT P1.1
IO  BIT P1.2
VDD BIT P1.3

CBYTE1 EQU 30H  ;30H、34H、31H分别是读主存储器、保护存储器、加密存储器
ABYTE2 EQU 0F0H ;地址(00-ff)
DBYTE3 EQU 55H
DATA1  EQU 20H

           ORG 0000H
   	   LJMP MAIN
	   ORG 0040H
MAIN:      MOV SP,#30H
           CLR EA
           CLR VDD
           LCALL RESET
           LCALL WCOMM
           LCALL RRQ
           SETB VDD
           SJMP $
RESET:    MOV R1, #32
	  CLR        RST
	  CLR        CLK
	  LCALL      DY
	  SETB       RST
	  LCALL      DY
	  SETB       CLK
	  LCALL      DY
	  CLR        CLK
	  LCALL      DY
	  CLR        RST
RESET0:   SETB       CLK
	  LCALL      DY
	  CLR        CLK
	  LCALL      DY
	  DJNZ       R1, RESET0
	  RET
WCOMM:    LCALL      START
	  MOV A, #CBYTE1
	  LCALL      WBYTE
	  MOV A, #ABYTE2
          LCALL      WBYTE
          MOV A, #DBYTE3
          LCALL      WBYTE
	  LCALL      STOP
	  RET
START:    SETB       IO
          LCALL      DY
          SETB       CLK
          LCALL      DY
          CLR        IO
          LCALL      DY
          CLR        CLK
          RET
STOP:     CLR        CLK
	  LCALL      DY
	  CLR        IO
	  LCALL      DY
	  SETB       CLK
	  LCALL      DY
	  SETB       IO
	  RET
WBYTE:    MOV        R3,#08H
WBYTE1:   RRC        A
	  MOV        IO,C
	  SETB       CLK
	  LCALL      DY
	  CLR        CLK
	  LCALL      DY
	  DJNZ       R3,WBYTE1
	  RET
PCLOCK:   MOV        R1,#DATA1
PCLOCK1:  CLR        CLK
	  LCALL      DY
	  SETB       CLK
	  LCALL      DY
	  DJNZ       R1,PCLOCK1
	  CLR        CLK
	  LCALL      DY
	  RET
RRQ:      MOV R0,#40H   ;R0中放读出数存放区首址,R4中放读出字节个数
          MOV R4,#16
RDATA:    LCALL      RBYTE
	  MOV        @R0,A
	  INC        R0
	  DJNZ       R4,RDATA
	  CLR        CLK
	  LCALL      DY
          RET
RBYTE:    MOV        R3,#08H
RBYTE1:   CLR        CLK
	  LCALL      DY
	  SETB       CLK
	  MOV        C,IO
	  RRC        A
	  LCALL      DY
	  DJNZ       R3,RBYTE1
	  RET
DY:       MOV        R7,#40H
DY1:      DJNZ       R7,DY1
	  RET
	  END

⌨️ 快捷键说明

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