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

📄 io.lst

📁 HE48R/E05A 实现I/O模式的工作原理
💻 LST
字号:
文件:IO.ASM       盛群编译器版本 2.86 页次1


   1  0000              #include ht48r05A-1.inc


   2  0000              data .section 'data'
   3  0000              ;----------Initialize 
   4  0000  00          count1 db ?
   5  0001  00          count2 db ?
   6  0002  00          count3 db ?
   7  0003  00          cotA db ?
   8  0004  00          cotB db ?
   9  0005  00          stp0 db ?
  10  0006  00          stp1 db ?
  11  0007  00          stp2 db ?
  12  0008  00          stp3 db ?
  13  0009  00          statetemp db ?
  14  000A  00          tempAF  db  00000000b
  15  000B  FF          countAF  db 11111111b
  16  000C  00          tempkey db ?
  17  000D              ;----------Procedural block, Port initializes
  18  0000              code .section at 0 'code'
  19  0000                   org 00h
  20  0000  2801             jmp start
  21  0001              start:
  22  0001  1F13             clr pac
  23  0002  1F15             clr pbc
  24  0003  0FFF             mov a,0ffh
  25  0004  0097             mov pcc,a
  26  0005  1F12             clr pa
  27  0006  1F14             clr pb
  28  0007  1F16             clr pc
  29  0008              ;-------Delay-Protect
  30  0008  20B9            call DelayProtect     
  31  0009                  ;call DelayProtect
  32  0009              ;----------Initialize systematically
  33  0009  0F00             mov a,0
  34  000A  0080     R       mov statetemp,a
  35  000B              ;----------Hoster procedure body 
  36  000B              we:
  37  000B              ;-------Change New-Model
  38  000B  0F03         state_change:  mov a,00000011b
  39  000C  0600     R              	and a,statetemp
  40  000D  0080     R  				mov	stp0,a
  41  000E  0080     R  				mov stp1,a
  42  000F  0080     R  				mov stp2,a
  43  0010  0080     R    				mov stp3,a
  44  0011              ;--------Model-Judgement 
  45  0011  0F00                        mov a,0
  46  0012  0400     R  				xor a,stp0
  47  0013  0080     R                  mov tempkey,a 
  48  0014  1080     R    				sz tempkey
  49  0015  2817        				jmp change1
  50  0016  2829        				jmp state0
  51  0017  0F01               change1: mov a,00000001b
  52  0018  0400     R                  xor a,stp1
  53  0019  0080     R  				mov tempkey,a 
  54  001A  1080     R    				sz tempkey
  55  001B  281D        				jmp change2
  56  001C  283F          				jmp state1
  57  001D  0F02               change2: mov a,00000010b
文件:IO.ASM       盛群编译器版本 2.86 页次2

  58  001E  0400     R                  xor a,stp2
  59  001F  0080     R                  mov tempkey,a 
  60  0020  1080     R    				sz tempkey
  61  0021  2823        				jmp change3
  62  0022  2855        				jmp state2
  63  0023  0F03               change3: mov a,00000011b
  64  0024  0400     R                  xor a,stp3
  65  0025  0080     R            		mov tempkey,a 
  66  0026  1080     R    				sz tempkey
  67  0027  2829        				jmp state0 
  68  0028              ;----------------Change Error
  69  0028  286B                        jmp state3				
  70  0029  0F92        state0: mov a,10010010b
  71  002A  0092        	  mov pa,a
  72  002B  0F01              mov a,1
  73  002C  0080     R        mov cotA,a
  74  002D  0F05              mov a,5
  75  002E  0080     R        mov cotB,a
  76  002F                 	  st01:
  77  002F  2081                call Delayn
  78  0030  1780     R        sdz cotB
  79  0031  282F         	  jmp st01
  80  0032  1780     R        sdz cotA
  81  0033  282F              jmp st01  
  82  0034  1F12        		clr pa		
  83  0035  0F01        	  mov a,1
  84  0036  0080     R        mov cotA,a
  85  0037  0F05              mov a,5
  86  0038  0080     R        mov cotB,a
  87  0039                 	  st02:
  88  0039  2081                call Delayn
  89  003A  1780     R        sdz cotB
  90  003B  2839         	  jmp st02
  91  003C  1780     R        sdz cotA
  92  003D  2839              jmp st02
  93  003E  280B        		jmp we
  94  003F              state1:  
  95  003F  0FCC                 mov a,11001100b
  96  0040  0092        		 mov pa,a
  97  0041  0F01              mov a,1
  98  0042  0080     R        mov cotA,a
  99  0043  0F05              mov a,5
 100  0044  0080     R        mov cotB,a
 101  0045                 	  st11:
 102  0045  2081                 call Delayn
 103  0046  1780     R        sdz cotB
 104  0047  2845         	  jmp st11
 105  0048  1780     R        sdz cotA
 106  0049  2845              jmp st11
 107  004A  1F12        		 clr pa        
 108  004B  0F01        	  mov a,1
 109  004C  0080     R        mov cotA,a
 110  004D  0F05              mov a,5
 111  004E  0080     R        mov cotB,a
 112  004F                 	  st12:
 113  004F  2081                 call Delayn
 114  0050  1780     R        sdz cotB
 115  0051  284F         	  jmp st12
 116  0052  1780     R        sdz cotA
 117  0053  284F              jmp st12
