微机原理及应用试题库(附答案).doc

上传人:豆**** 文档编号:33494241 上传时间:2022-08-11 格式:DOC 页数:11 大小:127KB
返回 下载 相关 举报
微机原理及应用试题库(附答案).doc_第1页
第1页 / 共11页
微机原理及应用试题库(附答案).doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《微机原理及应用试题库(附答案).doc》由会员分享,可在线阅读,更多相关《微机原理及应用试题库(附答案).doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精品文档,仅供学习与交流,如有侵权请联系网站删除微机原理及应用 试题库1. 8086和8088的引脚信号中, D 为地址锁存允许信号引脚。ACLK BINTR CNMI DALE2. 下面的哪项是有效标识符: B A . 4LOOP: B. DELAYIS: C. MAIN A/B: D. GAMA$1:3. 如图所示的三态输出电路,当 A 时,VBVDD。A. E(ENABLE)=1, A=1 B. E(ENABLE)=1, A=0 C. E(ENABLE)=0, A=1 D. E(ENABLE)=0, A=04. 设 (SS)=2000H, (SP)=0100H,(AX)=2107H, 则

2、执行指令PUSH AX 后,存放数据21H的物理地址是 D 。A. 20102H B. 20101H C. 200FEH D. 200FFH5. 汇编语言中,为了便于对变量的访问, 它常常以变量名的形式出现在程序中, 可以认为它是存放数据存储单元的 A 。A符号地址 B物理地址 C偏移地址 D逻辑地址6. 下列四个寄存器中,不能用来作为间接寻址方式的寄存器是 A 。 A. CX B. BX C. BP D. DI(C)7. 执行下列程序段:MOV AX,0MOV BX,1 MOV CX,100 AA: ADD AX,BX INC BX LOOP AA HLT执行后的结果:(AX)= , (BX

3、)= 。A. 5050,99 B. 2500,100 C. 5050,101 D. 2550,1028. 假设V1和V2是用DW定义的变量,下列指令中正确的是 A 。 AMOV V1, 20H BMOV V1, V2 CMOV AL, V1 DMOV 2000H, V29. 49D的二进制补码为 A 。A. 1100 1111 B. 1110 1101 C. 00010001 D. 1110 110010. 在8086/8088CPU中,为了减少CPU等待取指所需的时间,设置了 C 。A. 时钟周期 B. 等待状态 C. 指令队列 D. 中断向量11. MOV AX,1000H; MOV AX

4、,1000H ; MOV AX,BX上述三条指令,根据其寻址方式的不同,判断执行速度,由快至慢的顺序为: B 。A . B. C. D. 12. 若门电路的两个输入量为1、1,输出量为0,则不可能完成此功能的是: D 。A . “异或”门 B. “与非”门 C. “或非”门 D. “与”门13. 若BL=87H,BH=0E6H,则BX= D 。 A. 87H B. 0E6H C. 87E6H D. 0E687H14. 已知物理地址为0FFFF0H,且段内偏移量为0B800H,若对应的段基地址放在DS中,则DS= A 。 A. 0F47FH B. 0F000H C. 0FFFFH D. 2032

5、H15. 设SP=1110H,执行PUSH AX指令后,堆栈指针SP的内容是 D 。 A. 1112H B. 110DH C. 1111H D. 110EH 16. 用来存放即将执行的指令的偏移地址的寄存器是 C 。 A. BP B. SP C. IP D. CS17. MOVS前可添加的前缀为 C 。AREPE/REPZ BREPNE/REPNZ CREP D无18. 下列四个选项, C 项是正确的。A. MOV AX, BL B. MOV BX , SIC. MOV DX, 1000H D. MOV ES, CS19. 下列四个选项, D 项是不正确的。A. INAL, 50H B. IN

6、AX, 70H C. OUT44H, AL D. OUT6780H, AX 20. 堆栈段寄存器是 B 。 ADS BSS CES DCS 21. 86系列汇编语言指令语句格式中,标识符有效长度为 A 个字符。A31 B30 C29 D2822. BUFFER DB 100 DUP(?) ; 表示BUFFER为 B 的存储空间,其内容为随机数,通常作为程序的工作单元。A100个字 B100个字节 C200个字节 D200个字23. SBB在形式和功能上都和SUB指令类似, 只是SBB指令在执行减法运算时, 还要减去 C 的值。ASF BOF CCF DZF24. 字符串指令有许多参数是隐含约定

