汇编语言设计复习题

合集下载

汇编语言程序设计复习2(带答案)1

汇编语言程序设计复习2(带答案)1

汇编语言程序设计练习题2一、单项选择题(答案BDDBA BDADC CCAC CBBDA BDADA BCCB )1、使计算机执行某种操作的命令是( )A.宏指令B.指令C.伪指令D.语句2、某存储单元的物理地址是12345H,可以作为它的段地址有()。

A.2345H B.12345HC.12340H D.1234H3、8088/8086存储器分段,每个段不超过()A.64K个字B.32K个字节C.1兆个字节D.64K个字节4、计算机能直接识别并执行的语言是( )A.汇编语言B.机器语言C.高级语言D.低级语言5. 8086/8088系统执行传送指令MOV时()A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志6、以下各个指令中正确的是()。

A. MOV CS, DXB. MOV DS, BPC. IN 20H,ALD. MOV AH, BX7、下列对OUT指令的叙述正确的是()。

A. 实现从端口中读出数据B. 能直接访问的端口范围是0~1KBC. 能访问的端口为64KBitD. 只能用DX做为间接寻址的寄存器8、已有汇编语句“V AR EQU 1220H”,则语句“mov AX, V AR”中源操作数的寻址方式为()。

A. 立即寻址B. 直接寻址C. 寄存器间接寻址D. 基址寻址9、与MOV BX,OFFSET DATA1指令完全等效的指令是()。

A.MOV BX,DATA1B.LDS BX,DATA1C.LES BX,DATA1D.LEA BX,DATA110、下列指令中段默认为堆栈段的是()A.MOV AX,[BX+SI+10]B.ADD AX,ES:[SI]C.SUB BX,[BP][DI]D. MOV DX,[1000H]11、已知DS=2000H,ES=1000H, SI = 0800H,内存10880H开始的两个单元中存放5678H,内存20880H开始的两个单元中存放8765H,则语句“LEA BX,[SI+80H]”执行后BX 的值为()。

(完整版)汇编语言复习题

(完整版)汇编语言复习题

汇编语言程序设计复习题一、单项选择题1.假设(AL)=0FFH依次执行ADD AL,0FH指令后,标志位ZF和SF的状态分别为(A )A. 0和0B. 0和1C. 1和0D. 1和12.假设V AR为变量,指令MOV BX,V AR 的寻址方式是( A )A.直接寻址B.间接寻址C.立即寻址D.存储器寻址3.下列指令中,不影响标志位的是( C )A.SUB BX,BX B.ROR AL,1 C.JNC Lable D.AND AL,CL4.假定(DS)=4000H,(DI)=0100H,(40100H)=55H,(40101H)=0AAH,试问执行指令MOV BX,[DI]后,(BX)= ( C )A.0100H B.55AAHC.AA55H D.4100H5.执行下列哪一条指令后,就能用条件转移指令判断AL和BL寄存器中的最高位是否相同?(D )A. TEST AL BLB. CMP AL BLC. AND AL BLD. XOR AL BL 6.堆栈中当前出栈的存储单元地址是(A )A. SS*10H+SPB. SS*10H+BPC. SS*10+SPD. SS*10+BP7.已知V AR DW l,2,$+2,5,6 若汇编时V AR分配的偏移地址是0010H,则汇编后0014H单元的内容是( D )A.6H B.14H C.5H D.16H8.循环控制指令REPNZ继续执行循环的条件是(B )A. CX≠0且ZF=1B. CX≠0且ZF=0C. CX≠0或ZF=1D. CX≠0或ZF=09.设NUM=11011011B,指令“MOV AL,NUM SHL 3”执行后AL中的值是(B )A.11011011000BB.11011000BC.00011011BD.00011011011B10.下面XCHG指令语句中,语法正确的是(B)A. XCHG AX,DSB. XCHG BL,[BX]C. XCHG AL,OFHD. XCHG [SI],[DI]11.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是( A )A。

汇编语言参考复习题

