可编程中断控制器8259A

微机接口技术——中断

中断的基本概念

中断:是指CPU在执行程序的过程中,由于某种外部或内部事件的作用,使CPU停止当前正在执行的程序而转去为该事件服务,待时间服务结束后,又能自动返回到被中止了的程序中继续执行的过程。

中断源:能够引发CPU中断的信息源

比如:8254 0#,由此引发的中断称为日时钟中断;

键盘接口,由此引发的中断称为键盘中断;

设备故障,由此引发的中断称为故障中断

中断的分类

  • 外部中断 : 外部事件引发的中断

    • 即由CPU以外的设备发出,并由CPU的中断请求信号引脚输入所引发的中断称为外部中断,也叫硬件中断
  • 内部中断 : 由CPU内部事件,即由CPU硬件故障或程序执行中的事件所引发的中断称为内部中断。

    ​ 拓展:又分为软件中断和异常

    • 软件中断 : 执行有定义的INT n指令而引发的中断

      • BIOS中断
      • DOS中断
        • DOS专用中断
        • DOS保留中断
        • 用户可调用的DOS中断
        • 保留给用户开发的中断
    • 异常 : 由于CPU本身故障、程序故障等引发的中断

      • 故障(Fault)
      • 陷阱(Trap)
      • 中止(Abort)
  • 软件中断由于程序事先安排好,因此发生时间可预知;而外部中断和异常的发生是随机的。

中断系统为实现中断而采取的硬件,软件措施

中断系统应具备的基本功能

  • 对于硬件中断,接口电路中应具备屏蔽开放的功能,这种功能由程序员通过软件去控制。

  • 能实现中断判优(中断排队),当有多个中断源提出请求时,应能优先响应高级别的中断。

  • 能够实现中断嵌套,即高级别的中断源能够中断低级别中断服务程序

  • 响应中断后,能自动转入中断处理,处理完毕能自动返回断点

80X86 中断指令

  1. 开中断指令 STI

    ​ 功能:使F寄存器中I标志置1,CPU处于开中断状态

  2. 关中断指令 CLI

    ​ 功能:使F寄存器中I标志置0,CPU处于关中断状态。

  3. 软件中断指令 INT n

    ​ 为中断类型码,n为0~255之间有定义的无符号整数

    ​ 功能:无条件转向n型中断服务子程序

  4. 中断返回指令 IRET

    ​ 功能:依次从栈顶弹出6个元素→ IP,CS,F

    ​ 如果栈顶INT n断口地址,则执行IRET后,返回断点,否则不能。

请添加图片描述

  • IRET 是中断服务子程序的出口指令

  • IRETRET的区别

    • IRET从栈顶弹出6 个元素→ IP,CS,F

      远程RET,从栈顶弹出4个元素→ IP,CS

      近程RET,从栈顶弹出2个元素→IP

中断向量和中断向量表

  • 中断系统是为实现中断而采取的软,硬件措施

  • 中断指令中断向量中断向量表是实现中断的重要软件措施。

CPU依据中断向量号获取中断服务子程序入口地址,但在实模式下和保护模式下采用不同的途径:

  1. 中断向量中断向量是实模式下,中断服务子程序的入口地址

    它由2部分组成:

    • 服务程序所在代码段的段基址 2 个字节
    • 服务程序入口的偏移地址 2 个字节
    • 中断服务程序入口的物理地址 = 段 基 址 ( 十 六 进 制 ) × 16 + 偏 移 地 址 ( 十 六 进 制 ) 段基址(十六进制) \times 16 + 偏移地址(十六进制) ()×16+()
      • 2 4 = 16 2^4 = 16 24=16, 对于二进制就是左移4位, 对十六进制就是左移一位
  2. 中断向量表: 所有中断向量的集合

  3. 中断向量表的设置

    CPU规定:在实模式下,中断向量表需设置在系统的RAM最低端1K单元(0 ~ 3FFH)

  4. 中断向量表的表地址与中断类型的关系

    举个栗子 : 21H型中断向量:存放在84H~ 87H单元中

    ​ 问:9CH型中断向量存放在何处?

    解: ∵ 9 C H × 4 = 9CH× 4= 9CH×4= 10011100 00 = 270 H =270H =270H

    ​ ∴ 9 C H 9CH 9CH型中断向量存于 270 H ~ 273 H 270H ~ 273H 270H273H单元中

    注: n × 4 = n 的 二 进 制 后 接 00 n\times 4 = n的二进制后接00 n×4=n00 即相当二进制后面接两个零, 相当于 2 2 = 4 2^2 = 4 22=4

    十进制数后加0相当于乘以10; 同理, 二进制数后加0相当于乘以2.


