📄 74164.lis
字号:
.module _74164.c
.area text(rom, con, rel)
0000 .dbfile G:\IccPro\ucos_m8_icc\source\74164.c
0000 .dbfunc e init164 _init164 fV
.even
0000 _init164::
0000 .dbline -1
0000 .dbline 6
0000 ;
0000 ; #ifndef OS_MASTER_FILE
0000 ; #include "includes.h"
0000 ; #endif
0000 ;
0000 ; void init164(void){
0000 .dbline 7
0000 ; DDRB |= 0x01;
0000 B89A sbi 0x17,0
0002 .dbline 8
0002 ; DDRD |= 0xC0;
0002 81B3 in R24,0x11
0004 806C ori R24,192
0006 81BB out 0x11,R24
0008 .dbline -2
0008 L2:
0008 .dbline 0 ; func end
0008 0895 ret
000A .dbend
000A .dbfunc e write164 _write164 fV
000A ; ch -> R10
000A ; i -> R12
000A ; x -> R16
.even
000A _write164::
000A 00D0 rcall push_gset4x
000C .dbline -1
000C .dbline 11
000C ; }
000C ;
000C ; void write164(unsigned char x){
000C .dbline 14
000C ; unsigned char i,ch;
000C ;
000C ; ch = x;
000C A02E mov R10,R16
000E .dbline 15
000E ; PORTB &= ~0x01; // 消隐
000E C098 cbi 0x18,0
0010 .dbline 16
0010 ; PORTD &= ~0x40; // CLK
0010 9698 cbi 0x12,6
0012 .dbline 17
0012 CC24 clr R12
0014 0AC0 rjmp L7
0016 L4:
0016 .dbline 17
0016 ; for(i=0; i<8; i++){
0016 .dbline 18
0016 ; if(ch & 0x80)
0016 A7FE sbrs R10,7
0018 02C0 rjmp L8
001A .dbline 19
001A ; PORTD |= 0x80;
001A 979A sbi 0x12,7
001C 01C0 rjmp L9
001E L8:
001E .dbline 21
001E ; else
001E ; PORTD &= ~0x80;
001E 9798 cbi 0x12,7
0020 L9:
0020 .dbline 22
0020 AA0C lsl R10
0022 .dbline 23
0022 969A sbi 0x12,6
0024 .dbline 24
0024 0000 nop
0026 .dbline 25
0026 9698 cbi 0x12,6
0028 .dbline 26
0028 L5:
0028 .dbline 17
0028 C394 inc R12
002A L7:
002A .dbline 17
002A 8C2D mov R24,R12
002C 8830 cpi R24,8
002E 98F3 brlo L4
0030 .dbline 27
0030 ; ch <<= 1;
0030 ; PORTD |= 0x40;
0030 ; asm("nop");
0030 ; PORTD &= ~0x40;
0030 ; }
0030 ; PORTB |= 0x01; // 显示
0030 C09A sbi 0x18,0
0032 .dbline -2
0032 L3:
0032 00D0 rcall pop_gset4x
0034 .dbline 0 ; func end
0034 0895 ret
0036 .dbsym r ch 10 c
0036 .dbsym r i 12 c
0036 .dbsym r x 16 c
0036 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -