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

📄 macro.lst

📁 Holtek audio decoder , Dongle 参考范例
💻 LST
📖 第 1 页 / 共 2 页
字号:
 198  0000              	inc	acc
 199  0000              	SZ	Z
 200  0000              	jmp	RR8_Modify_FF
 201  0000              	jmp	RR8_Modify_FF_End	
 202  0000              RR8_Modify_FF:
 203  0000              	clr	Y
 204  0000              	jmp	RR8_End
 205  0000              
 206  0000              RR8_Modify_FF_End:
 207  0000              	CLR	C
 208  0000              	MOV	A,X
 209  0000              	AND	A,80H
 210  0000              	SNZ	Z
 211  0000              	SET	C
 212  0000              	RRCA	X
 213  0000              	MOV	Y,A
 214  0000              
 215  0000              
 216  0000              
 217  0000              RR8_End:
 218  0000              ENDM
 219  0000              ;*******************************************************************************
 220  0000              ;		8 bit shift left with signed
 221  0000              ;		use 	RL16	X,Z
 222  0000              ;		operation
 223  0000              ;*******************************************************************************
 224  0000              RL8	MACRO	X,Y
 225  0000              	CLR	C
 226  0000              	RLCA	X
 227  0000              	MOV	Y,A
 228  0000              ENDM
 229  0000              
 230  0000              ;*******************************************************************************
 231  0000              ;		8 bit abs
 232  0000              ;		use 	ABS8	X,Y
 233  0000              ;		operation
 234  0000              ;*******************************************************************************
 235  0000              ABS8	MACRO	X,Y
 236  0000              	Local   ABS8_End
 237  0000              
 238  0000              	kmov	y,x
 239  0000              	mov	a,x
"File: MACRO.ASM     Holtek Cross-Assembler  Version 2.86      Page 5

 240  0000              	and	a,80H
 241  0000              	SZ	Z
 242  0000              	jmp	ABS8_End
 243  0000              	CPL	y
 244  0000              	INC	y
 245  0000              
 246  0000              ABS8_End:
 247  0000              
 248  0000              ENDM
 249  0000              
 250  0000              
 251  0000              
 252  0000              
 253  0000              
 254  0000              
 255  0000              ;*******************************************************************************
 256  0000              ;		kmov
 257  0000              ;		use 	kmov	destination,source
 258  0000              ;		operation
 259  0000              ;*******************************************************************************
 260  0000              KMOV      MACRO   mem1,mem2
 261  0000                              mov     a,mem2
 262  0000                              mov     mem1,a
 263  0000                        ENDM
 264  0000              
 265  0000              KOR       MACRO   mem1,mem2
 266  0000                              mov     a,mem2
 267  0000                              orm    a,mem1
 268  0000                        ENDM
 269  0000              
 270  0000              ;******* set tmr0
 271  0000              STMR0	MACRO	tm0h,tm0l
 272  0000              		mov	a,tm0h
 273  0000              		mov	tmr0h.a
 274  0000              		mov	a,tm0l
 275  0000              		mov     tmr0l,a
 276  0000              	ENDM
 277  0000              
 278  0000              
 279  0000              
 280  0000              ;*******************************************************************************
 281  0000              ;		make oled column address
 282  0000              ;		use 	oled_make_col_add	source,MSB,LSB
 283  0000              ;		
 284  0000              ;*******************************************************************************
 285  0000              oled_make_col_add	macro	mem1,mem2,mem3
 286  0000              	mov	a,0FH
 287  0000              	AND	a,mem1
 288  0000              	mov	mem3,a
 289  0000              	mov	a,70H
 290  0000              	and	a,mem1
 291  0000              	mov	mem2,a
 292  0000              	clr	c
 293  0000              	rrc	mem2
 294  0000              	clr	c	
 295  0000              	rrc	mem2
 296  0000              	clr	c
 297  0000              	rrc	mem2
 298  0000              	clr	c
 299  0000              	rrc	mem2