请添加图片描述


请添加图片描述


请添加图片描述


请添加图片描述


  • 每个入口占用4 Bytes (即每个中断向量占4字节), 低字为段内偏移 , 高字为段基址;
  • 中断向量表大小为1 KB (即1024 Bytes) , 共 256 个入口
    • 每个中断号对应的中断向量占4个字节, 有256个中断号, 4 × 256 = 1024 4\times 256 = 1024 4×256=1024个字节, 即 1 K B 1KB 1KB.

例子:某中断的中断类型号为68H,试述中断操作过程。

​ 解:

​ ① 取中断类型号68H

​ ② 计算中断向量地址 68 H × 4 = 1 A 0 H 68H×4=1A0H 68H×4=1A0H

​ ③ 取中断入口地址 C S = A 000 H CS=A000H CS=A000H I P = 2050 H IP=2050H IP=2050H

​ ④ 转向中断服务程序

​ ⑤ 返回到INT 68H的下一条指令

请添加图片描述


保护模式为32位寻址。中断描述符表IDT每一表项对应一个中断向量号,表项称为中断门描述符陷阱门描述符。这些门描述符为8字节长,对应256个中断向量号IDT表长为 2 K B 2KB 2KB。由中断描述符表寄存器IDTR来指示IDT的内存地址。

以中断向量号乘以8作为访问IDT的偏移,读取相应的中断门/陷阱门描述符表项。门描述符给出中断服务子程序入口地址(段,偏移),其中32位偏移量装入EIP寄存器,16位的段值装 入CS寄存器。由于此段值是选择符,还必须访问GDTLDT,才得到段的基地址。

请添加图片描述


系统中断的分类

请添加图片描述

一.CPU中断

CPU中断是指:CPU执行某些操作而引发的中断,这类中断使用了0、1、3、4、6、7中断号。

  1. 除法错中断—— 0型中断

    ​ CPU执行DIVIDIV指令,如果除数为0,或者商数超出寄存器的表示范围,CPU自动调用0型中断服务程序。

  2. 单步中断—— 1型中断

    ​ 当标志寄存器的T标志为1时,CPU一条指令执行完毕,自动调用1型中断服务程序。但是, DOS为1型中断设计的服务程序只有一条IRET指令。实际上,单步中断是因为DEBUG程序的需要而设计的。在用户程序中执行“INT 1”指令是毫无意义的。

  3. 断点中断—— 3型中断

    CPU执行“INT 3”指令后,调用3型中断服务程序,而DOS系统的3型中断服务程序也只有一条IRET指令。断点中断也是因为DEBUG 程序的需要而设计的。

  4. 溢出中断—— 4型中断

    对应的软件中断指令有两种汇编格式

    ① INTO

    ② INT 4

    当FLAG寄存器的溢出标志为1,在这种条件下,执行“INTO”指令,将会调用4型服务程序。

二. 软件中断

​ 执行有定义的INT n指令而引发的中断,称为软件中断。在这里,之所以加了“有定义的”这一限制词,是因为并非所有的中断号都有与之配套的中断服务程序。

​ 软件中断使用05H, 10H~FFH中的若干个中断号。软件中断又可分为BIOS中断、DOS中断

三. 硬件中断

1、不可屏蔽中断

​ 定义:不受CPU内的中断允许触发器IF控制的中断。

​ 与CPU连接:由 8086 C P U 8086CPU 8086CPU N M I NMI NMI管脚引入。上升沿触发,高电平应保持两个时钟周期

​ 影响:这种中断一旦产生,在CPU内部直接生成中断类型号02

2、可屏蔽中断

定义:是用户可以控制的中断

途径:是通过对CPU的IF的设置来禁止和允许CPU响应中断。

与CPU连接

  • I N T R INTR INTR管脚引入。

  • 设备需要提供中断类型号

  • CPU响应中断后,取中断类型号的4倍作为中断服务入口地址表的地址,通过查表得到相应的中断服务程序首地址,转去执行相应的中断服务程序。