7、的,目的字符串的起始地址为 D 。ADS:ES BSI:DI CDS:SI DES:DI25. 非循环逻辑移位指令在执行时,实际上是把操作数看成 A 符号数来进行移位。A无 B带 C不确定 26. 非循环算术移位指令在执行时,实际上是把操作数看成 B 符号数来进行移位。A无 B带 C不确定 (C)27. 设2000H、2001H、2002H、2003H这四个存储单元存放的地址分别为12H 、34H、 56H 、78H, 则执行完LES SI, 2000H后, ES= ,SI= 。A3412H;7856H B1234H;7856H C7856H;3412H D7856 H;1234H (A)28

8、. 对于简化的微机硬件结构,IR从PROM接收到指令字,同时将指令字分送到 和W总线上去, 左4位即最高有效位为 ;右4位即最低有效位为 。A. 控制部件CON, 指令字段, 地址字段 B. 算术逻辑部件ALU, 指令字段, 地址字段C. 控制部件CON, 地址字段, 指令字段 D. 算术逻辑部件ALU, 地址字段, 指令字段(B)29. 使用换码指令时, 要求 寄存器指向表的首地址, 而 寄存器中为表中某一项与表格首地址之间的偏移量。AAX ,AL BBX ,AL CBX, BL DAX ,BL30. 当跟踪标志位TF1时, CPU每执行完一条指令就产生一个内部中断, 处于 B 状态。A.

9、正常工作 B. 暂停 C. 程序调试 D. 无法确定31. 串操作时, 地址的修改往往与方向标志DF有关, 当DF1时, SI和DI作自动 B 修改。A增量 B减量 C不确定32. 用 A 能完成把AX的低字节清零,高字节不变的要求。AAND AX,0FF00H BOR BX,00FFH CXOR CX,00FFH DTEST AX, 0FF00H33. 用 B 能完成把将BX的低字节置成全“1”,高字节不变的要求。AAND AX,0FF00H BOR BX,00FFH CXOR CX,00FFH DTEST AX, 0FF00H34. 用 C 能完成将CX的低字节变反,高字节不变的要求。AA

10、ND AX,0FF00H BOR BX,00FFH CXOR CX,00FFH DTEST AX, 0FF00H35. 十进制数30.375表示成十六进制数为 D H。A1F.5 B1F.6 C1E.5 D1E.636. 执行完毕下列程序段后,BX寄存器中的内容是 A 。MOV CL,3MOV BX,00B7HROL BX, 1ROR BX,CL A. 0C02DH B. 00EDH C. 002D H D. 000DH 37. 汇编语言中,经过定义的每个变量均有3个属性,下列 D 不属于变量的属性。A段属性 B偏移量属性 C类型属性 D地址属性38. 字符串指令有许多参数是隐含约定的,源字符

11、串的起始地址为 C 。ADS:ES BSI:DI CDS:SI DES:DI 39. 乘法运算是双操作数运算, 但是, 在指令中却只指定一个操作数, 另一个操作数是隐含规定的, 隐含操作数为 A 。AAL/AX BBL/BX CCL/CX DDL/DX40. LDA 、ADD和SUB三条助记符对应的操作码分别为 A A. 0000、0001和0010 B. 0001、0000和0100 C. 1110、1111和0010 D. 0000、1101和010141. 在8086/8088微机系统中,将AL内容送到I/O接口中,使用的指令是 A 。A. OUT 端口地址, AL B. MOV AL,

12、 端口地址C. OUT AL, 端口地址 D. IN AL, 端口地址42. 指令MOV AL,BX+SI+25,源操作数字段是 B 寻址方式。A. 寄存器 B. 寄存器间接 C. 直接 D. 立即数43. 下列 C 指令不影响进位标志CF的状态。AADD BSUB CINC DCMP44. 8086/8088系统中把1M存储空间分成16个逻辑段(015), 每个逻辑段的容量 C 。A64KB B=64KB C64KB D64KB 45. 已知DS=2000H,BX=3000H,SI=4000H。执行完毕MOV AL,BX+SI 之后,将 A 存储单元的内容送到AL寄存器去。A27000H B