"File: MACRO.ASM     Holtek Cross-Assembler  Version 2.86      Page 6

 300  0000              	set	mem2.4
 301  0000              
 302  0000              endm
 303  0000              
 304  0000              
 305  0000              
 306  0000              ;***************************************
 307  0000              
 308  0000              XMOV        MACRO   mem2,mem1
 309  0000                              mov     a,mem1
 310  0000                              mov     mem2,a
 311  0000                          ENDM
 312  0000              ;-------------------------------------
 313  0000              ;;Move ARG2->ARG1(move by bit)
 314  0000              xmov1		MACRO	ARG1,ARG2
 315  0000              		LOCAL	xmov1_1,xmov1_end
 316  0000              		sz	ARG2
 317  0000              		jmp	xmov1_1
 318  0000              		clr	ARG1
 319  0000              		jmp	xmov1_end
 320  0000              xmov1_1:
 321  0000              		set	ARG1
 322  0000              xmov1_end:
 323  0000              		ENDM
 324  0000              ;-------------------------------------
 325  0000              ;;if MEM2=MEM1 =>Skip Next Instruction
 326  0000              EQUJMP      MACRO   MEM2,MEM1
 327  0000                              MOV     A,MEM1
 328  0000                              XOR     A,MEM2
 329  0000                              SNZ     Z
 330  0000                          ENDM
 331  0000              ;;------------------------
 332  0000                          
 333  0000              ;;if MEM2!=MEM1 =>Skip Next Instruction            
 334  0000              NEJMP       MACRO   MEM2,MEM1
 335  0000                              MOV     A,MEM1
 336  0000                              XOR     A,MEM2
 337  0000                              SZ      Z
 338  0000                          ENDM
 339  0000              ;;------------------------
 340  0000              ;;if (REG1==REG2) goto REG3
 341  0000              JLER		MACRO 	REG1,REG2,REG3
 342  0000                              mov	a,REG1
 343  0000              		sub	a,REG2
 344  0000                              sz	z
 345  0000              		jmp	REG3
 346  0000                          	ENDM
 347  0000              ;**********************************************
 348  0000              ;MACRO: JLNR
 349  0000              ;PURPOSE: REG1 != REG2 goto REG3
 350  0000              ;**********************************************
 351  0000              JLNR		MACRO 	REG1,REG2,REG3
 352  0000                              mov	a,REG1
 353  0000              		sub	a,REG2
 354  0000                              snz	z
 355  0000              		jmp	REG3
 356  0000                          	ENDM
 357  0000              ;;------------------------
 358  0000              ;;if MEM2>MEM1 =>Skip Next Instruction                      
 359  0000              LBRJ        MACRO   MEM2,MEM1
"File: MACRO.ASM     Holtek Cross-Assembler  Version 2.86      Page 7

 360  0000                              MOV     A,MEM1
 361  0000                              SUB     A,MEM2
 362  0000                              SZ      C
 363  0000                          ENDM
 364  0000              ;;------------------------
 365  0000              
 366  0000              ;;if MEM2<=MEM1 =>Skip Next Instruction                      
 367  0000              LSERJ       MACRO   MEM2,MEM1
 368  0000                              MOV     A,MEM1
 369  0000                              SUB     A,MEM2
 370  0000                              SNZ     C
 371  0000                          ENDM
 372  0000              ;;------------------------
 373  0000              
 374  0000              ;;if MEM2<MEM1 =>Skip Next Instruction          
 375  0000              LSRJ        MACRO   MEM2,MEM1
 376  0000                              MOV     A,MEM2
 377  0000                              SUB     A,MEM1
 378  0000                              SZ      C
 379  0000                          ENDM
 380  0000              ;;------------------------
 381  0000                          
 382  0000              ;;if MEM2>=MEM1 =>Skip Next Instruction          
 383  0000              LBERJ        MACRO   MEM2,MEM1
 384  0000                              MOV     A,MEM2
 385  0000                              SUB     A,MEM1
 386  0000                              SNZ     C
 387  0000                          ENDM
 388  0000              ;;------------------------
 389  0000              
 390  0000              SWAPWORD     MACRO      DA
 391  0000                           EQU        (DA>>8)+(DA<<8)
 392  0000                           ENDM
 393  0000              ;;------------------------
 394  0000              		


        0 Errors

⌨️ 快捷键说明

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