收藏 分销(赏)

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)解析.doc

上传人:丰**** 文档编号:4684703 上传时间:2024-10-09 格式:DOC 页数:25 大小:105.01KB 下载积分:10 金币
下载 相关 举报
IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)解析.doc_第1页
第1页 / 共25页
IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)解析.doc_第2页
第2页 / 共25页


点击查看更多>>
资源描述
IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社) (沈美明,温冬蝉著) 第二章 1.解答:有256个 2.解答:如下图.第一个络子为000B0H字单元,注意,是字单元,第五个格子为000B3H字单元 E5 1E     3C 2A 3.解答: 30022H字节单元内容:    ABH     30024H字节单元内容:   EFH          30021H字单元内容:    AB34H     30022H字单元内容:   CDABH 4.解答:   这三个物理地址都是3017AH,说明了不同的段地址和偏移地址对应同一物理地址 5.解答:  CS+IP     第一个字的物理地址为:    0AAA40H 6.解答: 条件标志OF,SF,ZF,CF,的值依次为:0,0,0,0 7.下列操作可使用那些寄存器? (1)加法和减法   AX,BX,CX,DX,当然,还有这几个通用寄存器的高低位了,如AH ,AL等 (2)循环计数       CX (3)乘法和除法   DX,AX,AH,AL (4)保存段地址   CS ,DS,ES,SS (5)表示运算结果为O         FLAGS (6)将要执行的指令地址  IP (7)   将要从堆栈取出数据的地址   BP,SP,SS 8.可以用来指示存储器地址的寄存器有:  BX,SP,BP,DI,CS,DS,SI,ES,SS,IP 9.一一对应; 5--A    4--B   2--C   3--D  12--E  9--F    11--G  10--H  13--I   8--J  7--K  6---L  1--M  15--N  14--O 第三章   1.(1)立即寻址        没有   (2)直接寻址          7237H (3)使用BX的寄存器寻址           没有   (4)使用BX的间接寻址             637DH (5)使用BX的寄存器相对寻址      0D5B4H (6)基址变址寻址                   8E18H (7)相对基址变址                  004FH 2.根据下列要求,写出相应的汇编指令。 (1)ADD  DX,BX  (2) ADD AL,[BX][SI]  (3) ADD [BX][0B2H], CX  (4) MOV  AX,2A59H          ADD [0524H] ,AX (5) ADD AL ,0B5H 3.(1)寄存器间接寻址      MOV BX,OFFSET [BLOCK][0AH]   MOV  DX  ,[BX] (2)寄存器相对寻址   MOV  SI,OAH   MOV DX,[BLOCK][SI]  (3)基址变址寻址 MOV BX ,BLOCK  MOV SI,OAH MOV DX,[BX][SI] 4.现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(21200)=2AH,(20201)=4CH,(21202)=B7H,(21203)=65H,试说明下列各条指令执行完后,AX寄存器的内容。 (1)MOV    AX,1200H                  1200H  (2) MOV    AX,BX                     0100H  (3) MOV    AX,[1200]                 4C2AH      注意,是字单元!! (4)MOV   AX,[BX]                 3412H           同上 (5)MOV   1100[BX]                  4C2AH  (6) MOV   AX,[BX][SI]               7856H  (7) MOV  AX,1100[BX][SI]           65B7H 5.(1) 7CD9H    (2) 0600H      (3)098AH 6.    MOV  BX,2000H       LES   DI ,[BX]       MOV  AX, ES:DI  7.转向地址OBJ的值分别为: (1)064DH   (2)0691H  (3)05E0H        注意有符号数的符号位 8. (1)MOV  AX,0ABH       立即数寻址         无物理地址    (2)MOV   AX,BX         寄存器寻址         同上    (3)MOV  AX,[100]       直接寻址           20100H    (4)MOV AX,VAL          直接寻址          20050H     (5) MOV AX,[BX]      寄存器间接寻址    20100H     (6) MOV  AX,ES:[BX]    直接寻址       21100H     (7) MOV AX,[BP]     寄存器间接寻址     20010H    (8)MOV AX,[SI]       同上               200A0H     (9) MOV AX,[BX+10]  寄存器相对寻址    20110H    (10)MOV AX,VAL[BX]     同上              20150H     (11) MOV AX,[BX][SI]   基址变址寻址       201A0H     (12) MOV AX,VAL[BX][SI]   相对基相变址寻址   201F0H  9.(1)的指令:  MOV AX, [BX][0CH]            MOV  ZREO ,AX   (2)的指令:  MOV  AX,ARRAY[BX]            MOV ZREO,AX 10.  MOV AX,TABLE    是把符号地址TABLE里的内容送到AX里,指令执行完后,(AX)=1234H LEA AX,TABLE      是把符号地址TABLE 的有效地址(这里是偏移量)送到指定寄存器AX里,指令执行完后,(AX)=0032H 11.执行完指令后,(AX)=1E00H 12. LEA AX,CSTRING     MOV DL,AX     MOV DH,[AX+6] 13.课本上P51--P53 14. LES BX,[2000]    MOV AX,ES:[BX]     一条指令的话为MOV AX,ES:[8000H] 15.运算结果      SF,ZF,CF,OF各位的值(从左至右依次往下) (1)74D4H            0    0    0    0 (2) A5C1H          1    0    0    1 (3) 4240H            0    0    1    0 (4) 0000H         0    1    1    0 16.接上表 (1) 5D14             0    0    0    0 (2) A870             1    0    0    1 (3) D870             1    0    0    0 (4) 34E4             0    0    1    0 17. (1)MOV AX,Z   ;把Z送到AX     SUB AX,X   ;Z-X     ADD AX,W   ;W+(Z-X)       MOV Z,AX   ;结果保存在Z中 (2)MOV AX,R  ;R送到AX中    ADD AX,9   ;R+9    MOV BX,X  ;X送到BX中    ADD BX,6  ;X+6    ADD AX,BX ;(R+9)+(X+6),结果保存在AX中    MOV BX,W  ; W送到BX中    SUB BX,AX ; W-(R+9)-(X+6),连续减去两个数,相当于减去这两个数的和   MOV Z,BX   ;最终结果送到Z中 (3) MOV AX,W   ;把W送到AX IMUL X      ;W*X     注意:低十六位保存在AX里,高十六位保存在DX里 MOV BX,Y  ;把Y送到BX 里 ADD BX,6  ;Y+6 IDIV BX    ;(W*X)/(Y+6)    注意:商保存在AX里,余数保存在DX里 MOV Z,AX   ;把商送到Z中, MOV R,DX   ;把余数 送到R中 (4) MOV AX,W       ;把W送到AX中 SUB AX,X       ;W-X CWD     ;把AX中的十六位带符号数扩展成为32位,低十六位保存在AX中,高十六位保存在DX中    MOV BX,5       ;把5送到BX中 IDIV BX        ;(W-X)/5    被除数为32位,除数为16位  商为16位 IMUL Y         ;上一步结果再乖以Y,积为32位 MOV BX,2       ;把2送到BX中 IMUL BX      ;上一步乘法所得的积再乘以2,各为64位 MOV Z,EAX      ;把结果中低32位放入Z双字单元中 MOV [Z+4],EDX  ;把结果中高32位放入Z+4双字单元中 18. 指令     本条指令执行完后AX的内容        执行完后CF,SF,ZF的值 MOV AX,1234H       1234H                        0     0     0 MOV CL,4           1234H                     0     0     0 ROL AX,CL         2341H                        1     0     0 DEC AX           2340H                        1     0     0 MOV CX,4           2340H               1     0     0 MUL CX             8918H                    0     0     0 INT 20H  程序结束后,(AX)=8918H     (DX)=0000H 19. 指令         执行完后AX的内容        执行完后CF ,SF,ZF和OF的值 MOV AX,0                0                      0010 DEC AX                  FFFFH                  0100 ADD                     7FFEH                  0000 ADD AX,2                8000H                  0101 NOT AX                  7FFFH                  0101 SUB  AX,0FFFFH          8000H                  1101 ADD AX,8000H            0000H                 1011 SUB  AX,1            FFFFH                  1101 AND AX,58D1H          58D1H                  0000 SAL AX,1           B1A2H                  0101 SAR AX,1         D8D1H                  0100 NEG AX           272FH                  1000 ROR AX,1          9397H                  1001 20. (1)MOV AX,DATAX      ADD DATAY,AX (2)MOV AX,DATAX      ADD DATAY,AX      MOV  AX,[DATAX+2]      ADD [DATAY+2] ,AX (3)本組指令的作用是:BX <------[DATAX]+[DATAY]+[1](CF的值)      帶進位加法~ (4)MOV  AX,DATAX     MUL  DATAY       ;結果的高十六位保存在DX裏,低十六位保存在AX裏 (5) MOV AX,DATAX       MOV DX,[DATAX+2]       MUL  DWORD DATAY   ;結果的高三十二位保存在EDX裏,低三十二位保存在EAX裏 (6)MOV AX,DATAX      DIV   17H             ;結果商保存在AL中,余數在AH中 (7) MOV AX,DATAX       CDW       DIV  DATAY  21. NEG DX      NEG AX      SBB DX,0 22. MOV AX,A                     ;把雙字長數的低字放到AX中 MOV DX,[A+2]                 ;把雙字長數的高字放到DX中 TEST DX,8000H               ;測試雙字長數的符號 JZ   RIGHT                    ;如果是非負數,則直接保存 NEG DX                        ;如果是負數,則求補  NEG AX SBB DX,0                               RIGHT: MOV B ,AX         MOV [B+2],DX 23.每條指令單獨執行完後的結果依次為: (1) 9AH   (2)61H  (3)0FBH (4)1CH  (5)0  (6)0E3H 24.執行指令序列後,BX的內容為:0DAH 25. (1)把53D乘以2的程序: MOV AX,35H                     ;53D=35H SHL AX ,1 (2)把53除以2 的程序: MOV AX,35H SHR AX,1 26.這段程序完成的功能是:把DX:AX中的雙字數據左移4位(相當於乘以16D) 27.各條指令單獨執行後,DX的值依次為: (1)5CH(2)17H(3)05C8H(4)72H(5)2017H(6)0CDH(7)0172H(8)05CCH(9)0DCH 28. 該程序段執行完後,BX寄存器的內容是:C02DH 29.(1)从左到右把CONMAE中的字符串伟送到PRLINE的程序实现: LEA SI,CONAME       ;把CONAME中第一个字节的偏移地址送到SI中 LEA DI,PRLINE       ;把PRLINE中第一个字节 的偏移地址送到DI中 MOV CX,20           ;把重复次数放到CX里 CLD                  ;让SI DI从低地址指向高地址(即从左到右传送) REP  MOVSB           ;传送 (2)从右到左把CONMAE中的字符串传送到PRLINE中的程序实现: LEA SI ,CONAME LEA DI,PRLINE MOV CX,20 STD   ;和上面唯一不同的就是这次是从右到左,所以要从高地址批向低地址 REP MOVSB (3)把CONAME中的第三和第四個字節裝入AX的程序實現: LEA SI ,[CONAME+3] LODSW (4)把AX寄存器的內容存入從PRLINE+5開始的字節中的程序實現: LEA DI ,[PRLINE+5] STOSW (5)檢查CONAME字符串中有無空格字符,如有把它偉送給BH寄存器的程序實現: LEA DI,CONAME        ;把CONAME中第一個字符偏移地址放入DI中 MOV CX,20            ;把重複次數放到CX中 MOV AL,20H           ;把空格符的ASCII值放入AL中 CLD                   ;從低到高 REPNE   SCASB         ;比較 MOV BH,[DI-1]R      ;把檢查到的空格符送到BH中 30. MOV CX,12H           ;把重複次數放到CX中。這裏用十六進制表示   MOV SI,0             ;初始化SI MOV AX,26H           ;把&字符的ASCII值放入AX CHECK: CMP AX,STRING[SI]   ;依次查找 INC SI LOOPNE  CHECK             ;找到了就退出 MOV AX,20H               ;把空格符的ASCII值勤放入AX中 MOV STRING[SI-1],AX      ;用空格符代替& 31.(1)用空格符清除PRINT_LINE域的程序实现: MOV AL,20H LEA DI ,PRINT_LINE MOV  CX,132 CLD REP STOSB (2)在STUDENT_ADDR中查找 第一个“_”的程序实现: MOV AX,2DH              ;把“—”的ASCII值放入AX  MOV SI,0                ;初始化SI MOV CX,9                ;把重複次數放入CX中 ;依次檢查STUDENT-ADDR中的字符是否為 “_”,找到第一个停下来 CHECK:CMP AX ,STUDENT_ADDR[SI]  ; INC SI LOOPNZ CHECK  (3)在STUDENT_ADDR中查找最后一个 “_” 的程序实现: ;和第二題不同的就是這次是從右到左查詢,所以SI的初始化為9 MOV AX,2DH MOV SI ,9 MOV CX,9 CHECK :CMP AX,STUDENT_ADDR[SI] DEC SI LOOPNZ CHECK (4)程序實現: MOV AL,2OH                ;把空格符的ASCII值放入AL中 LEA DI ,STUDENT_NAME      ;把STUDENT_NAME中第一个字符偏移地址放到DI中 MOV CX,30                 ;把重复次数放到CX中 CLD                        ;让DI从低位移到高位 REPZ SCASB                 ;如果有不是空格符的,就退出 JZ  STORE                  ;如果全是空格符,就转到STORE中 ;用*代替空格 STORE:MOV AL 2AH MOV CX ,30 STD              ;注意,这里是把前面从低到高移动的DI再从高到低移上去 REP STOSB (5)程序实现: ;把STUDENT_NAME 移到PRINT_LINE的前30个字节中 LEA SI, STUDENT_NAME LEA DI,PRINT_LINE MOV CX ,30 CLD REP MOVSB ;把STUDENT_ADDR移到PRINT_LINE的后9个字节中 LEA SI ,[STUDENT_ADDR+9] LEA DI,[PRINT_LINE+132] MOV CX,9 STD REP MOVSB 32.程序实现:     … LEA  SI,OLDS LEA DI,NEWS MOV CX,5 REPZ  CMPSB JNZ  NEW_LESS      … 33. (1)CMP  DX,CX      JA       EXCEED (2)CMP BX,AX      JG   EXCEED  (3)CMP CX,0       JZ  ZERO (4)CMP BX,AX      JO  OVERFLOW (5)CMP BX,AX      JLE  EQ_SMA (6)   CMP DX,CX        JBE   EQ_CX 34. (1)跳转到:L1    (2)跳转到L1    (3)跳转到L2    (4)跳转到L5    (5)跳转到L5 35. (1)可以引起转移到L1的指令有:    NB  ,BE ,NL ,LE (2)可以引起转移到L1的指令有:   同上 (3)可以引起转移到L1的指令有: B,BE ,L , LE (4)可以引起转移到L1的指令有: NB  ,NBE ,NL ,NLE (5)可以引起转移到L1的指令有: 同上 (6)可以引起转移 到L1的指令有:  同(3) (7)可以引起转移 到L1的指令有: 同上  37. MOV AL,STAUS[SI]        ;把要测试的字节放到AL中 AND AL,2AH              ;把第一,三,五位为一其他位为0的数--2AH,与这个字节比较,结果放到AL中  JZ ROUTINE_4            ;如果结果为0,则三位都为0 XOR AL,2AH              ; 前面相与的结果再与2AH异或 JZ ROUTINE_1           ;如果结果为0,则三位都为1 BSF BL,AL               ; BSR BL ,AL CMP BL,CL ;如果向前和向后测试后,第一个1 的位置相同,说明只有一个1,则异或运算前有AL中有两个1 JE ROUTINE_2 ROUTINE_1 38.(1)当括号内是:LOOP时,循环四次,程序结束后 (AX)=05  (BX)= 16   (CX)=0 (DX)=0 (2) 当括号内是: LOOPE 时,不循环,程序结束后 (AX)=02 (BX)=04 (CX)=03 (DX)=02 (3)当括号内是:LOOPNE 时:循环三次,程序结束后 (AX)=04 (BX)=11 (CX)=01 (DX)=0 39.P101 40.(1)0000 3100H   (2)5100H    (3)7100H 41.(1)目的地址:2004H  内容依次为: 56H  F4H   23H    98H    (2)目的地址: 384CH     内容依次为: 91H  34H   F2H    01H    (3)目的地址:   寄存器,无物理地址~     内容依次为:92H   6DH   A2H  4CH 42.(1)PUSH AX   (SP)<------(SP)-2        (SP+1)<-----(AH)    (SP)<------(AL) (2)POP ESI     (ESI)<-------((ESP)+3,(ESP)+2,(ESP)+1, (ESP))    (ESP)<-------(ESP)+4 (3)PUSH [BX]   (SP)<------(SP)-2    (SP+1)<-----([BX+1])    (SP)<------([BX]) (4) PUSHAD    (ESP)<-------(EAX)    (ESP-4)<-------(ECX)    (ESP-8)<-------(EDX)    (ESP-12)<-------(EBX)    (ESP-16)<-------(ESP)       ;这里指的是指令执行前的ESP    (ESP-20)<-------(EBP)    (ESP-24)<-------(ESI)    (ESP-28)<-------(EDI)    (ESP)<-------(ESP)-32 (5)POP DS (DS)<------((SP)+1,(SP)) (SP)<------(SP)+2 (6) PUSH 4 (SP)<-------(SP)-2 (SP+1)<-----0 SP)<------4 43.(1)    2CE FF93H       (2) 24B  76A0H    (3)909 0804H           (4)  6F 13ADH 44. (1)0FFFF FFFCH        (2)0FFFF FFF8H     (3)0000  0007H        (4)0000  0099H 45. (EAX)=0     (EBX)=25d 46. (AX)=3d     (DX)=7d 47. ADD ECX,EDX     ADD ECX,ESI     MOV  EDI  ,ECX 48. IMUL BX,DX,100H执行的操作是:     (BX)<-------(DX)*100H 49.程序实现: MOV AL,BL CBW IDIV  CL IMUL 2 MOV DX,AX 50. JMP DI 是直接跳转,执行的操作是: (IP)<-----(IP)+(DI) JMP [DI]是间接跳转,执行的操作是:   (IP)<----(IP)+([DI])跳转到DI中所指向的内存单元中的指令地址 51.假设数组名为NUMBERS,程序如下 MOV BX,0             ;后面用到 MOV CX,100H      ;把循环次数放入CX MOV AL,42H MOV SI,0            ;初始化SI ;CHECK 用来实现查找功能~ CHECK :  CMP AL ,NUMBERS[SI] INC SI JB  STORE1         ;大于42H的数的个数存入UP JA  STORE2         ;小于42H的的数的个数存入DOWN中 LOOP CHECK      ;相等继续循环 STORE1     INC  BL   ;找到一个大于42 的数,BL值增加1            MOV UP,BL            LOOP CHECK STORE2     INC BH               MOV DOWN ,BH            LOOP CHECK  第四章 1.指令下列指令的错误 (1)MOV AH,BX     源操作数与目的操作数长度不相同~ (2)MOV [BX],[SI]   这是两个内存单元在传递数据,而这在汇编语言中是不允许的  (3) MOV AX,[SI][DI]    不能用两个变址连用,其中一个应为基址 (4)MOV MYDAT[BX][SI],ES:AX     同(2) (5)MOV BYTE PTR[BX],1000  必须有一个为寄存器 (6)MOV BX,OFFSET MYDAT[SI]     OFFSET 不能与复杂操作数相连 (7)MOV CS,AX    不能对CS赋值 (8)MOV ECX,AX     操作数类型不同 2.(1)合法   (2)非法    (3)非法   (4)非法 3.(1)非法,操作数类型不同   (2)合法   (3)非法,不允许两个内存单元直接传递数据   (4)合法   (5)合法   (6)合法   (7)非法,必须有一个寄存器   (8)非法,两个内存单元地址相加没有意义   (9)合法   (10)非法,同(3)   4.(1)两内存单元传递数据    (2)操作数类型不同    (3)跳转指令只能跳转到符号地址    (4)转移指令后不能为变量,只能为标号    (5)格式不对,  应为   NEAR PTR 6.(1)DW  5150H (2)MOV AX,5150H      MOV  ADDRESS   ,AX 7. DATASG    SEGMENT    FLD1B  DB   'personal computer'    FLD2B   DB  10 DUP (32)   FLD3B   DB  20H  FLD4B   DB  01011001B  FLD5B  DB  '32654'  FLD6B  DB  10 DUP (0)  FLD7B   DB  'PART1',DUP 20  (?),'PART2',DUP 50 (?),'PART3',DUP 14 (?) FLD1W   DW  0FFF0H FLD2W   DW  01011001B FLD3W  DW   FLD7B FLD4W   DW   5,6,7,8,9 FLD5W   DW  5 DUP (0) FLD6W  DW  (FLD6W-FLD1W)-(FLD7B-FLD1B) 8.PLENTH 的值为22,GE表示该数据段的长度 9.L的值为7 10.(1)MOV AX,OFFSET  LNAME    (2)MOV SI,WORD PTR CODE_LIST    (3)CODE_LENGHT   EQU   $-CODE_LIST 11.代码如下: DATA_SEG   SEGMENT DB  5 DATA_LIST   DW 0FFFFH, 0,2,5,4, 5 DUP (?) DATA_SEG  ENDS CODE_SEG  SEGMENT ASSUME CS: CODE_SEG, DS:DATA_SEG MOV AX, 5 MOV MAX, AX MOV AX, 0FFFFH MOV MIN, AX  CODE_SEG   ENDS 12.(1)10025(2)19(3)2548(4)3(5)103(6)0FFFFH(7)1(8)3  13.分别汇编成为: MOV AX,0AH MOV BL,0AH MOV  CL,1 14.(1)(AX)=1(2)(AX)=2(3)(CX)=14H(4)(DX)=32H(5)(CX)=1] 15.(1)操作符错误     改为:  DATA_SEG   SEGMENT    (2)缺少段名        在前面加个段名    (3)引用应该从;开始       把那个“/”改成“;” (4)结构混乱   改为:  MAIN_PROC PROC FAR       …… MAIN_PROC    ENDP END   16.程序框架如下: DATA_SEG   SEGMENT             ;定義數據段 ORG 0E000H                     ;讓下一字節地址為0E000H FIRST_TYPE  EQU THIS WORD       ;建立一個與下一存儲單元有相同段地址和偏移地址的操作數 DATA_GROUP DB 100 DUP(?)       ;給DATA_GROUP 分配100個字節的空間 DATA_SEG  ENDS                 ;數據段結束 STACK_SEG  SEGMENT             ;定義堆棧段 ALIGN 16                       ;讓下一字節從小段首地址開始 STACK DB 100 DUP (?)           ;為堆棧分配空間 STACK_SEG   ENDS               ; CODE_SEG SEGMENT ASSUME  CS:CODE_SEG ,DS:DATA_SEG ,SS:STACK_SEG ORG 1000H               ;讓下條指令的第一個字節從1000H開始 START :  MOV AX,DATA_SEG          MOV DS,AX          MOV AX,STACK_SEG          MOV SS,AX          ....... CODE_SEG  ENDS END START                      ;結束 17。程序如下: D_SEG    SEGMENT               ;数据段定义  AUGEND   DD  99251 D_SEG  ENDS E_SEG  SEGMENT                 ;附加段定义 ADDEND  DD -15926 E_SEG   ENDS C_SEG    SEGMENT              ;代码段定义 ASSUME   CS:C_SEG ,  DS:D_SEG,ES:E_SEG START:  MOV AX,D_SEG         MOV DS,AX         MOV AX,E_SEG         MOV ES,AX         MOV EAX,DS:AUGEND         ADD EAX,ES:ADDEND         MOV  DS:SUM,EAX C_SEG  ENDS END  START                         ;结束 19.需要加上PTR伪操作的有:  (2)(3)(4) 第五章     1.程序實現:(經DEBUG調試通過) code  segment     main proc far                         assume cs:code start:                         mov ah,1h int 21h                         sub al,20h                         mov ah,2                         mov dl,al                         int 21h main endp code ends end  start 2.程序實現:(經DEBUG調試通過) code segment           
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服