汇编语言参考复习题
定义段结束的伪指令是__________;定义汇编程序结束的伪指令是_________。ENDS,END
A) BX B) DI C) SI D) DX
3.在指令MOV ES:[SI],AX 中,目的操作数为_______寻址方式。
A) 寄存器 B) 直接 C) 基址变址 D) 寄存器间接
简答题
1.写出6种常用的寻址方式。
伪指令VR1 DB 2 DUP(?,3 DUP(1,2),5)在存贮器中被分配了_________字节。答案: 16个
若当前(SP)=6000H,CPU执行一条IRET指令后,(SP)=___ _____H;而当CPU执行一条段内返回指令RET 6后,(SP)=____ ______H。 6006H,6008H
A)0FH,04H B)0BH,04H C)0FH,0BH D)04H,0FH
6.若已知(SP)=2000H,(AX)=0020H,则执行指令,PUSH AX 后,(SP)和((SS):(SP))的值分别为_________。
A)2002H,00H B)2000H,20H C)1FFFH,00H D)1FFEH,20H
A) 0—255 B) 0—65535 C) 0—1023 D) 0—32767
14.下列四条指令中,有几条指令需要使用DX寄存器_________?
MUL BX DIV BL IN AX,20H OUT 20H,AL
执行指令段: AGAIN:MOV ES:(DI), AL
INC DI
LOOP AGAIN
完成的操作,与其等效的指令组:_______________、_______________。
CLD,REP STOSB

最新《汇编语言程序设计》期末复习题-文库.资料

最新《汇编语言程序设计》期末复习题-文库.资料

一、填空题1.一个十进制数 35.625其对应的二进制数为 100011.101B 、十六进制数为23H2.将 8存放在一个字单元中 , 则该单元中二进制代码是 0008H3.计算机软件分为两个部分即系统软件和应用软件而汇编程序属于系统软件 , 汇编语言应用程序属于应用软件4.把汇编语言源程序翻译成计算机能够识别、执行的目标程序的软件称为汇编程序5.8086/8088 CPU内部一般用来存放数据的寄存器有 AX BX CX DX6.8086/8088 CPU内部用来存放段地址寄存器的有 CS DS SS ES7.逻辑地址由段地址与偏移地址组成8.一个语句的名字项可以是标号或变量 , 在程序中它们两个在书写形式上的主要区别是标号以冒号结尾而变量不以冒号结尾9. 在 PSW 中 , 用以记录当前运算结果特征信息的那些位称为状态标志位 , 一般是由 CPU自动设置。

10.存储器单元与物理地址的关系是一一对应 ,在一个逻辑段内 , 每个单元对应的段地址是相同的 ,而偏移地址是不同的11.在 I/O接口中 , 为每个可访问的寄存器分配的地址是端口地址12.用以指示当前堆栈栈顶的指针寄存器是 SP13.机器指令是一组规定计算机的操作类型及相关操作数的二进制代码14. 假设执行指令前 BX=5678H, CL=8,指令 ROL BX, CL 执行后 BX 的内容是7856H15.一条指令的基本结构一般由操作码字段和操作数字段两个部分组成。