可编程中断控制器8259A

一、8259A的功能及工作特点

  1. 功能:

    1)1片 8259 A 8259A 8259A管理8级中断,并对其进行优先级管理;面向CPU的专用接口,是辅助CPU进行中断管理的。

    2)9片 8259 A 8259A 8259A组成的主从式中断系统可管理64级中断,并对其进行优先级管理

    3)对中断源有屏蔽允许中断申请的操作。

    4)能自动送出中断类型码,使CPU迅速找到中断处理子程序的入口地址

  2. 工作特点:

    1)采用NMOS工艺制造。

    2)单一的+5V电源。

    3)具有28根引腿的双列直插式芯片。

    4)使用灵活,在实际系统中,其可编程性可使其工作在多种 不同工作方式。

二、8259A的内部结构及管脚分配

请添加图片描述

1)数据总线缓冲器

​ 是用于 8259 A 8259A 8259A与CPU交换数据信息的接口。

2)读/写逻辑电路

​ 是用于 8259 A 8259A 8259A与CPU交换控制信息的接口。

3)级联缓冲比较器

​ 是用于多片 8259 A 8259A 8259A的连接。

4)中断请求寄存器

​ 是用于 8259 A 8259A 8259A与中断源的连接,用来锁存外部来的请求,锁存目的是为了判断来的请求是否可以转换为向CPU发出的请求。

5)中断屏蔽寄存器

​ 是反映中断源的中断申请是否被屏蔽。决定是否将信号送入判决器进行判决进而向CPU发出请求信号呢?

6)当前服务寄存器

​ 反映当前CPU正在为哪一个中断源服务以及还未完成哪个中断源的服务。是判决依据,是否进行中断潜逃的判决依据。

7)优先级判决寄存器(优先权电路)

​ 是用于识别中断请求信号的优先级别。判决新来的是否比正在服务的优先级更高。

8)控制逻辑

​ 含有若干寄存器,其作用是向CPU发出中断申请信号,接收来自于CPU的中断响应信号。


  1. 外部引腿

请添加图片描述

  • D7~D0:双向数据线,与系统总线DB相连,实现与CPU的数据交换

  • IR7~IR0:外部中断请求信号线,在构成主从式中断系统时,主片的IR端接从片的 I N T INT INT

  • RD:读命令信号线,当其有效时,控制信息从 8259 A 8259A 8259A读至CPU。

  • WR:写命令信号线,当其有效时,控制信息从CPU读至8259。

  • INT:与CPU的 I N T R INTR INTR相连,用于向CPU发中断请求

  • INTA:用于接收来自于CPU的中断响应信号。

  • CS:片选信号线,通常由CPU高位地址控制,有效时,表示该片 8259 A 8259A 8259A被选中。

  • A0:端口选择信号线,=0为偶地址;=1为奇地址。且偶地址较低。

  • CAS2~CAS0:双向级联信号线,8259做主片时,它们为输出线(选择某一从片), 8259 A 8259A 8259A做从片时,它们为输入线(与SP/EN配合实现 8259 A 8259A 8259A的级联)。

  • SP/EN:输入输出多功能信号线。

    缓冲方式:输出,EN=1,CPU→ 8259 A 8259A 8259A;EN=0, 8259 A 8259A 8259A→CPU。

    非缓冲方式:输入,SP=1,本片为主片;SP=0,本片为从片。

  1. 编程结构

请添加图片描述

控制部分由7个寄存器组成:

分成两组:

第一组:ICW1~ICW4

第二组:OCW1~OCW3