13、27001H C9000H D9001H46. 下列四条指令中, B 是错误的。 A. LEAAX, 2728H B. LEACX, 6093H C. LEASP, 0482H D. LEABX, BP+SI 47. 将11.375D转换成二进制数,为 B 。A1101.011B B1011.011B C1101.101 B D1011.101B48. NEG指令是一个 A 操作数指令。A单 B双 C无 D任意多个49. 在8086/8088中,一个最基本的总线周期由4个时钟周期组成,假设8086的主频为10MHz,则一个时钟周期是 A 。A100ns B200ns C250ns D400ns

14、50. 有如下定义VAR1 DB 1, 2, 3, 4, 5VAR2 DB 12345NUM4 EQU VAR2VAR1则NUM4= D 。A2 B3 C4 D551. 采用2的补码形式时,一个字节能表达的带符号整数范围为 D 。A. 128,+128 B. 127 , +127 C. 127 , +128 D. 128 , +12752. 执行MOV AX, A EQ 41H 后,AX= A 。A0FFFF H B0000H C0041H D4100H53. 子程序计数器SC,不由CLR来清零,而是由 D 门来置数。一旦置数,即为其子程序的开始地址。A. ES B. CS C. DS D.

15、LS54. 8086在存储器读写时,遇到READY无效后可以插入 D 。A. 1个等待周期 B. 2个等待周期C. 3个等待周期 D. 插入等待周期的个数可不受限制55. 执行MOV AL, LOW 3080H 后,AL B 。A30H B80H C3080H56. SCAS指令是用来从目标串中查找某个关键字, 要求查找的关键字应事先置入 A 寄存器中。AAL/AX BBL/BX CCL/CX DDL/DX 57. 一个最基本的微处理器由三部分组成,不包括下列 C 项。A. 算术逻辑部件ALU B. 控制器 C. 时钟振荡器 D. 内部寄存器58. 某种微处理器的地址引脚数目为20条,则此微处

16、理器能寻址 B 字节的存储单元。A. 64K B. 1M C. 1G D. 1T59. 指令 ES: ADD AX,BX+DI+1020H 中,存储器操作数物理地址的计算表达式为 D 。A. PA= DS16+ BX+DI+1020H B. PA= CS16+ BX+DI+1020HC. PA= SS16+ BX+DI+1020H D. PA= ES16+ BX+DI+1020H60. 8086CPU内部按功能分为两部分,即 D 。A. 执行部件和指令队列 B. 总线接口部件和控制部件 C. 执行部件和地址加法器 D. 总线接口部件和执行部件61. 8086CPU的总线接口部件有多个组成部分,

17、除了下述 A 项A. 4个专用寄存器 B. 20位的地址加法器和4个段地址寄存器 C. 16位指令指针寄存器IP D. 6字节的指令队列62. 堆栈的深度由 C 寄存器决定。A. SI B. DI C. SP D. BP63. 在寄存器AX、BX中有两个带符号数A、B,利用CMP AX, BX指令比较两者的大小,若AB,则标志位的状态应是 A 。A. OF=1,SF=1 B. OF=0,SF=1 C. OF=1,SF=0 D. CF=1,SF=064. 指令ADD AX,BX+DI+20H 源操作数的寻址方式为 A 。A. 相对基址加变址寻址 B. 基址加变址寻址 C. 堆栈段基址寻址 D.

18、数据段基址寻址65. 将二进制数1110 1010.0011B转换为八进制和十六进制数,分别为 A 。A. 352.14Q; 0EA.3H B. 352.25Q; 0EB.5HC. 363.25Q; 0EA.3H D. 352.14Q; 0FA.3H66. 8086有两种工作模式,当 B 时为最小工作模式。A. MN/= 0 B. MN/= 1 C. INTR = 1 D. HOLD = 167. 采用寄存器寻址方式时, D 。A. 对16位操作数来说, 寄存器只能采用AX, BX, CX, DX B. 只能对源操作数采用寄存器寻址方式C. 比直接寻址方式的指令执行速度要慢 D. 操作就在CP