16.8086/8088 存储器地址分段时,每个段起始地址的特征是二进制表示的地址中低四位都为 017.所谓“寻址方式”是指在指令中用以说明操作数所在地址或位置的方法18.在指令中直接给出操作数的寻址方式称为立即数寻址19.无符号数和带符号数的两组条件转移指令,每条指令都有完全等效的两个指令助记符,例如, JL 指令另一个指令助记符是 JNGE20.8086/8088指令系统中 , 用以描述 (说明寄存器操作数的寻址方式是寄存器寻址方式21.设 MASK 为一个变量 , 在“ MOV AX,MASK[SI+BX]”指令中 , 源操作数的寻址方式是基址变址寻址方式22.CPU执行“ JMP BX”指令只改变 2P 内容 ,而不改变 CS 内容。

汇编语言复习题附答案

汇编语言复习题附答案

汇编语言复习题附答案一、选择题1. 汇编语言是一种()。

A. 高级语言B. 机器语言C. 低级语言D. 面向对象语言答案:C2. 在汇编语言中,指令通常由()组成。

A. 操作码和操作数B. 操作数和地址C. 操作码和地址D. 操作码、操作数和地址答案:A3. 汇编语言中的寄存器通常用来()。

A. 存储数据B. 存储指令C. 存储程序D. 存储地址答案:A4. 汇编语言中的指令MOV AX, BX的作用是()。

A. 将AX寄存器的值移动到BX寄存器B. 将BX寄存器的值移动到AX寄存器C. 将AX和BX寄存器的值相加D. 将AX和BX寄存器的值相减答案:B5. 汇编语言中的循环结构通常使用()指令实现。

A. JZB. JNZC. LOOPD. CALL答案:C二、填空题1. 汇编语言中的指令ADD AX, BX表示将AX和BX寄存器的值相加,并将结果存入____寄存器。

答案:AX2. 汇编语言中的指令SUB AX, BX表示将AX寄存器的值减去BX寄存器的值,并将结果存入____寄存器。

答案:AX3. 汇编语言中的指令CMP AX, BX用于比较AX和BX寄存器的值,但不进行存储操作,结果影响____标志。

答案:标志寄存器4. 汇编语言中的指令JMP LABEL用于无条件跳转到标签____处执行。

答案:LABEL5. 汇编语言中的指令PUSH AX将AX寄存器的值压入____。

答案:堆栈三、简答题1. 简述汇编语言与机器语言的区别。

答案:汇编语言是一种低级语言,它使用助记符来表示机器语言的指令,更易于人类理解和编写。

机器语言则是由二进制代码组成的指令集,直接被计算机硬件执行,但对人类来说难以阅读和编写。

2. 描述汇编语言中如何实现条件跳转。

答案:汇编语言中实现条件跳转通常使用条件跳转指令,如JZ(跳转如果零)、JNZ(跳转如果非零)、JMP(无条件跳转)等。

这些指令根据CPU的状态寄存器中的条件码标志来决定是否跳转到指定的标签处执行。

汇编语言复习资料

汇编语言复习资料

汇编语言程序设计复习提纲一、单项选择题1.指令指针寄存器是()。

2. DAL DB 67HNUM EQU 80H则执行AND DAL,NUM语句后DAL中的内容是()。

A. E7HB. 80HC. 67HD. 03.与指令MOV AX,NOT 0F0H等效的汇编语言指令是()。

A. MOV AX,0FHB. MOV AX,0FF0FHC. MOV AX,000FHD. MOV AX,0F0H4.一个有16个字的数据区,它的起始地址是70A0H:DDF6H,则这个数据区最末一个字单元的物理地址是()。

B5.可用作基址变址寻址或寄存器间接寻址的寄存器是()。

,BX,CX,DX ,ES,CS,SS,BP,IP,BX ,DI,BP,BXD6.在串操作指令中,下列描述中不正确的是()。

MOVSB STOSBCMPSB LODSBD7. ORG 0030HDA1 DB 0 , ‘0’, 30H偏移地址为0030H字存储单元的内容是()。

A8.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令是()。

A. CMPD9.将汇编语言源程序翻译成机器码程序的程序是()。

A.编译程序B.汇编程序C.解释程序D.目标程序B10.设DS=1E4AH,偏移地址为0056H,该字节的物理地址为()。

A. 1E4A6HB. 1E456HC. 1E556HD. 1E4F6HD11.当程序顺序执行时,每取一条指令语句,IP指针增加的值是()A.由指令长度决定的字节数A12.若AX=349DH, CX=0FH。

则执行指令AND AX,CX后,AX的值是()。

B13. 设(AX)=0FC77H, (CX) =504H, CF=1,执行SAR AX, CL指令后,AX的值是()。

A. FFC8HB. FFC9HC. FFC7HC14.假设字节单元(02398H)=12H, (02399H) =34H, (0239AH) =56H,则(02399H)字单元的内容是()。

汇编语言程序设计复习题答案

汇编语言程序设计复习题答案

《汇编语言程序设计》复习题一、填空题1、8086CPU内部结构按功能分为两部分,即 BU(执行部件)和 BIU(总线接口部件)。

2、CPU中的总线接口部件BIU,根据执行部件EU的要求,完成CPU与主存储器或I/0端口之间的数据传送。

3、8086中的BIU由四个 16 位段寄存器、一个 16 位指令指针、 6 字节指令队列、 20 位地址加法器和总线控制电路组成。

4、8086/8088的执行部件EU由 8 个通用寄存器、 1 个专用寄存器、一个标志寄存器和 ALU 等构成。

5、根据功能不同,8086的标志位可分为状态标志和控制标志。

6、8086/8088构成的微机中,每个主存单元对应两种地址:段基值和偏移量。

7、8086CPU具有 20 根地址线,直接寻址能力可达 1M 。

8、逻辑地址由段基值和偏移量组成,其中的段基值是由段寄存器存储。

9、计算机的指令由操作码和地址码两部分组成。

10. 零地址指令是不带地址码的机器指令,其操作数是由隐含指定提供的。

11. 8088CPU中共有 14 个寄存器,这些寄存器为 16 位。

12. F标志寄存器共有9个标志位,除OF、SF、AF和CF外,还有 DF 、 IF 、 TF 、▁ ZF 和 PF ,其中用于记录是否产生进位的标志位是 CF 。

13. 标号和变量所具有的三种属性分别为段属性、偏移量属性和类型属性。

14. 操作数有三种类型,分别为常数操作数、寄存器操作数和存储器操作数。

15. 一个源程序中可以包含代码段、数据段堆栈段及附加段。

其中代码段是源程序中必不可少的,其它的段可有可无。

16. SEGMENT/ENDS称为段定义伪指令;ASSUME称为段寻址伪指令;NAME/END称为模块定义伪指令;源程序结束伪指令为 END ;过程定义伪指令为 PROC/ENDP 。

数据定义伪指令为 DB 、 DW 、DD 。

17. 一般DOS系统功能调用的步骤为:(1) 送入口参数到指定寄存器;(2)送功能号至AH ;(3)软中断指令INT 。

烟台大学《汇编语言程序设计》期末考试复习题及参考答案

烟台大学《汇编语言程序设计》期末考试复习题及参考答案
A. 02120H
B. 03200H
C. 20120H
D. 21200H
答 案:C
48、下列指令中不能将AX清0的指令是( )。(2分)
A. SUB AX,AX
B. TEST AX,0
C. XOR AX,AX
D. AND AX,0
答 案:B
49、设AL=0A8H,CX=2,CF=1,执行RCLAL,CL指令后,AL中的值为( )(2分)
A. 80H
B. 160H
C. 80
D. 160
答 案:D
3、设AL=0AH,下列指令执行后能使AL=05H的是( )(2分)
A.NOT AL
B.AND AL,0FH
C.XOR AL,0FH
D.OR AL,0FH
答 案:C
4、CPU要访问的某一存储单元的实际地址称(2分)
A.段地址
B.偏移地址
C.物理地址
CBW
(2分)
A. AX=0FF82H
B. AX=8082H
C. AX=0082H
D. AX=0F82H
答 案:A
31、下面的数据传送指令中,错误的操作是( )(2分)
A. MOV SS:(BX+DI),1000H
B. MOV DX,1000H
C. MOV WORDPTR(BX),1000H
D. MOV DS,2000H
add ax,0f510h
A. of=1
B. cf=1
C. sf=1
D. zf=1
答 案:C
12、JMPWORDPTR(DI)的源操作数的物理地址是( )(2分)
A. 16D×(DS)+(BX)+(SI)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题1. 应用程序具有3个基本段,可执行指令应该保存于( A )。

A) 代码段B) 数据段C) 堆栈段D) 附加段2. 8位补码F3H要扩展成16位补码应该是( D ),这样其真值才不变。

