h08sci.lis
来自「项目是为日本瑞萨工作所做的BAKE炉温控系统 整个文件夹包括设计文档」· LIS 代码 · 共 367 行 · 第 1/2 页
LIS
367 行
005D 6F02 clr 2,X
005F 6F01 clr 1,X
0061 2021 bra L43
0063 L40:
0063 .dbline 70
0063 ; if ((ReSendStatusR & (1<<ReTestBit)) != 0)
0063 0B1612 brclr #5,0x16,L44
0066 .dbline 71
0066 ; {
0066 .dbline 72
0066 ; i=ReSendDataR;
0066 B618 lda 0x18
0068 F7 sta ,X
0069 .dbline 73
0069 ; *p=0x00;
0069 E606 lda 6,X
006B B700 sta *__r1
006D E605 lda 5,X
006F B700 sta *__r0
0071 4F clra
0072 5500 ldhx *__r0
0074 F7 sta ,x
0075 95 tsx
0076 .dbline 74
0076 ; break;
0076 201C bra L42
0078 L44:
0078 L41:
0078 .dbline 69
0078 E602 lda 2,X
007A AB01 add #1
007C E702 sta 2,X
007E E601 lda 1,X
0080 A900 adc #0
0082 E701 sta 1,X
0084 L43:
0084 .dbline 69
0084 E602 lda 2,X
0086 B700 sta *__r1
0088 E601 lda 1,X
008A B700 sta *__r0
008C 5500 ldhx *__r0
008E 65FBBB cphx #-1093
0091 95 tsx
0092 25CF blo L40
0094 L42:
0094 .dbline 77
0094 ; }
0094 ; //接受失败
0094 ; if(k>=0xfbbb)
0094 E602 lda 2,X
0096 B700 sta *__r1
0098 E601 lda 1,X
009A B700 sta *__r0
009C 5500 ldhx *__r0
009E 65FBBB cphx #-1093
00A1 95 tsx
00A2 2511 blo L46
00A4 .dbline 78
00A4 ; {
00A4 .dbline 79
00A4 ; i=0xff;
00A4 A6FF lda #-1
00A6 F7 sta ,X
00A7 .dbline 80
00A7 ; *p=0x01;
00A7 E606 lda 6,X
00A9 B700 sta *__r1
00AB E605 lda 5,X
00AD B700 sta *__r0
00AF A601 lda #1
00B1 5500 ldhx *__r0
00B3 F7 sta ,x
00B4 95 tsx
00B5 .dbline 81
00B5 ; }
00B5 L46:
00B5 .dbline 82
00B5 ; return i;
00B5 F6 lda ,X
00B6 .dbline -2
00B6 L39:
00B6 A703 ais #3
00B8 .dbline 0 ; func end
00B8 81 rts
00B9 .dbsym l i 0 c
00B9 .dbsym l k 1 i
00B9 .dbsym l p 5 pc
00B9 .dbend
00B9 .dbfunc e SCIReN _SCIReN fc
00B9 ; fp -> 0,X
00B9 ; m -> 1,X
00B9 ; ch -> 6,X
00B9 ; n -> 5,X
00B9 _SCIReN::
00B9 .dbline -1
00B9 A7FD ais #-3
00BB 95 tsx
00BC .dbline 91
00BC ; }
00BC ;
00BC ; //SCIReN:HC08串行接收N个字节-----------------------------------------------*
00BC ; //功 能:接收N个字节数据,并存放在ch数组中 *
00BC ; //参 数:待接收的数据字节数及其存放的数组首地址 *
00BC ; //返 回:接收标志=0 收到数据,=1 未收到数据 *
00BC ; //-------------------------------------------------------------------------*
00BC ; INT8U SCIReN(INT8U n,INT8U ch[])
00BC ; {
00BC .dbline 94
00BC ; int m;
00BC ; INT8U fp;
00BC ; m=0;
00BC 6F02 clr 2,X
00BE 6F01 clr 1,X
00C0 2031 bra L50
00C2 L49:
00C2 .dbline 96
00C2 ; while (m<n)
00C2 ; {
00C2 .dbline 97
00C2 ; ch[m]=SCIRe1(&fp);
00C2 89 pshx
00C3 8B pshh
00C4 CD005A jsr _SCIRe1
00C7 A702 ais #2
00C9 95 tsx
00CA B700 sta *__r1
00CC E602 lda 2,X
00CE EB07 add 7,X
00D0 B700 sta *__r3
00D2 E601 lda 1,X
00D4 E906 adc 6,X
00D6 B700 sta *__r2
00D8 B600 lda *__r1
00DA 5500 ldhx *__r2
00DC F7 sta ,x
00DD 95 tsx
00DE .dbline 98
00DE ; if (fp==1) return 1;
00DE F6 lda ,X
00DF A101 cmp #1
00E1 2604 bne L52
00E3 .dbline 98
00E3 A601 lda #1
00E5 2022 bra L48
00E7 L52:
00E7 .dbline 99
00E7 E602 lda 2,X
00E9 AB01 add #1
00EB E702 sta 2,X
00ED E601 lda 1,X
00EF A900 adc #0
00F1 E701 sta 1,X
00F3 .dbline 100
00F3 L50:
00F3 .dbline 95
00F3 3F00 clr *__r0
00F5 E605 lda 5,X
00F7 B700 sta *__r1
00F9 E602 lda 2,X
00FB B700 sta *__r3
00FD E601 lda 1,X
00FF B700 sta *__r2
0101 5500 ldhx *__r2
0103 7500 cphx *__r0
0105 95 tsx
0106 91BA blt L49
0108 .dbline 101
0108 ; m++;
0108 ; }
0108 ; return 0;
0108 4F clra
0109 .dbline -2
0109 L48:
0109 A703 ais #3
010B .dbline 0 ; func end
010B 81 rts
010C .dbsym l fp 0 c
010C .dbsym l m 1 I
010C .dbsym l ch 6 pc
010C .dbsym l n 5 c
010C .dbend
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?