80x86的指令系统和寻址方式.ppt

上传人:qwe****56 文档编号:70279569 上传时间:2023-01-18 格式:PPT 页数:48 大小:233KB
返回 下载 相关 举报
80x86的指令系统和寻址方式.ppt_第1页
第1页 / 共48页
80x86的指令系统和寻址方式.ppt_第2页
第2页 / 共48页
点击查看更多>>
资源描述

《80x86的指令系统和寻址方式.ppt》由会员分享,可在线阅读,更多相关《80x86的指令系统和寻址方式.ppt(48页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、编程工具编程工具v第三章 80 x86指令系统和寻址方式v第四章 汇编语言程序格式 1第3章 80 x86的指令系统和寻址方式第第3章章 80 x86的指令系统和寻址方式的指令系统和寻址方式3.1 程序语言简介程序语言简介3.2 80 x86的寻址方式3.3 程序占有的空间和时间3.4 80 x86的指令系统2第3章 80 x86的指令系统和寻址方式3.1 程序语言简介程序语言简介(1)指令、指令系统和程序指令、指令系统和程序(2)机器码和机器语言机器码和机器语言(3)助记符和汇编语言助记符和汇编语言(4)高级语言高级语言(5)8086/8088指令格式简介指令格式简介3第3章 80 x86的

2、指令系统和寻址方式l CPU是一个可以完成一些基本操作的电子器件。是一个可以完成一些基本操作的电子器件。l 用编码表示用编码表示CPU的的一个基本操作,称为一条一个基本操作,称为一条指令指令。l 全部指令集称为全部指令集称为指令系统指令系统。l 指令系统反映指令系统反映 CPU的基本功能的基本功能,是硬件设计人员和程序员能见到的是硬件设计人员和程序员能见到的机器的主要属性机器的主要属性,是硬件构成的计算机系统是硬件构成的计算机系统向外部世界提供的直接界面向外部世界提供的直接界面。(1)指令、指令系统和程序指令、指令系统和程序4第3章 80 x86的指令系统和寻址方式l 程序程序是为要解决的问题

3、编写出来的指令集合是为要解决的问题编写出来的指令集合l 一个一个CPU的指令系统是固定的,的指令系统是固定的,不同类型的不同类型的CPU其指令系统不同其指令系统不同;同一系列向上兼容。同一系列向上兼容。l 用户为解决自己的问题所编写的程序称为用户为解决自己的问题所编写的程序称为源程序源程序。5第3章 80 x86的指令系统和寻址方式(2)机器码和机器语言机器码和机器语言l 应用:显示设备简单的单片机应用:显示设备简单的单片机 家用电器、固化在家用电器、固化在ROM上的程序等上的程序等l 机器语言机器语言是机器码及其使用的一组规则。是机器码及其使用的一组规则。l 用机器语言编写的程序称为用机器语

4、言编写的程序称为目标程序目标程序。l 机器语言特点:机器语言特点:CPU能能直接识别直接识别的唯一语言的唯一语言 面向机器,可直接被计算机执行面向机器,可直接被计算机执行 执行速度快,占用内存空间小执行速度快,占用内存空间小 编程效率低、可读性差、可移值性差编程效率低、可读性差、可移值性差l 用二进制数编码表示的指令,称为用二进制数编码表示的指令,称为机器指令机器指令或或机器码机器码。6第3章 80 x86的指令系统和寻址方式例例 将地址为将地址为2000H和和2001H 的两内存单元内容相加,的两内存单元内容相加,结果存在地址结果存在地址2002H单元中,程序如下:单元中,程序如下:A0 0

5、0 20A0 00 2002 06 01 2002 06 01 20A2 02 20A2 02 20数据暂存器数据暂存器PSW标志标志寄存器寄存器控制电路控制电路指令译码器指令译码器AXBXCXDXSIDIBPSP寄存器组寄存器组指指令令队队列列总线总线接口接口控制控制电路电路运运算算器器地址总线地址总线AB数据总线数据总线DB控制总线控制总线CB地地址址译译码码器器IP地地址址加加法法器器DSESSSCS1010 00000000 00000010 00000000 00100000 01100000 00010010 00001010 00100000 00100010 0000A0A00

6、00020200202060601012020A2A202022020MOV AL,2000HADD AL,2001HMOV 2002H,AL7第3章 80 x86的指令系统和寻址方式(3)助记符和汇编语言助记符和汇编语言l 用助记符等表示的指令称为用助记符等表示的指令称为汇编格式指令汇编格式指令例例 MOV AL,0 l 汇编语言汇编语言是汇编格式指令、伪指令及其使用的是汇编格式指令、伪指令及其使用的一组规则一组规则。l 用汇编语言编写的程序称用汇编语言编写的程序称汇编语言程序汇编语言程序。l 助记符助记符是有助记忆、并能描述指令功能的符号。是有助记忆、并能描述指令功能的符号。通常是指令功能

7、的英文单词的缩写。通常是指令功能的英文单词的缩写。例例 数的传送指令用助记符数的传送指令用助记符MOV 加法用加法用ADD,转移用转移用JMP等等8第3章 80 x86的指令系统和寻址方式上例上例 将地址为将地址为2000H和和2001H 的两内存单元内容相加,的两内存单元内容相加,结果存在地址结果存在地址2002H单元中。单元中。l 汇编格式指令与机器指令一一对应汇编格式指令与机器指令一一对应l 用汇编语言编好的程序,用汇编语言编好的程序,必须翻译成机器码表示的程序,计算机才能运行。必须翻译成机器码表示的程序,计算机才能运行。l 汇编程序汇编程序是将汇编语言程序翻译成机器语言的一种系统程序是

8、将汇编语言程序翻译成机器语言的一种系统程序。用机器码编程:用机器码编程:A0 00 20 02 06 01 20 A2 02 20用汇编语言编写的确程序段为:用汇编语言编写的确程序段为:MOV AL,var1ADD AL,var2MOV var3,AL9第3章 80 x86的指令系统和寻址方式l 汇编语言和机器语言编写的程序:汇编语言和机器语言编写的程序:4面向机器,反映机器运行的实际过程面向机器,反映机器运行的实际过程,与计算机的硬件结构和指令系统密切相关与计算机的硬件结构和指令系统密切相关4算法是用计算机的指令算法是用计算机的指令,寄存器等描述寄存器等描述,要了解要了解CPU的的编程结构、

9、寻址方式、指令系统才能设计程序编程结构、寻址方式、指令系统才能设计程序4占内存少,执行速度快占内存少,执行速度快4编写繁琐、调试困难编写繁琐、调试困难l汇编语言相对于机器语言编写的程序:汇编语言相对于机器语言编写的程序:汇编语言程序,易读易懂,便于修改。汇编语言程序,易读易懂,便于修改。10第3章 80 x86的指令系统和寻址方式(4)高级语言高级语言l 高级语言高级语言是独立于机器、面向过程或对象的语言。是独立于机器、面向过程或对象的语言。算法是按照人的思维方式给出,比较接近人的自然语言。算法是按照人的思维方式给出,比较接近人的自然语言。上例上例 高级语言程序段为:高级语言程序段为:var3

10、=var1+var2l 由由翻翻译程序译程序将高级语言源程序翻译目标程序,将高级语言源程序翻译目标程序,即用机器码表示的程序,机器才能执行。即用机器码表示的程序,机器才能执行。(不同类型机器由于指令系统不同,它们的编译程序不同不同类型机器由于指令系统不同,它们的编译程序不同)l Fortran、Basic、C等均是高级语言。等均是高级语言。l 使用高级语言编程,效率高,可读性、可移植性强。使用高级语言编程,效率高,可读性、可移植性强。11第3章 80 x86的指令系统和寻址方式(1)操作码操作码指明指明CPU要执行什么样的操作。要执行什么样的操作。是一条指令必不可少的部分,用助记符表示是一条指

11、令必不可少的部分,用助记符表示。l 指令格式指令格式 例例 ADD AL,10H数据传送数据传送算术运算算术运算逻辑运算逻辑运算串操作串操作控制转移控制转移处理机控制处理机控制 按功能按功能指令分六类指令分六类(2)操作数操作数指明参与操作的数据或数据所在的地方。指明参与操作的数据或数据所在的地方。了解操作数的了解操作数的来源来源、个数、类型个数、类型。(5)8086/8088指令格式简介指令格式简介 操作码操作码 操作数操作数 .操作操作数数12第3章 80 x86的指令系统和寻址方式q 操作数来源操作数来源 指明操作数所在的地方指明操作数所在的地方有三种来源:有三种来源:操作数在指令中,称

12、操作数在指令中,称立即数操作数立即数操作数 如如 MOV AL,9 操作数在寄存器中,称操作数在寄存器中,称寄存器操作数寄存器操作数指令中给出用符号表示的寄存器名。指令中给出用符号表示的寄存器名。如如 MOV AL,9 操作数在内存单元中,称操作数在内存单元中,称存储器操作数存储器操作数或或内存操作数内存操作数 指令中给出该内存单元的地址。用指令中给出该内存单元的地址。用 表示存储器操作数表示存储器操作数 如如 MOV AL,2000H 13第3章 80 x86的指令系统和寻址方式q 操作数个数操作数个数 按指令格式中,操作数个数的多少分为四类:按指令格式中,操作数个数的多少分为四类:无操作数

13、无操作数:指令只有一个操作码,没有操作数指令只有一个操作码,没有操作数单操作数单操作数:指令中给出一个操作数指令中给出一个操作数双操作数双操作数:指令中给出两个操作数。指令中给出两个操作数。三操作数:三操作数:指令中给出两个操作数。指令中给出两个操作数。14第3章 80 x86的指令系统和寻址方式 无操作数:无操作数:指令只有一个操作码,没有操作数。指令只有一个操作码,没有操作数。有两种可能:有两种可能:有些操作不需要操作数。有些操作不需要操作数。如如 HLT,NOP等处理机控制指令。等处理机控制指令。操作数隐含在指令中。操作数隐含在指令中。如如 AAA,DAA等调整指令。等调整指令。15第3

14、章 80 x86的指令系统和寻址方式 单操作数单操作数:指令中给出一个操作数。指令中给出一个操作数。有两种可能:有两种可能:有些操作只需要一个操作数有些操作只需要一个操作数 如如 INC AL ;(AL)(AL)+1有些操作将另一个操作数隐含在指令中有些操作将另一个操作数隐含在指令中 如如 MUL BL ;(AX)(AL)(BL)16第3章 80 x86的指令系统和寻址方式 双操作数双操作数:指令中给出两个操作数。指令中给出两个操作数。如如 ADD AL,BL ;(AL)(AL)+(BL)目的操作数目的操作数 源操作数源操作数 操作后的结果通常存放在目的操作数中。操作后的结果通常存放在目的操作

15、数中。17第3章 80 x86的指令系统和寻址方式 三操作数三操作数:指令中给出三个操作数。指令中给出三个操作数。如如 IMUL BX,DX,6 ;(BX)(DX)*6 目的操作数目的操作数 源操作数源操作数 立即数立即数 操作后的结果通常存放在目的操作数中。操作后的结果通常存放在目的操作数中。18第3章 80 x86的指令系统和寻址方式3.2 80 x86的寻址方式v与数据有关的寻址方式与数据有关的寻址方式v与转移地址有关的寻址方式与转移地址有关的寻址方式20第3章 80 x86的指令系统和寻址方式3.2.1 与数据有关的寻址方式与数据有关的寻址方式 以以 MOV 指令为例指令为例 1.立即

16、寻址方式立即寻址方式*操作数在指令中给出操作数在指令中给出 MOV AL,5 MOV AX,3064H*只能用于只能用于SRC字段字段*SRC 和和 DST的字长一致的字长一致 MOV AH,3064H适用于给寄存器赋初值适用于给寄存器赋初值21第3章 80 x86的指令系统和寻址方式2.寄存器寻址方式寄存器寻址方式*操作数在指定的寄存器中操作数在指定的寄存器中 MOV AX,BX MOV AL,BH*字节寄存器只有字节寄存器只有 AH AL BH BL CH CL DH DL*SRC 和和 DST的字长一致的字长一致 MOV AH,BX*CS不能用不能用MOV指令改变指令改变 MOV CS,

17、AX运算速度快运算速度快22第3章 80 x86的指令系统和寻址方式存储器寻址(除代码段)四种成分的组合EA基址基址+(变址(变址*比例因子)比例因子)+位移量位移量位移量:存放在指令中的一个8位、16位或32位的数,通常是个地址基 址:基址寄存器中的内容,通常用来指向数组或字符串的首地址变 址:变址寄存器中的内容,通常用来指向数组中的某个元素或字 符串中的某个字符比例因子:386+,值可为1,2,4,8,与变址相乘用于访问元素长度 为2、4、8字节的数组23第3章 80 x86的指令系统和寻址方式四种成分16位寻址32位寻址位移量0,8,16位0,8,32位基址寄存器BX,BP任何32位通用

18、寄存器(包括ESP)变址寄存器SI,DI除ESP以外的32位通用寄存器比例因子无1,2,4,816位/32位寻址时有效地址的四种成分的组成24第3章 80 x86的指令系统和寻址方式默认段选择规则访问类型所用段及段寄存器缺省选择规则指 令代码段 CS用于取指堆 栈堆栈段 SS所有堆栈的进栈与出栈任何用ESP或EBP作为基址寄存器的访问局部数据数据段 DS除相对于堆栈以及串处理指令的目的串以外的所有数据访问目 的 串附加段 ES串处理指令的目的串25第3章 80 x86的指令系统和寻址方式段跨越前缀段跨越前缀 用于改变系统所指定的默认段选择规则有三种情况不允许使用段跨越前缀:1、串处理指令的目的

19、串必须用ES2、PUSH指令的目的和POP指令的源必须用SS段3、指令必须存放在CS段中26第3章 80 x86的指令系统和寻址方式访问存储器的方式访问存储器的方式 默认的默认的段寄存器段寄存器可可跨越的跨越的段寄存器段寄存器偏移地址偏移地址取指令 CS 无 IP堆栈操作 SS 无 SP一般数据访问 DS CS ES SS 有效地址EABP作为基址的寻址 SS CS DS ES BP串操作的源操作数 DS CS ES SS SI串操作的目的操作数 ES 无 DI段段 寄寄 存存 器器 的的 使使 用用 规规 定定27第3章 80 x86的指令系统和寻址方式3.直接寻址方式直接寻址方式*有效地址

20、有效地址EA由由指令直接给出指令直接给出 有效地址有效地址EA:操作数的偏移地址操作数的偏移地址 物理地址物理地址PA=16d (DS)+EA 例例:MOV AX,2000H EA=2000H,假设假设(DS)=3000H,那么那么(PA)=32000H 例例:操作数地址可由变量(符号地址)表示操作数地址可由变量(符号地址)表示 MOV AH,VALUE (VALUE DB 10)5030 32000AH AL3050(AX)=3050H28第3章 80 x86的指令系统和寻址方式3.直接寻址方式直接寻址方式*隐含的段为数据段隐含的段为数据段 DS*可使用可使用段跨越前缀段跨越前缀 MOV A

21、X,ES:2000H*使用变量时,要注意变量的属性使用变量时,要注意变量的属性 VALUE DB 10 MOV AX,VALUE MOV AX,WORD PTR VALUE*适于处理单个变量适于处理单个变量29第3章 80 x86的指令系统和寻址方式80 x86规定:规定:双操作数指令中,只能有一个操作双操作数指令中,只能有一个操作数使用存储器方式,因此,经常有一个数使用存储器方式,因此,经常有一个变量要送到寄存器。变量要送到寄存器。30第3章 80 x86的指令系统和寻址方式4.寄存器间接寻址方式寄存器间接寻址方式*EA在基址寄存器在基址寄存器(BX/BP)或变址寄存器或变址寄存器(SI/D

22、I)中中 BX,SI,DI (DS)物理地址物理地址=16d (DS)+BP (SS)物理地址物理地址=16d (SS)+(BP)MOV AX,BX PA=16d (DS)+(BX)MOV AX,ES:BX PA=16d (ES)+(BX)MOV AX,BP PA=16d (SS)+(BP)(BX)(SI)(DI)31第3章 80 x86的指令系统和寻址方式4.寄存器间接寻址方式寄存器间接寻址方式*不允许使用不允许使用AX、CX、DX存放存放EA MOV AX,CX*SRC 和和 DST的字长一致的字长一致 MOV DL,BX ;BX指示一个字节单元指示一个字节单元 MOV DX,BX ;BX

23、指示一个字单元指示一个字单元*适于数组、字符串、表格的处理适于数组、字符串、表格的处理32第3章 80 x86的指令系统和寻址方式5.寄存器相对寻址方式(直接变址寻址)寄存器相对寻址方式(直接变址寻址)*例例:MOV AX,COUNTSI 或或 MOV AX,COUNT+SI 假设假设(DS)=3000H,(SI)=2000H,COUNT=3000H 那么那么 PA=35000H 假设假设(35000H)=1234H,那么那么(AX)=1234H*适于数组、字符串、表格的处理适于数组、字符串、表格的处理 有效地址有效地址=(BX)(BP)(SI)(DI)+8位位16位位位移量位移量33第3章

24、80 x86的指令系统和寻址方式6.基址变址寻址方式基址变址寻址方式*MOV AX,BXDI 或或 MOV AX,BX+DI MOV AX,ES:BXSI*适于数组、字符串、表格的处理适于数组、字符串、表格的处理*必须是一个基址寄存器和一个变址寄存器的组合必须是一个基址寄存器和一个变址寄存器的组合 MOV AX,BXBP MOV AX,SIDI有效地址有效地址=(BX)(BP)+(SI)(DI)34第3章 80 x86的指令系统和寻址方式7.相对基址变址寻址方式相对基址变址寻址方式*MOV AX,MASKBXSI 或或 MOV AX,MASKBX+SI 或或 MOV AX,MASK+BX+SI

25、*适于堆栈处理和二维数组处理适于堆栈处理和二维数组处理 有效地址有效地址=(BX)(BP)+(SI)(DI)+8位位16位位位移量位移量35第3章 80 x86的指令系统和寻址方式例例:编写一段显示字符串编写一段显示字符串STRING的程序的程序 DATA SEGMENT STRING DB HAPPY NEW YEAR!,0DH,0AH,$COUNT DW 17 DATA ENDS(1)直接寻址直接寻址 mov dl,string ;mov dl,H mov ah,2 int 21h ;显示字符显示字符H mov dl,string+1 ;mov dl,A mov ah,2 int 21h

26、;显示字符显示字符A .36第3章 80 x86的指令系统和寻址方式(2)寄存器间接寻址)寄存器间接寻址 mov cx,count ;mov cx,17 mov bx,offset string ;string的偏址的偏址 bx next:mov dl,bx mov ah,2 int 21h ;显示一个字符显示一个字符 inc bx loop next ;循环指令循环指令(3)寄存器相对寻址)寄存器相对寻址 mov cx,count ;mov cx,17 mov si,0 next:mov dl,stringsi ;mov dl,string+si mov ah,2 int 21h ;显示一个