A) F0F3H B) 00F3H C) 10F3H D) FFF3H3. “mov [ebx+8],eax”指令的目的操作数采用( C )寻址方式。

A) 存储器间接B) 寄存器C) 寄存器相对D) 立即数4. 执行“sar ebx,1”指令后,ebx最高D31位一定等于( D )A) 0 B) 1 C) D0位D) D30位5. 在代码段内的-128~127个字节前后范围的跳转,可以用( C )类型名表示。

A) WORD B) DWORD C) SHORT D) FAR6. 在Windows控制台环境,在当前光标显示信息应该使用( B )函数(功能)。

A) ReadConsole B) WriteConsoleC) MessageBox D) GetStdHandle7.汇编语言源程序经汇编后不能直接生成( C )A) OBJ文件B) LST文件C) EXE文件D) CRF文件8.在ADD指令中,两个操作数的物理位置不可以安排在( A )中。

A) 两个主存储单元B) 一个主存储单元和一个数据寄存器C) 两个数据寄存器D) 一个堆栈单元和一个数据寄存器9.假定ax=6987h,执行指令cmp ax,0eb30h后,则标志位CF和OF的状态( C )。

A)0,0 B) 0,1 C) 1,0 D) 1,110.假定esp=00120100h,eax=1f6c2107h,执行指令push ax后,存放数据07h的物理地址是( C )。