处理部分IRRISRPR个寄存器组成,其功能是接收和处理从IR0~IR7进入的中断。

  1. 工作原理
    1 ) 当有一个或多个中断源申请中断时,一条或几条IR 变高,使 I R R IRR IRR 的相应位置1 (锁存请求)。
    2 ) 在对中断源的中断申请不屏蔽的情况下, 8259 A 8259A 8259A 把中断申请信号转发给PR 作判决。
    3)PR 根据 I R R IRR IRR I S R ISR ISR 的内容,经判决决定该中断源优先级是否高于正在服务中断源的优先级,若高,则通过控制逻辑的INT 线向CPU 申请中断。
    4 )若CPU 处于开中断状态,则CPU 执行完当前指令后响应中断,用 I N T A INTA INTA信号作为响应中断的回答信号。

    5) 8259 A 8259A 8259A 收到第一个负脉冲信号后使 I R R IRR IRR 锁存功能失效(第二个负脉冲到达时才恢复锁存功能),并使 I S R ISR ISR 的相应位置1 ,同时使 I R R IRR IRR 的相应为复0 ,以避免该中断再次发出中断请求。
    6 ) 8259 A 8259A 8259A 收到第二个负脉冲时,通过数据总线输出中断类型码。
    7)若$8259A 工 作 在 < f o n t c o l o r = b l u e > 自 动 结 束 中 断 模 式 < / f o n t > , 则 在 第 二 个 负 脉 冲 结 束 时 , 使 中 断 源 在 工作在<font color = blue>自动结束中断模式</font> ,则在第二个负脉冲结束时,使中断源在 <fontcolor=blue></font>使ISR$ 中的相应位复0 ;否则,直到中断处理子程序结束发出 E O I EOI EOI 命令时,才使$ISR $中的相应位复位。

三、 8259A 的中断管理方式

三种主要工作方式
四种从属工作方式

1. 三种主要工作方式

全嵌套和特殊全嵌套方式

8259 A 8259A 8259A 在初始化完成后若未设定其他的工作方式,就自动进入全嵌套方式。
全嵌套方式:
✓ 中断请求的优先级固定, 其顺序是 I R 0 IR0 IR0最高, I R 7 IR7 IR7最低 。
✓ 不响应同级及较低 的中断请求。
✓ 全嵌套 工作 方式由 由 I C W 4 ICW4 ICW4 D 4 = 0 D4=0 D4=0 来确定 。
特殊全嵌套方式:
✓ 中断请求的优先级固定 ,其顺序是 I R 0 IR0 IR0最高, I R 7 IR7 IR7最低 。
✓ 响应同级的中断请求。
✓ 特殊全嵌套工作 方式由 I C W 4 ICW4 ICW4 D 4 = 1 D4=1 D4=1来确定

循环优先级方式

两种:自动循环优先级方式、特殊循环优先级方式
自动循环优先级
自动循环优先级定义: 某级被响应后,降为最低 。如$IR4 被 响 应 后 , 优 先 级 顺 序 变 为 : 被响应后, 优先级顺序变为: IR5,IR6,IR7,IR0,IR1,IR2,IR3,IR4$
自动循环优先级设置: 是由 O C W 2 OCW2 OCW2 R = 1 , S L = 0 R=1 ,SL=0 R=1SL=0 来确定的。
特殊循环优先级
特殊循环优先级定义: 通过编程来确定某一设备为最低优先级
特殊循环优先级设置: 是由 O C W 2 OCW2 OCW2 R = 1 R=1 R=1 ,$SL=1 来 确 定 的 。 而 来确定的。而 L2, L1, L0$最低优先级的二进制编码。

特定屏蔽方式

两种:普通屏蔽方式、特殊屏蔽方式

普通屏蔽方式

普通屏蔽方式定义:CPU 向 8259 A 8259A 8259A I M R IMR IMR中发一个屏蔽字,若屏蔽字中某一位或某几位为 “ 1” ,则与这些位相对应的中断源就被屏蔽。同级和低级的中断请求被禁止 。

普通屏蔽方式设置:是由 O C W 1 OCW1 OCW1来设置的。


特殊屏蔽方式

特殊屏蔽方式提出: 为了提高系统的实时性,实现优先级别的动态改变,允许优先级别低的中断级别高的。
特殊屏蔽方式定义:CPU 向 8259 A 8259A 8259A I M R IMR IMR中发一个屏蔽字,若屏蔽字中某一位或某几位为“ 1” ,则与这些位相对应的中断源就被屏蔽。同级和低级的中断请求被禁止。

特殊屏蔽方式设置

  • O C W 3 OCW3 OCW3设置特殊屏蔽方式;

  • O C W 1 OCW1 OCW1对当前较高优先级的中断进行屏蔽;

2 . 四种从属工作方式

中断结束方式

中断结束方式定义: 如何和何时使 8259 A 8259A 8259A中的 I S R ISR ISR中的相应位清零,不是中断服务子程序的结束。

中断结束方式种类:

请添加图片描述

自动EOI 结束方式