19、U内部进行, 不需要使用总线周期68. 设初值BX=6D16H, AX=1100H, 则执行下列程序段后,BX= A 。MOV CL, 06HROL AX, CLSHR BX, CLA. 01B4H B. 4004H C. 41B1H D. 04B1H69. 段寄存器 B 不能从堆栈弹出。A. SS B. CS C. DS D. ES70. 下列对立即数寻址方式描述正确的是 C 。A. 立即数只能是16位二进制数 B. 立即数可以是小数或者变量 C. 立即数只能是整数 D. 源操作数和目的操作数都可以采用立即数寻址方式71. 设初值AX=6264H, CX=0004H, 在执行下列程序段后AX

20、= C 。AND AX, AXJZ DONESHL CX, 1ROR AX, CLDONE: OR AX, 1234HA. 1234H B. 6264H C. 7676H D. 5634H72. 在微型计算机中使用 D 来区分不同的外设。A. 物理地址 B. 偏移地址 C. 有效地址 D. I/O端口地址73. 正数的反码与原码 B 。A. 不相等 B. 相等 C. 无法确定是否相等 74. 微处理器中对每个字所包含的二进制位数叫 D 。A. 双字 B. 字 C. 字节 D. 字长75. 8086CPU中负责与I/O端口交换数据的寄存器为 A 。A. AX/AL B. BX/BL C. CX/

21、CL D. DX/DL76. 十六进制数2B.4转换为二进制数是和十进制数分别为是 A 。A. 00101011.0100 B; 43.25D B. 00111011.0100 B; 43.15D C. 10101011.0101 B; 42.55D D. 01101101.0110 B; 41.35D77. 堆栈是一种 D 存储器。 A. 顺序 B. 先进先出 C. 只读 D. 先进后出78. CPU和主存之间增设高速缓存(Cache)的主要目的是 B 。A. 扩大主存容量 B. 解决CPU和主存之间的速度匹配问题C. 提高存储器的可靠性 D. 以上均不对79. x补=11011100B,则

22、x的真值为 A 。A. 36D B. 92D C. 28D D. 5CH80. 若指令的运算结果不为0且低8位中“1”的个数为偶数,则标志寄存器中ZF和PF的状态为 B 。A. 0,0B0,1C1,0D1,181. 根据下面定义的数据段: DSEG SEGMENT DAT1 DB 1234 DAT2 DW 5678H DAT3 DD 12345678H ADDR EQU DAT3DAT1 DSEG ENDS执行指令MOV AX, ADDR后,AX寄存器中的内容是 C 。A. 5678H B. 0008H C. 0006H D. 0004H82. 在存储体系中,辅存的作用是 C 。A. 弥补主存

23、的存取速度不足 B. 缩短主存的读写周期C. 弥补主存容量不足的缺陷 D. 减少CPU访问内存的次数83. 8086/8088在复位之后再重新启动时,便从内存的 A 处开始执行指令, 使系统在启动时,能自动进入系统程序。A. 0FFFF0H B. 0FFFFH C. 0000H D. 0001H84. 8086的SS=1060H, SP=0010H, AX=1234H, 当执行一条PUSH AX指令时, 1234H存放的实际地址是 D 。A. (10610H)=12H (10611H)=34H B. (10610H)=34H (10611H)=12H C. (1060EH)=12H (1060

24、FH)=34H D. (1060EH)=34H (1060FH)=12H85. 设(BX)=9C27H,执行下列指令序列后,BX寄存器的内容是 C 。 MOV CL,5 SAR BX,CLA. 04E1H B. 80E1H C. 0FCE1H D. 0B00H86. 执行完下列程序段后,AX= B 。MOV DX,8F70H MOV AX,54EAH OR AX,DX AND AX,DX NOT AX XOR AX,DX ROR AX, 1 A. 0FFFF0H B. 0FFFFH C. 0000H D. 0001H87. 设CF=0, (BX)=7E15H, (CL)=03H,执行指令 RC