A) 00120104h B) 00120101h C) 001200fch D) 001200ffh11.下列对标志寄存器中标志位产生影响的指令是( B )A) jmp done B) shl eax, 2C) call subp D) not eax12. 假设CL=98H, 执行“MOVSX DX, CL”后,DX=( D )A) F098H B) 0098H C) 1098H D) FF98H13. “mov 80h[esi], eax”指令的目的操作数采用( C )寻址方式。

A) 存储器间接B) 寄存器C) 寄存器相对D) 变址寻址14. 要在程序中定义缓冲区BUF,保留9个字节存储空间的语句是(C )。

A) BUF DW 9 B) BUF DB 9C) BUF DB 9 DUP (?) D) BUF DW 9 DUP (?)15. 下列指令执行后总是使CF=0,OF=0的是( A )。

A) AND B) NEG C) MOV D) INC16. 下面指令的表示中,错误的操作是( C )A) mov eax,[ebx+esi] B) jmp near ptr don1C) dec [ebx] D) mul cx17.测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方法是( A )A) xor bl,4fh B) test bl,4fhjz next jz nextC) and bl,4fh D) or bl,4fhjz next jz next18.下列寄存器组中在段内寻址时不可以提供偏移地址的寄存器组是( C )A) ECX,EBX B) EDI,EBPC) EIP,EAX D) EDX,ESI19.若要使寄存器AL中的高4位不变,低4位为0,所用指令为( B )A) AND AL,0FH B) AND AL,0F0HC) OR AL,0FH D) OR AL,0F0H20. 将汇编语言源程序文件翻译成目标代码文件的过程,称为( A )A) 汇编B) 编辑C) 连接D) 调试21. ADD求和指令的结果最高位为1,则SF=( B )A) 0 B) 1 C) 任意D) 不影响22. 子程序最后,通常需要执行的返回指令是( D )A) LOOP B) JZ C) CALL D) RET23.“mov eax, [ebx] [esi]”指令的源操作数采用( A )寻址方式。

A) 基址变址B) 寄存器C) 寄存器相对D) 存储器间接24.若CL= 4,AX=0FF0FH,执行语句“ROL AX,CL”后,AX=( C )A) 0FFFFH B) 0FFF0H C) 0F0FFH D) 0FFFH25.JMP WORD PTR[EBX]转移的目标地址是( D )A) EBX中的内容B) ESP+EBX的和C) EIP+[EBX]之和D) EBX指示的内存单元的内容二、填空题1. IA-32处理器有三种操作模式分别是:保护模式、实地址模式、系统管理模式。

2. 在实地址工作方式下,逻辑地址“1460H: 100H”表示的物理地址是14700H 。

3.“cmp ebx, 98”指令之后是“jz again”指令,发生控制转移的条件是EBX=98 ,此时ZF= 1 。

4. 伪指令“xyz dword 67762000h”定义的变量保存于IA-32的存储器中,则从低地址到高地址每个字节依次是00 、20 、76 和67 。

5. mov ax, 1234h;xor ax, 00ffh;上述两条指令执行后:ax= 12cbh , CF=OF=0 , SF=0 , ZF=0 , PF=0 .6. 利用堆栈传递子程序参数的方法是固定的,例如:寻找堆栈段数据的寄存器是 EBP7. JMP 指令根据目标地址的转移范围和寻址方式,可以分为四种类型:段内转移、相对转移、段内转移、间接转移以及段间转移、直接转移、段内转移、间接转移。

8. IA-32处理器工作在保护方式时,可以使用平展和段式存储模型。