自动EOI 结束方式定义:8259 自动在最后一个中断响应脉冲的后沿将中
断服务寄存器ISR 中相应位清零。
自动EOI 结束方式过程: 中断请求、CPU 响应,发第一个, I S R ISR ISR 相应位
置“1” ,CPU 发第二个, 8259 A 8259A 8259A 提供中断类型码, I S R ISR ISR 相应位清零,结束则与这些位相对应的中断。
自动EOI 结束方式应用场合:
8259 A 8259A 8259A 单机系统;

8259 A 8259A 8259A 多机系统的主片,不能用于从片;

自动EOI 结束方式设置 I C W 4 ICW4 ICW4 A E O I = 1 AEOI=1 AEOI=1确定

一般EOI 结束方式

定义:全嵌套方式下的中断结束命令。该命令能自动地把当前ISR
中的最高优先级的那一位清“0” 。在全嵌套方式下,应该使用该方式。

特殊EOI 结束方式

定义:非全嵌套方式下的中断结束命令。在非全嵌套方式下无法确定最后响应的是哪一级中断,所以应向 8259 A 8259A 8259A发出特殊 E O I EOI EOI命令,即指定哪一级中断返回,使其 I S R ISR ISR中的相应位清“0” 。可以在任何情况下使用。


读8259A 状态

读8259A 的状态是指读8259A内部的IRR 、ISR 和IMR的内容

(1)读IRR

先发出 O C W 3 OCW3 OCW3命令( 使 R R = 1 、 R I S = 0 , 地 址 A 0 = 0 使RR=1、RIS=0 ,地址A0=0 使RR=1RIS=0A0=0),在下一个RD 脉冲时可读出 I R R IRR IRR

(2)读ISR
先发出 O C W 3 OCW3 OCW3命令( 使 R R = 1 、 R I S = 1 , 地 址 A 0 = 0 使RR=1、RIS=1 ,地址A0=0 使RR=1RIS=1A0=0),在下一个RD 脉冲时可读出 I R R IRR IRR

(3)读IMR
只要读奇地址端口( A 0 = 1 A0=1 A0=1),则可读出 I M R IMR IMR


中断请求触发方式

(1)电平触发方式

(2)边缘触发方式


缓冲器方式

(1 )缓冲方式
在多片 8259 A 8259A 8259A级联的大系统中, 8259 A 8259A 8259A通过总线驱动器与系统总线相连,这就是缓冲方式,通过SP/EN 端输出一个低电平信号作为总线驱动器的启动信号。

(2 )非缓冲方式
当系统中使用单片 8259 A 8259A 8259A或几片 8259 A 8259A 8259A时,可以将 8259 A 8259A 8259A直接与系统总线相连,这就是非缓冲方式。


四、 8259A 的初始化编程

8259A的命令控制字包括两个部分:初始化命令字和操作命令字

初始化命令字:一般在系统复位后的初始化编程中设置,用于确定 8259 A 8259A 8259A 的基本工作方式,设置以后一般保持不变。

操作命令字:是在初始化以后的正常工作中写入的,它实现对 8259 A 8259A 8259A 的状态,在工作中可随时写入操作命令字以修改某些控制方式。


初始化命令字

请添加图片描述

关于ICW1的说明

❖ 对于8086/8088 系统必须设置ICW4 命令字,因而ICW1 命令字的D0=1;

❖ ICW1 命令字的D1 表示有1片8259A工作还是多片8259A工作。

❖ 边沿触发方式的实现方法是使ICW1 的D3 位置0 ,边电平触发方式的实现方法是使ICW1 的D3 位置1,

请添加图片描述

关于 ICW2的说明

❖ ICW2 的高5位影响中断类型码;

❖ ICW2 的低3位并不影响中断类型码,再形成中断类型码时由8259A内部电路根据中断源挂在8259A的哪一引退上决定的。

请添加图片描述

关于 ICW3 的说明

❖ ICW3 仅用于级联方式,切对主片从片都必须写入ICW3 ,但是两者含义是不同的,分别指示主片上连接从片的情况和从片连接主片的情况;

❖ 系统中是否有多片是由ICW1 的D1 位指示的。

❖ 对于从片,ICW3 是一个校对码。

请添加图片描述

关于 ICW4 的说明