25、L BX, CL后, (BX)、 (CF)和 (CL)分别是 C 。A. 0F0A9H; 0; 1 B. 0F0ABH; 1; 3 C. 0F0A9H; 1; 3 D. 0F0ABH; 1; 088. CPU用减法指令对两个补码表示的带符号数6BH(被减数)和0C7H(减数)进行减法运算后,标志位CF、SF和OF分别为 D 。A. 0, 0, 0 B. 0, 1, 1 C. 1, 0, 0 D. 1, 1, 189. 在8086和8088汇编语言中,一个字能表示的有符号数的范围是 B 。A. 32768n32768 B. 32768n32767C. 65535n65535 D. 65536n6

26、553590. 如果在CMPS和SCAS指令前使用REPE/REPZ前缀, 则只有在 D 时, 才重复进行扫描和比较。ACX0 BZF1 CCX0 或ZF1 DCX0且ZF1(C) 91. 在8086/8088的16位寄存器中,有4个寄存器可拆分为8位寄存器使用。他们是 ,他们又被称为 。A. AX, BX,CX,DX ;专用寄存器 B. BP, SP, SI, DI; 专用寄存器C. AX, BX, CX, DX ;通用寄存器 D. CS, DS, ES, SS; 段地址寄存器(C) 92. 采用十六进制书写二进制数,位数可以减少到原来的 。A. 1/2 B. 1/3 C. 1/4 D. 1

27、/593. 如果指令中的地址码就是操作数的有效地址,那么这种寻址方式称为 B 。A. 立即寻址 B. 直接寻址 C. 间接寻址 D. 寄存器寻址94. 若(AL)=0C6H,(CL)=03H,执行指令SAR AL, CL后,AL的内容为 D 。 A. 18H B. 28H C. 48H D. 0F8H95. JGE指令的转移条件是 D 。A. (SFOF)0 且 ZF=0 B. (SFOF) =1 或 ZF=1 C. (SFOF)=1 且 ZF=0 D. (SFOF)=0 或 ZF=1 96. 下图为mn的RAM,WE及ME的电位分别为 B 时,为数据写入。A. WE=1,ME=0 B. WE

28、=1,ME=1 C. WE=0,ME=0 D. WE=0,ME=197. 如指令中的地址码就是操作数,那么这种寻址方式称为 A 。 A . 立即数寻址 B. 直接寻址 C. 寄存器间接寻址 D. 寄存器寻址98. 现代计算机通常是将处理程序存放在连续的内存单元中,CPU在执行这个处理程序时,使用一个寄存器来指示程序的执行顺序,这个寄存器为 D 。A. 指令寄存器 B. 指令译码器 C. 指令缓冲寄存器 D. 指令指针寄存器99. 两个无符号数2345H+3219H相加, 状态标志OF和ZF分别为 D 。A. OF=1,ZF=1 B. OF=1,ZF=0 C. OF=0,ZF=1 D. OF=0

29、,ZF=0100. 8088/8086CPU中程序计数器PC中存放的是 B 。 A. 指令 B. 指令地址 C. 操作数 D. 操作数地址101. 若设某容量为16K字节的RAM起始地址为4000H, 则其终止地址为 C 。A. 61FFH B. 63FFH C. 7FFFH D. 6FFFH102. 一个堆栈的深度最大为 B 。A. 1K B. 64K C. 1M D. 1G103. 与十进制数58.75等值的十六进制数是 B 。A. A3.CH B. 3A.CH C. 3A.23H D. C.3AH104. 十进制小数转换成十六进制小数可采用 D 。A. 除10取余法 B. 乘10取整法

30、C. 除16取余法 D. 乘16取整法105. 如图所示总线结构的原理图,4个寄存器A,B,C和D ,其控制字CON= C 。A. W1W2W3W4 B. LAEALBEBLCECLDED CLK C. LAEALBEBLCECLDED D. 无法确定106. 计算机的内存储器可采用 D 。A. RAM B. ROM C. 磁盘 D.ROM和RAM107. 有如下定义TABLE1 DD 0,1,2,3 TABLE2 DB 30H, 31H, 32H, 33H则下列指令中, C 项是正确的。A. MOV AX,TABLE1 B. MOV BX,TABLE2 C. MOV AX, WORD PTR

