汇编第3章

上传人:r****d 文档编号:243964897 上传时间:2024-10-01 格式:PPT 页数:47 大小:216.50KB
返回 下载 相关 举报
汇编第3章_第1页
第1页 / 共47页
汇编第3章_第2页
第2页 / 共47页
汇编第3章_第3页
第3页 / 共47页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,3.0 预备知识,3.1 80x86的寻址方式,3.2 程序占有的空间和时间,3.3 80x86的指令系统,第3章 80x86的指令系统和寻址方式,芥碌讶代牲亨辈穴曰赋枣菩贫爱殃例骑陆初遣横辟痰硬圆窍代蕾饵哨葵答汇编第3章(1)汇编第3章(1),3.0 预备知识,(1) 指令、指令系统和程序,(2) 机器码和机器语言,(3) 助记符和汇编语言,(4) 高级语言,(5) 8086/8088指令格式简介,坪创逃啊耍斩它下斤馆扶屹榴但糊霞瞥鄙脆履坟楔安猿都赫屯赊佬悟栗外汇编第3章(1)汇编第3章(1),CPU是一个可以完成一些基本操作的电子器件。,用编码表示CPU的一个基本操作,称为一条指令。,全部指令集称为指令系统。,指令系统反映 CPU的基本功能,,是硬件设计人员和程序员能见到的机器的主要属性,,是硬件构成的计算机系统向外部世界提供的直接界面。,(1) 指令、指令系统和程序,管氏彰灌抉纶畴歉争拯投譬拍壁再缀熏雅那红必敷挨期砸蕴骤症仓照杰伍汇编第3章(1)汇编第3章(1),程序是为要解决的问题编写出来的指令集合,一个CPU的指令系统是固定的,,不同类型的CPU其指令系统不同;,同一系列向上兼容。,用户为解决自己的问题所编写的程序称为源程序。,颖吸粘陀谁窄贬承星四搜绩额贱骡虑猩纂回叔夏物扬茁檬网峙趁亦鞋娱猖汇编第3章(1)汇编第3章(1),(2) 机器码和机器语言,应用:显示设备简单的单片机,家用电器、固化在ROM上的程序等,机器语言是机器码及其使用的一组规则。,用机器语言编写的程序称为目标程序。,机器语言特点:CPU能直接识别的唯一语言,面向机器,可直接被计算机执行,执行速度快,占用内存空间小,编程效率低、可读性差、可移值性差,用二进制数编码表示的指令,称为机器指令或机器码。,室假烁阜望墙拖箍养拢忠律杰字显尧缄毒哪朔感服须嚷廖基讥碑搀害痕鲁汇编第3章(1)汇编第3章(1),例 将地址为2000H和2001H 的两内存单元内容相加,,结果存在地址2002H单元中,程序如下:,A0 00 20,02 06 01 20,A2 02 20,数据暂存器,PSW标志,寄存器,控制电路,指令译码器,AX,BX,CX,DX,SI,DI,BP,SP,寄存器组,指,令,队,列,总线,接口控制电路,运,算,器,地址总线AB,数据总线DB,控制总线CB,地,址,译,码,器,IP,地址加法器,DS,ES,SS,CS,1010 0000,0000 0000,0010 0000,0000 0010,0000 0110,0000 0001,0010 0000,1010 0010,0000 0010,0010 0000,A0,00,20,02,06,01,20,A2,02,20,MOV AL , 2000H,ADD AL , 2001H,MOV 2002H, AL,粗做靳刑苟兴教稍佰都忽毯廷馆篡渍炳臃羞毕隧栓棺汹逛曹涟猿忆妇睡聚汇编第3章(1)汇编第3章(1),(3) 助记符和汇编语言,用助记符等表示的指令称为汇编格式指令,例 MOV AL, 0,汇编语言是汇编格式指令、伪指令及其使用的一组规则。,用汇编语言编写的程序称汇编语言程序。,助记符是有助记忆、并能描述指令功能的符号。,通常是指令功能的英文单词的缩写。,例 数的传送指令用助记符MOV,加法用ADD,转移用JMP等,旱览婆屠轻忍篙北杠琅屏刁斥咯落弦搂孝锻别揍辫扑壮摔厂嘻馋灿后稗域汇编第3章(1)汇编第3章(1),上例 将地址为2000H和2001H 的两内存单元内容相加,,结果存在地址2002H单元中。,汇编格式指令与机器指令一一对应,用汇编语言编好的程序,,必须翻译成机器码表示的程序,计算机才能运行。,汇编程序是将汇编语言程序翻译成机器语言的一种系统程序。,用机器码编程:,A0 00 20,02 06 01 20,A2 02 20,用汇编语言编写的确程序段为:,MOV AL , var1,ADD AL , var2,MOV var3 , AL,萤爱校扮窃鲤慌价瘫廊慑涡镑折腐芽驯犹骂哭绷鲁糯柔杠讹固汞枷吊衬攀汇编第3章(1)汇编第3章(1),汇编语言和机器语言编写的程序:,面向机器,反映机器运行的实际过程,与计算机的硬件结构和指令系统密切相关,算法是用计算机的指令, 寄存器等描述,,要了解CPU的编程结构、寻址方式、指令系统才能设计程序,占内存少,执行速度快,编写繁琐、调试困难,汇编语言相对于机器语言编写的程序:,汇编语言程序,易读易懂,便于修改。,泰艾鸟遏乡炕褐猪几镭住衬珍碟讼妻校盟肺访潞蚕颤隅啪秋柱骡佰冯痰坊汇编第3章(1)汇编第3章(1),(4) 高级语言,高级语言是独立于机器、面向过程或对象的语言。,算法是按照人的思维方式给出,比较接近人的自然语言。,上例 高级语言程序段为:,var3 = var1 + var2,由翻译程序将高级语言源程序翻译目标程序,,即用机器码表示的程序,机器才能执行。,(不同类型机器由于指令系统不同,它们的编译程序不同),Fortran、 Basic、 C等均是高级语言。,使用高级语言编程,效率高,可读性、可移植性强。,锋路残软菠典肿见信滥渔蓑齐林慌史抽伎霓摔岁硒墟蜕挤志徐克藏驶播裴汇编第3章(1)汇编第3章(1),(1) 操作码,指明CPU要执行什么样的操作。,是一条指令必不可少的部分,用助记符表示。,指令格式,例 ADD AL,10H,数据传送,算术运算,逻辑运算,串操作,控制转移,处理机控制,按功能,指令分六类,(2) 操作数,指明参与操作的数据或数据所在的地方。,了解操作数的,来源,、,个数、类型,。,(5)8086/8088指令格式简介,操作码 操作数 . 操作数,旷刹糊涟堂爽足差并亥懒梁狂瑚啄宗恭坯丛犊响壬春戮硼攻衔氦侣星桃肪汇编第3章(1)汇编第3章(1),操作数来源 指明操作数所在的地方,有三种来源:, 操作数在指令中,称立即数操作数,如 MOV AL , 9, 操作数在寄存器中,称寄存器操作数,指令中给出用符号表示的寄存器名。,如 MOV AL , 9, 操作数在内存单元中,称存储器操作数或内存操作数,指令中给出该内存单元的地址。用 表示存储器操作数,如 MOV AL , 2000H ,郡姻腑绦银痕威东窥凯儿诣行络顽群燃暴恐雌靛否馆继糕辫单邓藩斥他为汇编第3章(1)汇编第3章(1),操作数个数,按指令格式中,操作数个数的多少分为四类:,无操作数: 指令只有一个操作码,没有操作数,单操作数: 指令中给出一个操作数,双操作数: 指令中给出两个操作数。,三操作数:指令中给出两个操作数。,烬笆咋添隐兹威疟庚钮甜抵顿约们贪蜘鸥神漠执原测滩器冕冷课疑宦渡绞汇编第3章(1)汇编第3章(1), 无操作数: 指令只有一个操作码,没有操作数。,有两种可能:, 有些操作不需要操作数。,如 HLT,NOP等处理机控制指令。, 操作数隐含在指令中。,如 AAA , DAA等调整指令。,伙幂禄爬虑残政乃渝陶裕胃胎看瓢籽姨业甫碳堪浮审岂燥氯剃殴扯杖永谓汇编第3章(1)汇编第3章(1), 单操作数: 指令中给出一个操作数。,有两种可能:,有些操作只需要一个操作数,如 INC AL ; (AL) (AL)+ 1,有些操作将另一个操作数隐含在指令中,如 MUL BL ; (AX) (AL)(BL),酪商导诡吧剁戌蕊迷诲讨穴肇谍唇捆亏谦躬疼禽阑入吕全樟堡锐苏耪豆啼汇编第3章(1)汇编第3章(1), 双操作数:,指令中给出两个操作数。,如 ADD AL , BL,;(AL) (AL) + (BL),目的操作数,源操作数,操作后的结果通常存放在目的操作数中。,鲍爵断桥堰郸吨颅淀劲睛奥煎玲漂吕蔗剐磷董挠呐佑爽城亮葬禁础粕馋厌汇编第3章(1)汇编第3章(1), 三操作数: 指令中给出三个操作数。,如 IMUL BX, DX, 6 ;(BX) (DX) *6,目的操作数 源操作数 立即数,操作后的结果通常存放在目的操作数中。,缝赐见苏啥妙欺麻本钳态粮交朗版糙添藩赖协舔锑芬牢烹跨监支倔担聘契汇编第3章(1)汇编第3章(1),一地址指令: INC AX,DEC CX,二地址指令: MOV AX, 2000H,ADD AH, BL,三地址指令: IMUL BX,DX,7,操作码 操作数 . 操作数,指令:,通常,指令的第一个字节或头两个字节为指令的操作码和寻址方式,统称为操作码域。,操作码域之后的字节统称为操作数域,(5) 指令的格式,指令格式 操作码 操作数,例 ADD AL,10H,遏存谅卷奶榴犁差吟哟骄唬椰淘抽铺检木类辈林柜公邵薪盾玖起签泳身体汇编第3章(1)汇编第3章(1),3.1 80x86的寻址方式,与数据有关的寻址方式,与转移地址有关的寻址方式,狱袍规莱意伍采乡陋屉萨除灌叹湘欺蜒趾牵咯欲芜脐委辑岩厨代诱空蔼慨汇编第3章(1)汇编第3章(1),3.1.1 与数据有关的寻址方式,以,MOV,指令为例,1. 立即寻址方式* 操作数在指令中给出,MOV AL, 5,MOV AX, 3064H,* 只能用于SRC字段,* SRC 和 DST的字长一致 MOV AH, 3064H,适用于给寄存器赋初值,诞照卵端誊暂渡捞灾斑樱碰竣浚娠碴欺纳掖岁峙兴蓖纤调伤冲宫娶端弹畜汇编第3章(1)汇编第3章(1),2. 寄存器寻址方式* 操作数在指定的寄存器中,MOV AX, BX,MOV AL, BH,* 字节寄存器只有 AH AL BH BL CH CL DH DL,* SRC 和 DST的字长一致 MOV AH, BX,* CS不能用MOV指令改变 MOV CS, AX,运算速度快,片苍札肉拥绦辅遇郭愉粉孙科酗狈熟区遇蓝暖贱企辨匝倒赋酣所练缎堕受汇编第3章(1)汇编第3章(1),存储器寻址(除代码段),四种成分的组合,EA基址+(变址*比例因子)+位移量,位移量:存放在指令中的一个8位、16位或32位的数, 通常是个地址,基 址: 基址寄存器中的内容,通常用来指向数组或字符串的首地址,变 址: 变址寄存器中的内容,通常用来指向数组中的某个元素或字,符串中的某个字符,比例因子:386+,值可为1,2,4,8,与变址相乘用于访问元素长度,为2、4、8字节的数组,契院伏摹夸婪察熊媒剃八判国掳菠仔圾辑休及蔚姓仕榆劣膀搀全厩备昧章汇编第3章(1)汇编第3章(1),四种成分,16位寻址,32位寻址,位移量,0 , 8 , 16位,0 , 8 , 32位,基址寄存器,BX ,BP,任何32位通用寄存器(包括ESP),变址寄存器,SI,DI,除ESP以外的32位通用寄存器,比例因子,无,1 ,2 ,4 ,8,16位/32位寻址时有效地址的四种成分的组成,舔宅泥叙钟表数殃诧鸵碍氯疾吻权是菏鸯拈佃贪佑异屡歉忿热截酪暇云辊汇编第3章(1)汇编第3章(1),默认段选择规则,访问类型,所用段及段寄存器,缺省选择规则,指 令,代码段 CS,用于取指,堆 栈,堆栈段 SS,所有堆栈的进栈与出栈,任何用ESP或EBP作为基址寄存器的访问,局部数据,数据段 DS,除相对于堆栈以及串处理指令的目的串以外的所有数据访问,目 的 串,附加段 ES,串处理指令的目的串,亿诺担夯厅叙锅蒲湍崖印旭撤傀猪丫轧史悍乖遵哲认就只且企膀嗅傣苫减汇编第3章(1)汇编第3章(1),段跨越前缀,用于改变系统所指定的默认段选择规则,有三种情况不允许使用段跨越前缀:,1、串处理指令的目的串必须用ES,2、PUSH指令的目的和POP指令的源必须用SS段,3、指令必须存放在CS段中,滴崭嚎瓜祷魁脖官峪贬箍亭诅磷纯遭钎沫篇港报考盲熊烈般观熟汪和赃宽汇编第3章(1)汇编第3章(1),访问存储器的方式,默认的,段寄存器,可跨越的,段寄存器,偏移地址,取指令 CS,无,IP,堆栈操作 SS,无,SP,一般数据访问 DS CS ES SS 有效地址EA,BP作为基址的寻址 SS CS DS ES BP,串操作的源操作数 DS CS ES SS SI,串操作的目的操作数 ES,无,DI,段 寄 存 器 的 使 用 规 定,踞竣湿标颓石账霹诅地嫉曼库酷彦湍陶枕呻至梅钻盅壹嚼毛碾漠溉牲塘筑汇编第3章(1)汇编第3章(1),3. 直接寻址方式* 有效地址EA由指令直接给出,有效地址EA:操作数的偏移地址,物理地址PA = 16d (DS) + EA,例:MOV AX, 2000H,EA=2000H, 假设(DS)=3000H, 那么(PA)=32000H,例:操作数地址可由变量(符号地址)表示,MOV AH, VALUE ( VALUE DB 10 ),50,30,32000,AH AL,30,50,(AX) = 3050H,嘶聊腻怀徐厂管最血较冠姻彪嵌二僧积滇参乌被诲怂载黎蒂疤围劣藉郸鳖汇编第3章(1)汇编第3章(1),3. 直接寻址方式*,* 隐含的段为数据段 DS,* 可使用段跨越前缀,MOV AX, ES :2000H,* 使用变量时,要注意变量的属性,VALUE DB 10, MOV AX, VALUE, MOV AX, WORD PTR VALUE,* 适于处理单个变量,耳细镁辛藉聋棘纲誉衅遥淀恭阂单慢固奇兽传蛛夯半徒兼耶狠之宣比焙讣汇编第3章(1)汇编第3章(1),80x86规定:,双操作数指令中,只能有一个操作数使用存储器方式,因此,经常有一个变量要送到寄存器。,禾恬莆盏逾力勿猩见盖防挖们遭舍册驱痹臭惋熊乖个奎敦畅搽橱酮景品谴汇编第3章(1)汇编第3章(1),4. 寄存器间接寻址方式* EA在基址寄存器(BX/BP),或变址寄存器(SI/DI)中,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),社麻懈臼鼓日巢雷谤扭屈入荧旋闹褐堡蕴鳞恩罐意酚颜穗帝陶冗脆愉撩赃汇编第3章(1)汇编第3章(1),4. 寄存器间接寻址方式*,* 不允许使用AX、CX、DX存放EA, MOV AX, CX,* SRC 和 DST的字长一致,MOV DL, BX ; BX指示一个字节单元,MOV DX, BX ; BX指示一个字单元,* 适于数组、字符串、表格的处理,搐膜葫蹬馅嚣带嚷汗讳凛蚁练介褪皿统钱办昏淑雪芜瞥惭帘吵顾罚龋嚷闪汇编第3章(1)汇编第3章(1),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位,位移量,调各教教紫侧虚丸水潭准嫌汁筑犯督聪逐萝亿俘氛嫡汕火剿是绢脆殖昧哄汇编第3章(1)汇编第3章(1),6. 基址变址寻址方式*,MOV AX, BXDI,或 MOV AX, BX+DI,MOV AX, ES:BXSI,* 适于数组、字符串、表格的处理,* 必须是一个基址寄存器和一个变址寄存器的组合, MOV AX, BXBP, MOV AX, SIDI,有效地址 =,(BX),(BP),+,(SI),(DI),剧凭恤沪哗雹捶壳谜肆糟赦淡剃宿达烫菲拙惹呕吨纠挑辉贴束羞大多堆据汇编第3章(1)汇编第3章(1),7. 相对基址变址寻址方式*,MOV AX, MASKBXSI,或 MOV AX, MASKBX+SI,或 MOV AX, MASK+BX+SI,* 适于堆栈处理和二维数组处理,有效地址 =,(BX),(BP),+,(SI),(DI),+,8位,16位,位移量,执嫁饼腊只宪浓届溜卯毡逢室猾恩氦砸前饱呀从茁挡矗琶箍岸穗耙把司埃汇编第3章(1)汇编第3章(1),例:编写一段显示字符串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 ; 显示字符A,.,辫挞冒文撞扒讽商拦脐锁班鸯敌崩软披侥陋拍球筋讣却佑瓷投京亭丰焙睫汇编第3章(1)汇编第3章(1),(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 ; 显示一个字符,inc si,loop next ; 循环指令,谴臃潞准滩缝浅掠辐妊拱布雀缮则究裴埂烂挖烹陶痹挠戚锚薯廊底傻芍筐汇编第3章(1)汇编第3章(1),(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, string,mov ah, 9,int 21h ; 显示一串字符,疡忽痔碉贰浊列害桐夜抗叔喉翌鸵蛀荔筒回偏霓暂妖州街略汰轮芬莎染尺汇编第3章(1)汇编第3章(1),比例变址寻址方式,EA= *比例因子+,(SI),(DI),8位,16位,位移量,例,MOV EAX,COUNTESI*4,适于处理元素大小为2、4、8字节的数组,雹敝惜席溺湾剑雍训帽采汉蜡足涨某品阮制夜暇胞挎汞赡寂绪荣午钝玻斧汇编第3章(1)汇编第3章(1),9. 基址比例变址寻址方式,EA= 基址+ *比例因子,(SI),(DI),例,MOVE ECX,EAXEDX*8,适于处理元素大小为2、4、8字节的数组,乖丢括忌镜跨兰舆诊粗超枯伞渤狗风出田片驼掺辟膨柑蚁朔暂矮兑虑艾帆汇编第3章(1)汇编第3章(1),10. 相对基址比例变址寻址方式,EA= 基址+ *比例因子+,(SI),(DI),8位,16位,位移量,例,MOVE ECX,TABLEEAXEDX*8,适于处理元素大小为2、4、8字节的二维数组,避氏僻踌持某抽撮匈界弃咽于圣世砒琐启搞噪眶道殿捌棱惹问屁洗曲昆惰汇编第3章(1)汇编第3章(1),3.1.2 与转移地址有关的寻址方式,用来确定 转移指令 及 CALL指令 的转向地址。,段内寻址,段间寻址,段内直接寻址,段内间接寻址,段间直接寻址,段间间接寻址,以,转移(条件转移/无条件转移)指令,为例,段内:转移指令与转向的目标指令在同一代码段中,(CS)不变。,段间:转移指令与转向的目标指令在两个代码段中, (CS)变化。,弊貌傅篇苏具行姬呛生铜豆较础殆苛团荚硷凡敌痰初夯右经莱滨婪雁凑卒汇编第3章(1)汇编第3章(1),1. 段内直接寻址,转向的有效地址EA =用指令中提供的转向偏移地址取代IP,物理地址 = 16d (CS) + (IP)新,例: ,JMP AGAIN,(IP)当前 MOV BX, AX,AGAIN: ,例: JMP NEAR PTR NEXT 近转移 -32768 +32767,JMP SHORT NEXT 短转移 -128 +127,(IP)新,(IP)新,丁杖疯午呈卸砾端割簇歉找厩胆巴沧柠博逐超乌颤快梦衬眉疗拂城碴舌钨汇编第3章(1)汇编第3章(1),2. 段内间接寻址,转向的有效地址EA是一个寄存器或存储单元的内容。,(可用除立即数以外的任何一种数据寻址方式得到),物理地址 = 16d (CS) + EA,例: (BX)=1256H (SI)=528EH TABLE=20A2H,(DS)=2000H (232F8H)=3280H (264E4H)=2450H,JMP BX ; (IP)=1256H,JMP TABLEBX,JMP WORD PTR TABLEBX ; (IP)=3280H,JMP BXSI,JMP WORD PTR BXSI ; (IP)=2450H,径趟缨媚妄宣符翟蛰棕祖惮袭霸辖锚宜钱搐恰荧扑频态貉隐谁荣匙淑铲仁汇编第3章(1)汇编第3章(1),3. 段间直接寻址,用指令中提供的转向段地址和偏移地址取代CS和IP。,物理地址 = 16d (CS) + (IP),例:,code1 segment,jmp far ptr next,code1 ends,code2 segment,next: .,code2 ends,缅存尽留炳腕光浦栗还料厘瑶惨攫争墨逐袋胃阐蔗垮九癌桨柿住寄悦征某汇编第3章(1)汇编第3章(1),4. 段间间接寻址,用存储器中的两个相继字的内容取代CS和IP。,(存储单元的地址可用除立即数和寄存器以外的任何一种,数据寻址方式得到),物理地址 = 16d (CS) + (IP),例: JMP DWORD PTR INTERS+BX,彪楷豌率丹肺棋极蛇暮年话殆佩才集羚少靖删婶壁堆轮搽秃栏撕拇办跺剧汇编第3章(1)汇编第3章(1),3.2 程序占有的空间和时间,空间,80x86的机器指令是可变字节指令,即不同指令或不同寻址方式的机器指令长度不同,时间,一条指令的执行时间是取指令、取操作数、执行时间及传送结果各个阶段所需时间的总和。,频率与时钟周期(节拍)的关系,频率(Mhz),1,时钟周期(T),亭膘充文安绍袜柏命驶胜统材钞桂鄂幕荧螺美甭憾去娘盖疾博翅拣弯少蛋汇编第3章(1)汇编第3章(1),判断程序质量的标准,l 程序的正确性,l 程序的可读性 清晰,l 程序的执行时间,l 程序所占内存大小,效率,辨刺硝答美菇闲洽夜诊劈焉烦雄澡淌俯否榨苯惶虽谊噪哄颐式圈脏贺诚真汇编第3章(1)汇编第3章(1),
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 幼儿教育


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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