27、字符显示一个字符 inc si loop next ;循环指令循环指令37第3章 80 x86的指令系统和寻址方式(4)基址变址寻址)基址变址寻址 mov cx,count ;mov cx,17 mov bx,offset string ;string的偏址的偏址 bx mov si,0 next:mov dl,bxsi ;mov dl,bx+si mov ah,2 int 21h ;显示一个字符显示一个字符 inc si loop next ;循环指令循环指令(5)DOS显示字符串功能显示字符串功能 mov dx,offset string ;string的偏址的偏址 dx ;lea dx,

28、string mov ah,9 int 21h ;显示一串字符显示一串字符38第3章 80 x86的指令系统和寻址方式8.比例变址寻址方式比例变址寻址方式9.EA=*比例因子比例因子+(SI)(DI)8位位16位位位移量位移量例MOV EAX,COUNTESI*4适于处理适于处理元素大小为元素大小为2、4、8字节的字节的数组数组39第3章 80 x86的指令系统和寻址方式9.9.基址比例变址寻址方式基址比例变址寻址方式 EA=基址基址+*比例因子比例因子(SI)(DI)例MOVE ECX,EAXEDX*8适于处理适于处理元素大小为元素大小为2、4、8字节的字节的数组数组40第3章 80 x86

29、的指令系统和寻址方式10.10.相对基址比例变址寻址方式相对基址比例变址寻址方式 EA=基址基址+*比例因子比例因子+(SI)(DI)8位位16位位位移量位移量例MOVE ECX,TABLEEAXEDX*8适于处理适于处理元素大小为元素大小为2、4、8字节的二维字节的二维数组数组41第3章 80 x86的指令系统和寻址方式3.1.2 与转移地址有关的寻址方式与转移地址有关的寻址方式 用来确定用来确定 转移指令转移指令 及及 CALL指令指令 的转向地址。的转向地址。段内寻址段内寻址段间寻址段间寻址段内直接寻址段内直接寻址段内间接寻址段内间接寻址段间直接寻址段间直接寻址段间间接寻址段间间接寻址以