31、 TABLE1 D. MOV BX, BYTE PTR TABLE1108. 若定义DAT DW 12H, 34H;则DAT+1和DAT+2两个字节内存单元中存放的数据分别是 A 。A. 00H;34H B. 00H;12H C. 12H;00H D. 12H;34H109. 计算机存储器的容量一般是KB为单位,这里的1KB等于 C 。A. 1024个二进制符号 B. 1000个二进制符号 C. 1024个字节 D. 1000个字节110. MDR和MAR以及RAM的联系如图所示,MDR和MAR分别是 B 位的寄存器。A. 8,8 B. 8,12 C. 12,8 D. 12,121、 编写程序

32、:完成两个4字节无符号数加法,即0107 A379H+1006 7E4FH=?结果存放在哪里?MOV DX, 0107H ; 第一个数高16位 DXMOV AX, 0A379H ;第一个数低16位 AXMOV BX, 1006H ;第二个数高16位 BXMOV CX, 7E4FH ;第二个数低16位 CXCLC ;清除进位标志ADD AX, CX ;AX+CX AX(低位)ADC DX, BX ;DX+BX+CF DX(高位)结果=110E 21C8H存放在DX、AX里。2、 用乘法指令完成4902H403AH,结果送内存(0510H)(0513H)单元。 MOV AX,4902H MOV B

33、X,403AH MUL BX MOV 0510H,AX MOV 0512H,DX 3、 写程序:用除法指令完成390AH1024H,并将商和余数顺序存放到数据段2000H开始的内存单元。MOV AX, 390AH CWD ;把字换成双字, 390AH0000390AH, 隐含操作数AX MOV BX, 1024H DIV BX MOV 2000H, AX MOV 2002H, DX4、 试编制将AX的最高4位(D15 D12), BX的最低4位(D3 D0), CX的中间8位(D11 D4), 拼成一个新字送DX的程序段。AND AH, 0F0H ;取AX的高4位, AH AX 的 D15 D

34、12 0000AND BL, 0FH ;取 BX的后4位, BL 0000 BX 的 D3 D0AND CX, 0FF0H ;取 CX中间8位, CX 0000 CX 的 D11 D4 0000OR CH, AH ;拼装高8位, CH AX 的 D15 D12 , CX 的 D11 D8OR CL, BL ;拼装低8位, CL CX 的 D7 D4, BX 的 D3 D0 MOV DX, CX ;DX CX 5、 将内存(10050)单元的内容7AH拆成两段,每段4位,并将它们分别存入内存(10051)和(10052)单元。即(10050)单元中的低4位放入(10051)的低4位,(10050

35、)单元中的高4位放入(10052)的低4位,而(10051)和(10052)的高4位均为零。MOV AX,1000HMOV DS,AX ;DS=1000HMOV SI,50H ;需拆字节的指针SI=50HMOV AL,SI ;取一个字节到AL中AND AL,0FH ;把AL的前4位清0MOV SI+1,AL ;把得到的后4位放到(10051)单元MOV AL,SI ;再取出需拆字节放到AL中MOV CL,4 SHR AL,CL ;逻辑右移四次,前4位补0MOV SI+2,AL ;放6、 在某字符串中查找是否存在$字符。若存在, 则将$字符所在地址送入BX寄存器中, 否则将BX寄存器清“0”。C

36、LD ;清除方向标志DFMOVDI, 0100H ;送目标串首元素偏移地址MOVAL, ;关键字ALREPNESCASB ;找关键字ANDCX, 0FFHJZZERDECDIMOVBX, DI ;关键字所在地址BXJMPST0 ZER:MOVBX, 0;未找到, 0BX ST0: HLT7、 将2000H:1200H地址开始的100个字节传送到6000H:0000H开始的内存单元中去。7MOV AX, 2000H MOV DS, AX ;设定源串段地址 MOV AX, 6000H MOV ES, AX ;设定目标串段地址 MOV SI, 1200H ;设定源串偏移地址 MOV DI, 0 ;设定目标串偏移地址 MOV CX, 100 ;串长度送CX

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

当前位置:首页 > 教育专区 > 小学资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