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

📄 setiobit.asm

📁 凌阳unsp
💻 ASM
字号:
.INCLUDE  hardware.inc
.DATA
  Bit:   .DW 0xfffe,0xfffd,0xfffb,0xfff7,0xffef,0xffdf,0xffbf,0xff7f,0xfeff,0xfdff,0xfbff,0xf7ff,0xefff,0xdfff,0xbfff,0x7fff;//'0''1''2''3''4''5''6''7''8''9'的代码
  One:   .DW 0x0001,0x0002,0x0004,0x0008,0x0010,0x0020,0x0040,0x0080,0x0100,0x0200,0x0400,0x0800,0x1000,0x2000,0x4000,0x8000;

.CODE
.public _Set_IOA_Bit
.public Set_IOA_Bit
_Set_IOA_Bit: .PROC
Set_IOA_Bit:
    push bp to [sp];  
    bp = sp + 3  
    r4 = [bp+1]
    r1=  [P_IOA_Dir]
    r2= r4+Bit
    r2= [r2]
    r1= r1&r2
    r3 = [bp+2]
    cmp r3,0
    je AZeroDir
    r2= r4+One
    r2= [r2]
    r1= r1|r2
    [P_IOA_Dir]=r1
AZeroDir:
    [P_IOA_Dir]=r1 
    r1=  [P_IOA_Attrib]
    r2= r4+Bit
    r2= [r2]
    r1= r1&r2
    r3 = [bp+3]
    cmp r3,0
    je AZeroAttrib
    r2= r4+One
    r2= [r2]
    r1= r1|r2
    [P_IOA_Attrib]=r1
AZeroAttrib:
    [P_IOA_Attrib]=r1
    r1=  [P_IOA_Buffer]
    r2= r4+Bit
    r2= [r2]
    r1= r1&r2
    r3 = [bp+4]
    cmp r3,0
    je AZeroBuffer
    r2= r4+One
    r2= [r2]
    r1= r1|r2
    [P_IOA_Buffer]=r1
AZeroBuffer:
    [P_IOA_Buffer]=r1
    r1=  [P_IOA_Buffer]
    r2= r4+Bit
    r2= [r2]
    r1= r1&r2
    r3 = [bp+4]
    cmp r3,0
    je AZeroData
    r2= r4+One
    r2= [r2]
    r1= r1|r2
    [P_IOA_Data]=r1
AZeroData:
    [P_IOA_Data]=r1
    pop bp from [sp]
    retf;
.ENDP

.public _Set_IOB_Bit
.public Set_IOB_Bit
_Set_IOB_Bit: .PROC
Set_IOB_Bit:
    push bp to [sp];  
    bp = sp + 3 
    r4 = [bp+1]
    r1=  [P_IOB_Dir]
    r2= r4+Bit
    r2= [r2]
    r1= r1&r2
    r3 = [bp+2]
    cmp r3,0
    je BZeroDir
    r2= r4+One
    r2= [r2]
    r1= r1|r2
    [P_IOB_Dir]=r1
BZeroDir:
    [P_IOB_Dir]=r1 
    r1=  [P_IOB_Attrib]
    r2= r4+Bit
    r2= [r2]
    r1= r1&r2
    r3 = [bp+3]
    cmp r3,0
    je BZeroAttrib
    r2= r4+One
    r2= [r2]
    r1= r1|r2
    [P_IOB_Attrib]=r1
BZeroAttrib:
    [P_IOB_Attrib]=r1
    r1=  [P_IOB_Buffer]
    r2= r4+Bit
    r2= [r2]
    r1= r1&r2
    r3 = [bp+4]
    cmp r3,0
    je BZeroBuffer
    r2= r4+One
    r2= [r2]
    r1= r1|r2
    [P_IOB_Buffer]=r1
BZeroBuffer:
    [P_IOB_Buffer]=r1
    r1=  [P_IOB_Buffer]
    r2= r4+Bit
    r2= [r2]
    r1= r1&r2
    r3 = [bp+4]
    cmp r3,0
    je BZeroData
    r2= r4+One
    r2= [r2]
    r1= r1|r2
    [P_IOB_Data]=r1
BZeroData:
    [P_IOB_Data]=r1
    pop bp from [sp]
    retf;
.ENDP

                                    

⌨️ 快捷键说明

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