9. 数据段有语句“VAR DWORD 99008843H”,代码段指令“MOV CX, WORD PTR VAR”执行后,CX=8843H 。

10. 数据段有语句“ABC BYTE 1,2,3”,代码段指令“MOV CL, ABC+2”执行后,CL=3 。

11.已知ESI=04000H,EBX=10H ,指令“MOV EAX, [ESI+EBX*2+8]中访问的有效地址是04028H 。

12.假设在平展存储模型下,EBX=1256H,双字变量TABLE的偏移地址是40100H,线性地址41356H处存放40107H,执行指令“JMP EBX” 后EIP= 1256H ,执行指令“JMP TABLE[EBX]”后EIP=40107H13.已知数据段定义如下:.dataorg 2000hvard dword 1234hvarw word 3*20msg byte ’hello!’,’0’n1 equ $-msgcount equ 5buf word count dup(5,3 dup(1,2),0)array dword varw问题: (1)执行MOV EBX , OFFSET VARD后, EBX= 2000H(2)执行MOV ECX , TYPE BUF后, ECX= 2MOV EDX , SIZEOF VARD后, EDX= 4(3)经汇编后, BUF占有的存储空间是 80 字节(4)经汇编后,$= 200DH , N1= 7Array = 2004H14. 执行“SHR EBX, 4”指令后,JNC发生转移,则说明EBX的D3= 015. 子程序的参数传递主要有三种,它们是寄存器传递、共享变量传递、堆栈传递三、程序阅读题1.填写下面指令的执行结果。

mov eax,3721hadd eax,9 ; EAX= 372A Hmov ebx,50hsub ebx,8 ; EBX= 48 Hmov edi,9ehxor edi,7fh ; EDI= E1 H2.填写下面指令执行的结果。

mov al, 82h ;movsx bx, al ; BX =FF82hmovsx ebx, al ; EBX=FFFFFF82hmov cx, 1000h ;movsx edx, cx ; EDX=00001000h3.填写下面指令执行的结果。

mov ax, 20000mov bl,10div bl;以上代码是否产生溢出是4. 数据段有如下定义,IA-32处理器将以小端方式保存在主存:var dword 12345678h现以字节为单位按地址从低到高的顺序,写出这个变量内容。

并说明如下指令的执行结果:mov eax,var ; EAX=12345678hmov cx,word ptr var+2 ; CX=1234hmov dh,byte ptr var+3 ; DH=12h5.填写下面指令的执行结果。

mov eax, 3721hadd eax, 9 ; EAX= 372A Hmov ebx, 50hsub ebx, 8 ; EBX= 48 Hmov esi, 9ehand esi, 80h ; ESI=80 H6.填写下面指令执行的结果。

.dataarray dword 616h,727h,838h ;假设该变量的存储器地址是40100H.codemov esi,array+4 ;ESI= 727Hmov edi,offset array ;EDI= 40100Hmov edx,[edi] ;EDX= 616Hpush array+8 ;array+8= 838Hpop ecx ;ECX= 838H7.分析下面程序段:mov eax, 2000hmov ebx, 5000hmov [ebx+100h], 60hadd eax, [ebx+100h]lea esi, [ebx+100h]mov ebx, eax程序段执行后,ESI= 5100 H,EBX= 2060 H8.填写下面指令的执行结果。

mov eax,3721hadd eax,9 ; EAX= 372A Hmov ebx,50hsub ebx,8 ; EBX= 48 Hmov esi,9ehand esi,80h ; ESI= 80 H9.填写下面指令执行的结果。

mov eax,0ffhmov ebx,1000hcall sub1inc eaxdec ebx;子程序sub1 procadd eax, ebxxchg eax, ebxretsub1 endp程序段执行后,EAX= 1001 H,EBX= 10FE H。

四、语句填空题1. 在下面程序段实现下述功能:求:z=|x-y|,设x, y, z分别为双字数据的无符号变量名称。

mov eax,xcmp eax,yjb belowsub eax,ymov z,eaxbelow: mov eax,ysub eax,xdone: mov z,eax2.下列程序段将EAX中值乘以9,请将程序填写完整。

相关文档
最新文档