《微机原理及应用》练习册答案.doc_第1页
《微机原理及应用》练习册答案.doc_第2页
《微机原理及应用》练习册答案.doc_第3页
《微机原理及应用》练习册答案.doc_第4页
《微机原理及应用》练习册答案.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理及应用练习册答案习题一一、填空题:1、二进制数的基数为2,只有 0 、 1 两个数码。2、二进制数一般有 反码 、 原码 、 补码 三种表示法。3、常用的基本逻辑运算有 与 、 或 、 非 、 异或 。4、一台电子计算机由存储器 、运算器、控制器、 输入设备 、 输出设备 组成。5、标志寄存器的作用是:用来反映程序运行期间CPU的某些状态 。6、计算机系统包括软件系统 和硬件系统 两部分。7、 在IBM PC中,有四个专门存放地址的寄存器,称为段寄存器,它们是 DS 、 CS 、 ES 、和SS。8、 标志寄存器中有9 个标志位,CF、OF 、PF、 ZF 、 SF 、AF 作为状态标志。10、指针IP的作用是 控制程序的走向。11、在标志寄存器中,OF表示 溢出位 标志位,CF表示进位位 标志位12、系统总线包括 数据总线 、 控制总线 、 地址总线 三种总线。13、ZF表示零值位 标志位,SF表示符号位 标志位。14、常用通用寄存器有AX、BX、CX、DX。15、常用段寄存器有DS、CS、SS、ES。16、常用地址及变址寄存器有SI、DI、BX、BP。17、BP表示 基址 指针;SP表示 堆栈 指针。18、DI表示 目的变址 指针;SI表示 源变址 指针。19、+18的补码是 00010010B ,-18的补码是 11101110B 。20、10111001011与0001110110之和是补码是 1101011011 ,将其化为十六进制数为 35EH ,化为十进制数为 859 。二、 选择题:1、0.101001B等于AA、0.640625DB、0.620125D C、0.820325D D、0.804625D2、下列数中最大的数为 D A、(101001)B B、(52)O C、(101001)BCD D、(233)H3、下列数中最大的数为 C A、(10010101)B B、(227)O C、(96)H D、(96)D4、计算机系统中采用补码运算的目的是为了 D A、与手工运算方式保持一致 B、提高运算速度C、简化计算机的设计 D、提高运算的精度5、当1与0或1进行何种运算时,结果均为1 D A、逻辑与 B、逻辑或 C、逻辑非 D、逻辑异或6、 在计算机内部,数的运算和存储都采用 A 数A、二进制 B、十进制 C、八进制 D、十六进制7、当0与0或1进行何种运算时,结果均为0 A A、逻辑与 B、逻辑或 C、逻辑非 D、逻辑异或8、若将一十六进制数取反,应使该数与0FFFFH进行 D 运算 A、逻辑与 B、逻辑或 C、逻辑非 D、逻辑异或9、X=74D的补码为 A 。 A、01001010 B、00101001 C、01101111 D、1110001010、X=-74D的补码为 A 。A、10110110 B、00101101 C、01101111 D、10101010习题二一、填空题:1. 堆栈操作中,存取数据的规则是:先进后出 。2. 堆栈的基本操作有:进栈 、出栈、设置堆栈 。3、设IBM PC微机内存中某一单元的物理地址是 12345H,完成不同的逻辑地址:1)1234H:5HH 2)1200H:0345H 。4、逻辑地址换算为物理地址的公式为 物理地址=段基值10H+偏移量 。5、从制造工艺角度,半导体存储器可分为 双极型 、CMOS型、HMOS型 。二、选择题:1、IBM-PC中的一个字单元由C字节单元组成。 A、8B、4C、2D、12、B是唯一代表存储空间中每一个字节单元的地址。A、段地址B、物理地址C、偏移地址D、PSW3、某存储单元的段基址为 0915H ,偏移量为003AH ,那它的物理地址为 A 。A、0918AHB、0945AHC、0915AHD、0912AH4、一个物理地址对应 D 个逻辑地址A、1个 B、2个 C、3个 D、若干个5、逻辑地址由 D 构成A、CS和IP B、DS和IP C、ES和IP D、段地址和偏移量三、判断题:1、在1M字节的存储器里,每一个存储单元都有一个唯一的20位地址,称为该存储单元的物理地址。( )2、在IBM PC中的堆栈的存取可以以字节或字为单位,所以PUSH和POP指令可以作字节或字操作。( )3、由于堆栈区域是在程序中堆栈定义中就早已确定的,因而堆栈工作过程中是不会出现溢出情况的。( )4、 由于在递归操作中频繁的使用堆栈,子程序的内容被不断调用,所以在这种情况下出现下溢出是允许的。( )5、物理地址和逻辑地址都是唯一代表内存单元的地址。( )习题三一、 填空题:1、计算机中的指令是由操作码和操作数组成。2、操作数直接存放在指令中,紧跟在操作码之后,它作为指令的一部分存放在代码段里,这种操作数称为立即数寻址。3、 在相对基址变址寻址中,操作数的有效地址是 基址寄存器和变址寄存器的内容和 8 位或16位位移量之和。4、 一条指令的执行时间是 指令的基本执行时间、存操作数、及取操作数各个阶段所需时间的总和。5、 数据传送指令负责把数据、地址和立即数 传送到寄存器或存储单元中。6、 LEA BX ,BX+SI+0F62H 执行前BX = 0400H,SI= 003CH执行以后BX=0FDEH 。7、 中断分为 内中断 和外中断。8、 中断向量:中断服务程序的入口地址 。9、 按照指令格式划分,通常分为三种:指令、伪指令 、宏指令 。10、写出下列指令:减法SUB 、带借位减法 SBB 、求补 NEG。11、写出下列加法指令:加法 ADD,带进位加法ADC ,加1 INC。12、MOV AX, BX 如果(DS)=2000H(BX)=1000H 21000H=1234H 21002H=2345H 则(AX)=1234H。 13、循环右移指令是ROR。14、已知AL=0AFH,那么指令“NEG AL”执行结果AL=51H 。15、程序中为了作某些处理而设置的中断指令属于内中断。16、MOV AX,1234H的寻址方式为立即数寻址 。17、MOV AX,BX的寻址方式为 寄存奇寻址 。18、MOV AX,BX的寻址方式为 寄存器间接寻址 。19、MOV AX, MOV AX,BXSI的寻址方式为 基址加变址寻址 。20、MOV AX, MOV AX,MASKBXSI的寻址方式为相对基址加变址寻址。21、段内转移应改变IP的值、段间转移则应改变CS、IP的值。22、无条件跳转指令为JMP。23、JZ表示ZF=1 则转移,JS表示SF=1 则转移。24、JNZ表示ZF=0 则转移,JNS表示SF=0 则转移。25、JL表示 小于时 则转移,JLE表示小于或等于 则转移。26、JNL表示不小于 则转移,JNLE表示大于 则转移。27、JB表示 低于 则转移,JBE表示 低于或等于 则转移。28、JNB表示不低于 则转移,JNBE表示高于 则转移。29、子程序调用命令为CALL、返回命令RET 。30、当 CXO且ZF=0 条件满足时,LOOPNE指令执行循环操作。二、 选择题:1、单地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数外,另外一个数常需采用C A、堆栈寻址方式 B、立即寻址方式 C、隐含寻址方式 D、间接寻址方式2、就取得操作数的速度而言,下列寻址方式中速度最快的是 B 。 A、直接寻址 B、立即寻址 C、间接寻址 D、寄存器寻址3、就取得操作数的速度而言,下列寻址方式中速度最慢的是 C 。 A、直接寻址 B、立即寻址 C、间接寻址 D、寄存器寻址4、就取得操作数的速度而言,下列寻址方式中不需要访问内存的是 B 。 A、直接寻址 B、立即寻址 C、间接寻址5、对某个寄存器中操作数的寻址方式称为C寻址。 A、直接 B、间接 C、寄存器 D、寄存器间接6、寄存器间接寻址方式中,操作数处在 B 。A、通用寄存器 B、内存单元 C、程序计数器 D、堆栈7、LES DI, BX 如果指令执行前 (DS)=B000H,(BX)=080AH,(0B080CH)=04ABH,(0B080CH)=4000H,则指令执行后 (DI)=A(ES)= A A、 04ABH,4000H B、05AEH,3000H C、05AEH,4000H D、04ABH,3000H8、ADD AL,BL 如果指令执行前,(AL)=28,(BL)=68,则指令执行后(AL)= CF= AF= D A、96,1,0 B、40 ,1,0 C、40,0,1 D、96,0,19、标志位操作指令CMC的作用是将C 。A、CF=0B、CF=1C、CF取反D、DF=010、操作数地址在指令中称为A寻址A、 直接 B、寄存器 C、寄存器间址 D、变址11、下列错误的指令是B A、AND DH,DLB、MOV BXBP,AXC、MOV DA_WORD,1234HD、XCHG AL,DA_BYTE112、计算机指令系统往往具有多种寻址方式。操作数就是指令的一部分称为C_寻址。A、 直接 B、运算器 C、立即数 D、指令13、ROR指令是BA、 循环左移B、 循环右移C、 带进位循环左移D、 带进位循环右移14、机器指令由 A 代码组成A、二进制 B、八进制 C、十进制 D、十六进制15、已知(32000H)=1234H,(32002H)=2345H,(DS)3000H,则MOV AX, 2000H指令执行后,(AX)= A A、1234H B、3423H C、2345H D、4512H16、下列哪一项不可以作为立即寻址的目的操作数 B A、通用寄存器 B、立即数 C、存储器 D指针寄存器17、下列指令格式不正确的为 D A、MOV AX,1234H B、XCHG AX,BUFC、XCHG BUF,AX D、XCHG BUF1,BUF218、若CF=1,OF=1,则AND AX,0BFH执行后 D A、CF=1,OF=0 B、CF=0,OF=1C、CF=1,OF=1 D、CF=0,OF=019、若CF=1,OF=1,则OR AX,0BFH执行后 D A、CF=1,OF=0 B、CF=0,OF=1C、CF=1,OF=1 D、CF=0,OF=020、若CF=1,OF=1,则XOR AX,0BFH执行后 D A、CF=1,OF=0 B、CF=0,OF=1C、CF=1,OF=1 D、CF=0,OF=021、若CF=1,OF=1,则TEST AX,0BFH执行后 D A、CF=1,OF=0 B、CF=0,OF=1C、CF=1,OF=1 D、CF=0,OF=022、下列逻辑运算指令中,不允许使用立即数为操作数的指令为 D A、AND B、OR C、XOR D、NOT23、若将AH的内容的低四位分离,则应选用 A A、AND AL,0FH B、OR AL,0FHC、XOR AL,0FH D、TEST AL,0FH24、若将AH的内容的高四位分离,则应选用 A A、AND AL,0F0H B、OR AL,0F0HC、XOR AL,0F0H D、TEST AL,0F0H25、1、LOOPNE指令的转移条件是 D A、 CX=0且ZF=1B、 CX=0且ZF=0C、 CX0且ZF=1D、 CX0且ZF=0三、读程题:1.已知(DS)=1234H,(SI)=124H,(12464H)=30ABH,(12484H)=464H LEA SI,SI MOV AX,SI MOV SI+22H,1200HLDS SI,SI+20HADD AX,SI上述程序段执行后,(DS)=_1200H_,(SI)=_464H_,(AX)=_6156H_. 2.已知(AX)=0A5C6H,(CX)=0F03H,CF=1RCL AX,CLAND AH,CHRCR AX,CL上述三条指令执行完后,(AX)=_81C6H_,CF=_1_; 3.已知(AX)=0FC77H,(CX)=504H,CF=1SAR AX,CLXCHG CH,CLSHL AX,CL上述三条指令执行后,(AX)=_F8E0H_,CF=_1_; 4.已知(AX)=1234H MOV BX,AX NEG BX ADD AX , BX上述几条指令执行后,(AX)=_0_? (BX)=_EDCCH_? 5.已知(AX)=4321HINC AXNEG AXDEC AXNEG AX上述三条指令执行后:(AX)=_4323H_? 6.已知(AX)=0A33AH,(DX)=0F0FHAND AH,DLXOR AL,DHDEC AXNOT AL上述指令执行后:(AX)=_6035H_? 7.已知(AX)=0FF60H,CF=1 MOV DX,96XOR DH,0FFHSBB AX,DX上述三条指令执行后,(AX)=_0_? CF=_0_? 8.读程序,写出程序的作用: AND AL,0FH作用 分离AL低四位 ?9读程序,写出程序的作用:AND AL,0F0H作用:_分离AL高四位_? 10. 读程序,写出程序的作用: OR AL, 80H作用:_AL最高位置1_? 11.如果想要标志寄存器中的溢出为OF变反,看程序空白处该填什么。 PUSHFPOP AXXOR AX,_0000100000000000B_?PUSH AXPOPF12.如(AX)=0012H,(BX)=0034H, MOV CL,8 ROL AX,CL ADD AX,BX执行完后(AX)=_1234H_? 13.如(AX)=0012H,(BX)=0034H, MOV CL, 6 RCL AX,CL SUB AX,BX执行完后(AX)=_044CH_? 14.已知(AX)=0FC77H,(CX)=504H,CF=1SAR AX,CLXCHG CH,CLRCL AX,CL上述三条指令执行后,(AX)=_F8E0H_,CF=_1_; 15.已知(AX)=2356HINC AXDEC AXNEG AX上述三条指令执行后:(AX)=_0DCAAH_? 习题四一、填空题:1、计算机上运行汇编语言程序的步骤是:编译源文件 、汇编生成目标文件、连接生成可执行文件 、执行程序。2、汇编程序的主要功能是:检查源程序 、查出源程序的语法错误,并给出错误信息 、产生源文件的目标文件并给出列表文件 ,展开宏指令。3、汇编语言程序的语句除指令以外还可以由伪指令 和宏指令 组成。4、伪操作可以完成如 数据定义 、分配存储区、指示程序结束等功能。5、存储器的逻辑址是由段基值和偏移地址 组成。6、标号有三种属性:段属性 、偏移属性 和类型属性 。7、操作数项可以是常数 、寄存器 、标号、变量或由表达式组成。8、汇编语言源程序中的三种基本语句:指令 、伪指令 和宏指令。9、指令语句中的 标号和伪指令的符号名称统称为标识符。10、赋值伪指令EQU与等号伪指令的不同之处是 EQU不可重复定义而等号伪指令可以 。二、选择题:1、 D 伪操作用来定义字节,其后的每一个操作数都占有一个字节。 A、DDB、DWC、DQD、DB2、语句ADDR DB 6H DUP(1,2 (DUP(1,2)中有数据0101H的字存储单元有D个。A、3B、4C、5D、63、下列运算符的优先级最高的是BA、+B、PTRC、HIGHD、NOT4、DEBUG中显示寄存器内容的命令是DA、D命令B、U命令C、C命令D、R命令5、DEBUG中修改内存单元内容的命令是: E A、 A命令 B、T命令 C、E命令 D、D命令6、算术右移指令执行的操作是 B A、 符号位填0,并顺次右移1位,最低位移至进位标志位B、 符号位不变,并顺次右移1位,最低位移至进位标志位C、 进位标志位移至符号位,顺次右移1位,最低位移至进位标志位D、 符号位填1,并顺次右移1位,最低位移至进位标志位7、指出下面描述汇编语言特性的句子中概念上有错误的句子 C A、 对程序员的训练要求来说,需要硬件知识B、 汇编语言对机器的依赖性高C、 汇编语言的源程序通常比高级语言源程序短小D、 汇编语言编写的程序执行速度比高级语言快8、K DW 20H DUP (0,1,2DUP(2)MOV AL, SIZE K此两指令执行完后,AL的值为 CA、10HB、20HC、40HD、80H9、下列有错误的是DA、 等值语句和等号语句都作为替代符号用。B、 等值语句和等号语句都不产生目标代码。C、 等值语句和等号语句都不占有存储单元。D、 等值语句和等号语句都不可以重新定义符号。10、ORG 20H DA DB IBM PC DB 0AH,0DH COUNT EQU $-DA以上指令执行后COUNT的值为C A、6 B、7C、8D、911、在对汇编语言程序的处理过程中,用编辑程序产生汇编语言的源程序的扩展名是 D A、.EXE B、.OBJ C、.BAT D、ASM12、在程序运行期间,当执行某些指令或操作时,CPU自动修改CS和IP使它们指向新的代码段,下列描述错误的是:B A、 执行段间过程调用CALL和段间返回指令RETB、 执行定位伪指令ORGC、 执行段间无条件转移指令JMPD、 响应中断及中断返回指令IPET13、V DW1234H,5678HMOV CL ,TYPE V上两条指令汇编后CL的值为BA、01HB、02HC、04HD、08H14、ORG 20HDA DB 12HBUF DW DA 执行后,BUF的内容为A A、20H B、21H C、22H D、23H15、ORG 20HDA DW 12HBUF DW DA 执行后,BUF的内容为A A、20H B、22H C、24H D、26H三、读程题:1、读下列程序: DATA SEGMENTDB1 DB 12H,34H,0,56HDW1 DW 78H,90H,0AB46H,1234HADR1 DW DB1ADR2 DW DW1BUF DB 5 DUP(0)DATA ENDSCOSEG SEGMENT ASSUME CS:COSEG,DS:DATA XOR CX,CXMOV CL,3ADD ADR1,CXSUB ADR2,CXMOV BX,ADR1MOV DI,BXMOV SI,ADR2MOV AL,D1DBMOV BUFDI,ALMOV AX,DW1BXSIMOV WORD PTR BUF,AXCOSEG ENDS运行程序后结果,BUF中的内容是_46H、ABH、0、56H、0_?2、设已定义数据段: DATA SEGMENT _ORG 20H_? DA1 DB XX,XX DA2 DB XX,XX ADRR DW DA1,DA2 DATA ENDS为了使ADRR+2字中存储单元中存放的内容为“0022H”,上述 方框中应填写什么语句? 3、下列程序段中数据“0102H”字的存储单元 有多少?ADDR DB 10H DUP(1,2 DUP(2)有0102H有_15_ 个。 4、下列指令执行后,写结果: ADDR DW 1234H,5678H,0ABCDH LDS SI,ADDR+1程序执行后,(DS)=_7812H_? (SI)=_0CD56H_? 5、设某数据段为: DATA SEGMENT ORG 20H NUM1=8 NUM2=NUM1+10H DA1 DB IBM PC DB 0AH,0DH CUNT EQU $-DA1 DA2 DW IB,M,PC,0A0DH DATA ENDS上述数据段定义后,DA1偏移量=_20H_? DA2偏移量=_28H_? CUNT=_8_? 6、程序有如下数据段: DATA1 SEGMENT WORD PUBLIC DA1 DB 20H DUP(0) DATA1 ENDS DATA2 SEGMENT PAGE PUBLIC DA2 DB 20H DUP(0) DATA2 ENDS如果DA1的物理地址是134CEH, DA2 的偏移量=_40H_? 7、下述程序段执行后,寄存器的值填写在空白处: ORG 0202H DA_WORD DW 20H MOV AX,DA_WORD MOV BX,OFFSET DA_WORD问:(AX)=_0020H_。 (BX) =_0202H_。 8、序段执行后,寄存器的内容填写在空白处; NUM1=20*20 NUM2 EQU 400H REL1 DW NUM1 LE NUM2 REL2 DW NUM1 NE NUM2 MOV BX,REL1 MOV CX,WORD PTR REL2问:(BX)= _0FFFFH_?(CX)= 0 ? 9、下述程序段执行后,寄存器的内容写在空白处:NUM EQU 945HALPH= 35*27 MOV AX,ALPH LE NUMMOV BX, ALPH GT NUM问:(AX)=_0FFFFH_? (BX)=_0_? 10.、下列程序执行以后,为了是DA2字单元中的值为50H,空白处应该填什么?ORG 34HNUM=_0CH_? DA1 DW 10H,$+20H,30H,$+40H DA2 DW DA1+NUM+10H11、有一短程序,试写出它的结果: MOV AL, 43H OR AL, 20H两条程序执行完后结果:(AL)= 63H 。 12、某程序,(DS)=0F800H,(DI)=180AH,(0F980A)=0064H MOV CL,5 SAR DI,CL DI=_3_? 13、数据区的存储单元有多少个字节? ADDR DB 10H DUP(2,3 DUP(2)答:_40H_。 14、设某用户程序(SP)=50H,(AX)=5678H,(DS)=1111H,如现在有两条进栈指令: PUSH AX PUSH DS试问两条指令执行后,(SP)=_ 4CH_? 15、有符号定义语句如下: BUFF DB 1,2,3,123 EBUFF DB 0 L EQU EBUFFBUFF问 L= 6 ?16、下面两个语句有何区别:X1 EQU 1000H 和 X2=1000H X1可重复定义,X2不可以 。19、下列程序段执行后,BX寄存器的内容是多少? MOV CL,3 MOV BX,0B7H ROL BX,1 ROR BX,CLBX= C02DH 。20、下列程序段执行后,BX寄存器的内容是多少? MOV CL ,7MOV BX,8D16HSHR BX,CLBX= 011AH 。21、若(AL)=96H,(BL)=12H,指令MUL BL 执行后,它的值为多少?CF为何值?AX= 0A8CH ;(CF)= 1 。 22、下列程序执行以后,为了是DA2字单元中的值为62H,空白处应该填什么?ORG 34H NUM=_1EF_? DA1 DW 12H,$+20H,30H,$+40H DA2 DW DA1+NUM+10H23、若(AL)=36H,(BL)=24H,指令IMUL BL 执行后,它的值为多少?CF为何值?AX= 0798H ;(CF)= 1 。 24、已知(AX)=1546H,(CX)=AC21H,CF=1SAR AX,CLXCHG CH,CLSHL AX,CL上述三条指令执行后,(AX)=_3000H_,CF=_0_; 25、一个有16个字的数据区,它的起始地址为70A0:DDF6,请写出这个数据区首末字单元的物理地址。 首地址: 7E7F6H H末地址: 7E802H H习题五1、程序有顺序 、循环 、分支 和 子程序 四种结构形式。2、循环程序可以有两种结构形式,一种是DO-WHILE结构形式,另一种是DO-UNTIL结构形式。3、 循环程序由三部分组成:循环初始化部分、循环体 、循环控制部分。4、 分支程序结构的特点:各分支之间是并行的,且执行方向是向前的 。5、 一般情况下,在程序中可设置数据段 、代码段 、堆栈段 、附加段 四个当前段。6、下列程序完成什么工作? DATX1 DB 300 DUP(?)DATX2 DB 100 DUP(?).MOV CX,100MOV BX,200MOV SI,0MOV DI,0NEXT:MOV AL,DATX1BXSIMOV DATX2DI,ALINC SIINT DILOOP NEXT答: 将DATX1的后100个字节的元素对应的赋给了DATX2 。 7、用查表的方法将以为十六进制转换成它相应的ASCII码,将程序填写完整。 DATA SEGMENT HEX DB 4ASCI DB ?DATA ENDS BEING: MOV AX,DATA (1) MOV DS,AX (2) MOV BX,OFFSET TABLE XOR AX,AX MOV AL,_30H_(3)_? ADD BX,AX MOV AL,BX MOV _ASCI_(4)_,AL MOV AH,4CH INT 21HCOSEG ENDS END _BEING_(5)_8、编制一程序,求两个数组对应的数据之差,并把结果存入新数组SUM之中。计算一直进行到两数之差为零或数组结束。将新数组的长度存于LEN单元中。 DSEG SEGMENTARRAY1 DB 71,21,40,44,34,32,28,171ARRAY2 DB 12,15,70,40,10,87,524,713CUNT EQU $-ARRAY2LEN DB ?SUM DB 20H DUP(0) DSEG ENDSSSEG SEGMENT PARA STACK DW 20H DUP(?)SSEG ENDSCSEG SEGMENT ASSUME DS: DSEG, SS: SSEG, CS:CSEGSTART: MOV AX,DSEG MOV DS,AX MOV CX,0 MOV CX,CUNT MOV BX,-1NOZERO: INC BX MOV AL,ARRAY1BXSUB AL,ARRAY2BX MOV SUMBX,AL LOOPNE NOZERO JE ENDO INC BLENDO: MOV LEN,BL MOV AH,4CH INT 21H CODE ENDS END START9、将DX寄存器中的16位数分成2组,每组8位,然后把这两组数分别放在BL和CL中。SSEG SEGMENT PARA STACK DW 20H DUP(?)SSEG ENDSCSEG SEGMENT ASSUME CS:CSEGSTART: MOV AX,DX MOV CL,8 SHL DX,CL MOV BL,DL AND CX,0FFH CODE ENDS END START10、比较两个字符串STRING1和STRING2所含字符是否完全相同,同则显示MATCH,若不同则显示NO MATCH。DSEG SEGMENTSTRING1 DB I AM A STUDENT.STRING2 DB I AM A STUDENT!YES DB MATCH,0DH,0AH,$ NO DB NO MATCH,0DH,0AH,$DSEG ENDSCSEG SEGMENTMAIN PROC FARASSUME CS:CSEG, DS:DSEG,ES:DSEGSTART: PUSH DS SUB AX, AXPUSH AXMOV AX, DSEGMOV ES, AXMOV DS, AXBEGIN: LEA SI, STRI NG1 LEA DI, STRING2 MOV EX, STRING2-STRING1 REPE COMPSB JNE DISPNO MOV AH,09 LEA DX,YES INT 21HDISPNO: MOV AH,09 LEA DX,NO INT 21MAIN ENDPCSEG ENDS END START11、编写程序,计算S=(a+b)2*(a AND b) DATA SEGMENTa DW xb DW yS DW ?DATA ENDSSTACK SEGMENT PARA STACK DW 20H DUP(0)STACK ENDSCOSEG SEGMENTPROC1 PROC FAR ASSUME CS:COSEG,DS:DATA,SS:STACKSTART: PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV DX,a MOV BX,aAND BX,bSHL BX,1SUB DX,BXMOV S,DX RETPROC1 ENDP COSEG ENDS END START12、编制一个能循环显示十条新闻标题的控制程序,每条新闻的地址转换表NEWS放在数据区中。DSEG SEGMENT NEW1 DB NEW1,0DH,0AH,$NEW2 DB NEW2,0DH,0AH,$NEW3 DB NEW2,0DH,0AH,$ . . .NEW10 DB NEW2,0DH,0AH,$NEWS DW NEW1,NEW2,NEW10DSEG ENDSCSEG SEGMENTMAIN PROC FAR ASSUME CS:CSEG,DS:DSEGSTART: PUSH DSSUB AX,AXPUSH AXMOV AX,DSEGMOV DS,AXBEGIN: MOV CX,10LEA BX,NEWSDISP: MOV DX,BXADD BX,2MOV AH,09INT 21HLOOP DISPJMP BEGINMAIN ENDPCSEG ENDSEND START13、把0100(十进制)之间的30个数,存入以GRAD为首地址的30字数组中,GRADE+i表示学号为i+1的学生成绩。另一个数组RANK为30个学生的名次表,其中RANK+i 的内容是学号为i+1的学生的名次。编写程序,根据GRAD中的学生成绩,将排列的名次填入RANK数组中。DSEG SEGMENTGRADE DW 30 DUP(?)RANK DW 30 DUP(0)DSEG ENDSCSEG SEGMENTMAIN PROC FARASSUME CS:CSEG,DS:DSEGSTART: PUSH DSSUB AX,AXPUSH AXMOV AX,DSEGMOV DS,AXBEGIN: MOV DI,0MOV CX,30LOOP1: PUSH CXMOV CX,30MOV SI,0MOV AX,GRADEDIMOV DX,0LOOP2: CMP GRADSI,AXJBE GOONINC DXGOON : ADD SI,2LOOP LOOP2POP CXINC DXMOV RANKDI,DXADD DI,2LOOP LOOP1RETMAIN ENDPCSEG ENDSEND START14、编制一程序,寻找一数组中第一个零。把第一零在数组中的相对偏移量送INDEX单元中,若无零数,则送全0到INDEX单元中。 DSEG SEGMENTADDR DW 30 DUP(?)INDEX DW ?DSEG ENDSCSEG SEGMENTMAIN PROC FARASSUME CS:CSEG,DS:DSEGSTART: PUSH DSSUB AX,AXPUSH AXMOV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论