30、以 转移(条件转移转移(条件转移/无条件转移)指令无条件转移)指令 为例为例段内段内:转移指令与转向的目标指令在同一代码段中转移指令与转向的目标指令在同一代码段中,(,(CS)不变。不变。段间:段间:转移指令与转向的目标指令在两个代码段中转移指令与转向的目标指令在两个代码段中,(CS)变化。变化。42第3章 80 x86的指令系统和寻址方式1.段内段内直接寻址直接寻址 转向的有效地址转向的有效地址EA=用指令中提供的转向偏移地址用指令中提供的转向偏移地址取代取代IP 物理地址物理地址=16d (CS)+(IP)新新 例例:JMP AGAIN (IP)当前当前 MOV BX,AX AGAIN:例

31、例:JMP NEAR PTR NEXT 近转移近转移 -32768 +32767 JMP SHORT NEXT 短转移短转移 -128 +127 (IP)新新(IP)新新43第3章 80 x86的指令系统和寻址方式2.段内段内间接寻址间接寻址 转向的有效地址转向的有效地址EA是一个寄存器或存储单元的内容。是一个寄存器或存储单元的内容。(可用除立即数以外的任何一种数据寻址方式得到可用除立即数以外的任何一种数据寻址方式得到)物理地址物理地址=16d (CS)+EA 例:例:(BX)=1256H (SI)=528EH TABLE=20A2H (DS)=2000H (232F8H)=3280H (26

32、4E4H)=2450H JMP BX ;(IP)=1256H JMP TABLEBX JMP WORD PTR TABLEBX ;(IP)=3280H JMP BXSI JMP WORD PTR BXSI ;(IP)=2450H44第3章 80 x86的指令系统和寻址方式3.段间直接寻址段间直接寻址 用指令中提供的转向段地址和偏移地址取代用指令中提供的转向段地址和偏移地址取代CS和和IP。物理地址物理地址=16d (CS)+(IP)例例:code1 segment jmp far ptr next code1 ends code2 segment next:.code2 ends45第3章 8

33、0 x86的指令系统和寻址方式4.段间间接寻址段间间接寻址 用存储器中的两个相继字的内容取代用存储器中的两个相继字的内容取代CS和和IP。(存储单元的地址可用除立即数和寄存器以外的任何一种存储单元的地址可用除立即数和寄存器以外的任何一种 数据寻址方式得到数据寻址方式得到)物理地址物理地址=16d (CS)+(IP)例:例:JMP DWORD PTR INTERS+BX46第3章 80 x86的指令系统和寻址方式3.3 程序占有的空间和时间程序占有的空间和时间空间空间 80 x86的机器指令是可变字节指令,即不同指令的机器指令是可变字节指令,即不同指令或不同寻址方式的机器指令长度不同或不同寻址方式的机器指令长度不同时间时间 一条指令的执行时间是一条指令的执行时间是取指令取指令、取操作数取操作数、执行时执行时间间及及传送结果传送结果各个阶段所需时间的总和。各个阶段所需时间的总和。频率与时钟周期(节拍)的关系频率与时钟周期(节拍)的关系 频率(频率(Mhz)1时钟周期时钟周期(T)47第3章 80 x86的指令系统和寻址方式 判断程序质量的标准判断程序质量的标准l l 程序的正确性程序的正确性 l l 程序的可读性程序的可读性 清晰清晰 l l 程序的执行时间程序的执行时间 l l 程序所占内存大小程序所占内存大小效率效率48第3章 80 x86的指令系统和寻址方式

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com