文件:IO.ASM       盛群编译器版本 2.86 页次3

 118  0054  280B        		jmp we
 119  0055  0FE7        state2:  mov a,11100111b
 120  0056  0092        		 mov pa,a
 121  0057  0F01        	  mov a,1
 122  0058  0080     R        mov cotA,a
 123  0059  0F05              mov a,5
 124  005A  0080     R        mov cotB,a
 125  005B                 	  st21:
 126  005B  2081                call Delayn
 127  005C  1780     R        sdz cotB
 128  005D  285B         	  jmp st21
 129  005E  1780     R        sdz cotA
 130  005F  285B              jmp st21
 131  0060  1F12        		clr pa     	
 132  0061  0F01              mov a,1
 133  0062  0080     R        mov cotA,a
 134  0063  0F05              mov a,5
 135  0064  0080     R        mov cotB,a
 136  0065                 	  st22:
 137  0065  2081                call Delayn
 138  0066  1780     R        sdz cotB
 139  0067  2865         	  jmp st22
 140  0068  1780     R        sdz cotA
 141  0069  2865              jmp st22
 142  006A  280B        		jmp we
 143  006B  0FF3        state3:  mov a,11110011b
 144  006C  0092        		 mov pa,a
 145  006D  0F01              mov a,1
 146  006E  0080     R        mov cotA,a
 147  006F  0F05              mov a,5
 148  0070  0080     R        mov cotB,a
 149  0071                 	  st31:
 150  0071  2081                call Delayn
 151  0072  1780     R        sdz cotB
 152  0073  2871         	  jmp st31
 153  0074  1780     R        sdz cotA
 154  0075  2871              jmp st31
 155  0076  1F12        		clr pa		
 156  0077  0F01        	  mov a,1
 157  0078  0080     R        mov cotA,a
 158  0079  0F05              mov a,5
 159  007A  0080     R        mov cotB,a
 160  007B                 	  st32:
 161  007B  2081                call Delayn
 162  007C  1780     R        sdz cotB
 163  007D  287B         	  jmp st32
 164  007E  1780     R        sdz cotA
 165  007F  287B              jmp st32
 166  0080  280B          jmp we
 167  0081              ;Hoster prolong time processor bill
 168  0081              Delayn proc       
 169  0081  1780     R          sdz tempAF
 170  0082  2886                jmp  next
 171  0083  2893                jmp  changeAF      
 172  0084  1580     R                         nextAF: dec countAF
 173  0085  3514                                       clr pb.2                                
 174  0086  0F00           next:mov a,00000000b
 175  0087  0080     R          mov tempAF,a        
 176  0088  0716                mov a,pc
 177  0089  0E02                and a,00000010b
文件:IO.ASM       盛群编译器版本 2.86 页次4

 178  008A  0080     R          mov tempkey,a
 179  008B  20B0        		call delaykey
 180  008C  0716                mov a,pc
 181  008D  0E02                and a,00000010b
 182  008E  0600     R  		and a,tempkey
 183  008F  0080     R   		mov tempkey,a 
 184  0090  1080     R    	    sz tempkey
 185  0091  28AF                jmp enddelay
 186  0092  2893         		jmp changeAF        
 187  0093              changeAF:
 188  0093  3114                set pb.2
 189  0094  1780     R                       sdz countAF
 190  0095  2897                             jmp conAF
 191  0096  2884                             jmp nextAF
 192  0097                 
 193  0097  0F01          conAF:mov a,00000001b
 194  0098  0080     R          mov tempAF,a    
 195  0099  0716                mov a,pc
 196  009A  0E01                and a,00000001b
 197  009B  0080     R          mov tempkey,a
 198  009C  20B0        		call delaykey
 199  009D  0716                mov a,pc
 200  009E  0E01                and a,00000001b
 201  009F  0600     R  		and a,tempkey
 202  00A0  0080     R   		mov tempkey,a 
 203  00A1  1080     R    		sz tempkey                   
 204  00A2  28AF                jmp enddelay
 205  00A3  28A4         		jmp changeINC                     
 206  00A4              changeINC:
 207  00A4                      ;call DelayProtect 
 208  00A4  3514                clr pb.2
 209  00A5  0F00                mov a,00000000b
 210  00A6  0080     R          mov tempAF,a 
 211  00A7  0F03                mov a,00000011b 
 212  00A8  0600     R          and a,statetemp        
 213  00A9              ;=====    Model inc    ========
 214  00A9  1480     R          inc statetemp 
 215  00AA  0F03                mov a,00000011b 
 216  00AB  0600     R          and a,statetemp     
 217  00AC  0080     R          mov statetemp,a
 218  00AD  0094                mov pb,a
 219  00AE  28AF                jmp enddelay
 220  00AF  0003        enddelay: ret 
 221  00B0                      Delayn endp
 222  00B0              ;----Press key disappears quiver delay 
 223  00B0              delaykey proc
 224  00B0  0F64        	mov a,64h
 225  00B1  0080     R  	mov count1,a
 226  00B2  0FFF            mov a,0ffh
 227  00B3  0080     R      mov count2,a
 228  00B4                del:
 229  00B4  1780     R  	sdz count2
 230  00B5  28B4            jmp del
 231  00B6  1780     R      sdz count1
 232  00B7  28B4        	jmp del
 233  00B8  0003        	ret
 234  00B9              delaykey endp
 235  00B9              DelayProtect proc
 236  00B9  0F0A            mov a,00ah
 237  00BA  0080     R      mov count1,a
文件:IO.ASM       盛群编译器版本 2.86 页次5

 238  00BB  0FFF            mov a,0ffh
 239  00BC  0080     R      mov count2,a
 240  00BD  0080     R      mov count3,a
 241  00BE                delp:
 242  00BE  1780     R      sdz count3 
 243  00BF  28BE        	jmp delp
 244  00C0  1780     R      sdz count2
 245  00C1  28BE            jmp delp
 246  00C2  1780     R      sdz count1
 247  00C3  28BE            jmp delp
 248  00C4  0003            ret
 249  00C5              DelayProtect endp
 250  00C5              
 251  00C5              end  


        0 Errors

⌨️ 快捷键说明

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