缓冲方式的实现方法是将ICW4的D3位置1 ,并通过8259A的SP/EN端输出一个低电平信号作为总线驱动器的启动信号;非缓冲方式的实现方法是将ICW4 的D3位置0 ;

中断自动结束方式是通过首先设置ICW4的D1位为1实现的。

❖ 一般的中断结束方式是通过首先设置ICW4的D1位为0, 然后通过设置OCW2 实现的。

特殊全嵌套的实现方法是使ICW4 的D4 位为1。


初始化应该注意的问题

❖ ICW1~ICW4 写入的次序是固定不变的;
❖ ICW1 写入偶地址端口,ICW2 、ICW3 、ICW4 写入奇地址端口。
对每片8259A 的ICW1 、ICW2 必须设置的, 对8086/8088 还必须设置ICW4。
❖ 当系统是多片级联时,要有ICW3。
❖ 级联时必须分别对主片和从片进行初始化,写入各自的ICW3。
❖ 在8086/8088 系统中是否需要ICW3 、ICW4 已在ICW1 中预先明确了。


初始化流程图:

请添加图片描述


操作命令字:

操作命令字在应用程序中设置时没有固定的次序,可根据需要多次写入,但对操作命令字写入的端口号有严格规定:
❖ OCW1 :写入“奇地址端口”
❖ OCW2 、OCW3 : 写入“偶地址端口”

  1. OCW1(屏蔽)

请添加图片描述

如开放 IR 1 1 、 IR 7 7 ; 屏蔽 IR 3 3 、 IR 6 6 ; ; 其他不变(IMR可读可写)

IN AL,21H  ;读取IM
AND AL,7DH 
OR AL,48H 
OUT 21H,AL
  1. OCW2 (设置 EOI , SEOI, 循环)

请添加图片描述

  1. OCW3 (特殊屏蔽设置,中断查询,读 IRR,ISR )

请添加图片描述

五、多片 8259A 组成的主从式系统

请添加图片描述

一个主片一个从片,主片 IR0 连在从片上,主片的 IR1~IR7 没有画,可能有的连在其他从片上,也可能连在其他的外部设备上,也有可能什么也没有连,从片也有8个中断请求输入引腿 IR0~IR7,从图上可以看到什么问题呢?

系统有8259 、8086,如果系统是最大模式工作方式还需要总线控制器,所有控制信号都是通过总线控制器发出的,比如: INTA 、 RD 、 WR 等既连在主片上也连在从片上,再有就是绿色数据总线,黄色表示地址线,对于主片和从片的片选来讲,都是通过地址译码电路片选到 8259A 。

重点介绍 CAS0~CAS2 ,这3 个引腿与级联有关,如何相关呢?对于主片来讲,这3个引腿一定是输出引腿,对从片来讲,也有3 个引腿,是输入引腿,它们之间通过红色线连接,如何联系?可能通过驱动器连也有可能直接连,主片要通过这3个引腿发出一个编码让从片来接收,图上只画了一个从片,其实实际中可能有多个从片,多个从片都连在主片发出的这3个引腿上,主片发出的编码被多个从片接收,只有一个引腿与主片发出的编码相匹配,哪个?就是从片的 ICW3 对应的标识码与它发出的码一致的哪片,才叫匹配片,只有匹配片才发中断类型码,比如从片IR1上来了一个中断请求,这个请求通过从片的 PR 判决认为是高的,它会通过 INT 引腿把这个请求送到主片的IR0上,主片可能通过判决将这个请求通过主片的INT 引腿交给8086 ,如果 8086 当前中断请求是开放的它会响应这个请求,它通过 8288 发出INTA 信号,这个信号会送给主片也会送给从片,主片与从片都收到中断响应信号,之后主从片需要一个协调,协调谁发中断类型号码,因为刚才请求是从片的IR1请求,理所应当是该从片发中断类型码,主片如何让从片发中断类型码?就是通过这3个引腿发一个编码,因为刚才主片是通过 IR0 收到一个中断请求的,所以主片发出的编码是000 ,而只有哪个从片与000匹配呢?从片的ICW3的低3位是000的从片与主片相匹配,这个从片就发中断类型码。从片通过8个引腿送到数据总线上,CPU 从低8位数据总线上获取中断类型码,这个中断类型码是从片IR1发出的,是两部分组成:从片ICW2 的高5位+001

  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值