第五章 分程序设计

上传人:m**** 文档编号:182923891 上传时间:2023-01-29 格式:DOCX 页数:21 大小:80.49KB
收藏 版权申诉 举报 下载
第五章 分程序设计_第1页
第1页 / 共21页
第五章 分程序设计_第2页
第2页 / 共21页
第五章 分程序设计_第3页
第3页 / 共21页
资源描述:

《第五章 分程序设计》由会员分享,可在线阅读,更多相关《第五章 分程序设计(21页珍藏版)》请在装配图网上搜索。

1、第五章 分支程序设计练习题541 单项选择题1 双分支程序设计中实现分支的指令是( )指令。A. 条件转移B.无条件转移C.移位 D.算术运算2 条件判断转移是根据标志寄存器中的标志位来判断的,用来实现条件判断转移标志位共有( ) 位。A. 4B. 5C. 6D. 93.条件转移指令的转移范围是( )。A. 065535 B.3276832767C. 02554.用一条条件转移指令一次可实现()个分支。A. 2B. 3C. 4D.多5.下列指令会影响标志位的指令是()。D.-128 127AJMP L BJC L CMOV AL,L DSHL AL,16. 当两个无符号数进行相加时,执行“JC

2、 L”指令表示()转移。A.结果溢出 B.结果为0 C.结果为奇D.结果为负7. 当两个无符号数进行比较时,执行“JA L”指令表示()转移。A. CF=0 且 ZF=0B. CF=0 且 ZF=1C. CF=1 且 ZF=0D. CF=1 且 ZF=18. 当“CMP AX, BX”比较时,执行“JG L”指令后转移列L,则表明()。A. AXBX B. AX=BXC. AXVBX D. AX2BX9. 如果0100H单元存放条件转移指令的操作码,0101H单元存放条件转移指令的相对位移量13H, 那么转移后的指令的偏移地址为( )。A、0102H B、0113HC、0115HD、00FEH

3、10. 下列叙述不正确的是( )。A. 有符号数比较后的条件转移指令可采用JG、JL、JGE和JLE指令。B. 无符号数比较后的条件转移指令可采用JA、JB、JNE和JBE指令。C. 有符号数比较后判断溢出用JO和JNO指令。D. 无符号数比较后判断溢出用JS和JNS指令。5. 4. 2 多项选择题1. 分支程序结构的形式有( )。A单分支结构B双分支结构C多分支结构D无分支结构2. 在分支结构的程序中,分支程序的流程一般有( )。A.判断转移框 B.循环框 C.产生条件框 D.分支程序段框3. 在下列的选项中,可以用来产生条件的选项有( )。A.数据传送指令B.算术运算指令C.逻辑运算指令D

4、.转移指令4. 在多分支程序设计中,常用的方法有( )。A.地址表法B.计数法 C.转移表法D.逻辑分解法5. 执行完指令“CMP AX,100”后,如果要实现AX寄存器中的无符号数高于100则转移到L,应该使用的指令有( )。A. JNS LB. JNC L C. JA LD. JNBE L6. 执行完指令“CMP AX,0”后,如果要实现AX寄存器中的内容为正数则转移到L,应该使用的指令有( )。A. JAE LB. JGE L C. JNS L D. JNC L7. 如果用“JS P”指令实现AX寄存器中的内容为负数转移,产生条件的指令可用()。A. ANDAX, 8000HB. CMP

5、 AX, 8000HAX,8000HCTESTAX,8000HDCMP8如果用要判断AX寄存器中的内容为100H则转移到P,如下的选项有(ACMPAX,100HJZCANDAX,100HAX,0)。BSUB AX, 100HJEDXORAX,100HJZ9.设AX寄存器中的内容为有符号数,如果用要判断AX寄存器中的内容小于100H则转移到P, 如下的选项有(ACMP)。AX,100HJLJNGJZBSUB AX, 100HCCMPAX,100HDSUNAX,100HJNAEJNGE10.如果在TAB字单元中存放的是某程序的入口地址,要转移到该程序的的选项有()。BX,0ALEA BX, TAB

6、BMOVJMP BXJMP TABBXCJMP TABDJMP DWORD PTRTAB543 填空题1. 当两个有符号数相减后,若要判断大于等于则转、需用、或指令。2. 在分支程序的结构中,其流程图一般由、定向和四个部分组成。3. 转移表法分支程序设计中,其程序转移表中存放的是。4. 地址表法分支程序设计中,其地址表中存放的是。5. 逻辑分解法程序设计一般是利用多条指令实现多分支程序设计的。6. 条件转移指令是分支程序设计中最常用的指令之一,这类指令大体上可以分为三种,它们是 条件转移,条件转移和条件转移指令。7. 条件转移指令的执行,是当条件时则转移。8. 在执行条件转移指令前,必须要执行

7、产生条件码的指令,然后才能进行条件判断转移,而一般 的数据传送指令影响条件码(标志位)。9. 当两个数进行比较后,执行指令表示结果为零转L。10. 为了实现程序的多路分支,通常使用、和三种方法的分支程序设计方法。5. 4. 4程序分析题1现有程序如下:DATASEGMENTXDB0ABHFLAGDB0DATAENDSCODESEGMENTASSUME CS:CODE, DS:DATASTART:MOV AX,DATAMOVDS,AXMOVAL,XCMPAL,0JGELMOVFLAG, 0JMPEXITL:MOV FLAG, 1EXIT: MOV AH, 4CHINT21HCODEENDSEND

8、 START请回答:(1)该程序完成什么功能?(2)程序执行完后FLAG中的内容是多少?2现有程序如下SEGMENTDATADBBUFDATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART:AX,DATACODEMOVDS, AXMOVAH, 1INT21HCMPAL, 61HJBNCMPAL, 7AHJANSUBAL, 20HMOVBUF, ALMOVAH, 4CHINT21HENDSENDSTARTMOVN:该程序完成什么功能?( 2)如果要将“ CMP AL, 7AH” “JA N”应改为什么指令?请回答:(1)改为 “CMP AL, 7BH”,则相

9、应的指令3现有程序如下DATASEGMENTDB23DB0F0HDBDATAENDSCODESEGMENTASSUME CS:CODE,DS:DATAMOVDS, AMOVAL, ACMPAL, BJZLJGMMOVC,1JMPEXITMOVC, 0JMPEXITMOVL:START:AX, DATAM:MOVC, 1EXIT:MOVAH, 4CHINT21HCODEENDSENDSTART请回答:(1)该程序完成什么功能?(2)程序运行后,C中的内容是什么?4现有程序如下DATAXYDATACODESEGMENTDW7000HDW9000HENDSSEGMENTASSUME CS:CODE,

10、 DS:DATASTART:MOV AX, DATAMOVDS,AXMOVAX,XSUBAX,YJOLMOVDL,NJMPEXITL:MOVDL,YEXIT:MOVAH, 2INT 21HMOV AH, 4CHINT 21HCODE ENDSEND START请回答:(1)请程序完成什么功能?5现有程序如下DATA(2)程序执行完后,显示输出的结果如何?BUF1DBABCDACC1BUF1BUF2DBCBUF3DW0DATAENDSCODESEGMENTASSUMECS:CODE, DS:DATASTART:MOVAX, DATAMOVDS, AXMOVES, AXLEADI, BUF1MOV

11、CX, C1MOVAL, BUF2CLDSEGMENTREPNE SCASBJNZNMOVDL,YMOVAH, 2INT21HDECDIMOVBUF3, DIJMPEXITN:MOVDL,NMOVAH, 2INT21HEXIT:MOVAH, 4CHINT21HCODEENDSENDSTART请回答:(1)该程序完成什么功能?(2)程序运彳丁后,BUF3中的内容是什么?显示输出是什么?6现有程序如下:DATASEGMENTBUFDB 23, 125, 96DATAENDSCODESEGMENTASSUME CS:CODE, DS:DATASTART:MOV AX, DATAN1:N2:MOVDS

12、, AXLEASI, BUFMOVAL,SIMOVBL,SI+1MOVCL, SI+2CMPAL,BLJAEN1XCHGAL,BLCMPAL,CLJAEN2XCHGAL,CLCMPBL,CLJAEN3XCHGBL,CLMOV SI, ALN3:MOVSI+1, BLMOVSI+2, CLMOV AH, 4CHINT 21HCODEENDSEND START请回答:(1)该程序完成什么功能?(2)程序运行后 BUF 中的内容依次是什么?CODE请回答:(1)7现有程序如下:DATASEGMENTXDB 4FHBUFDB2 DUP(0)DATAENDSCODESEGMENTASSUME CS:CO

13、DE,DSSTART:MOV AX,DATADATAMOVDS,AXMOVAL,XMOVCL,4SHRAL,CLCMPAL,9JBELADDAL,7ADDAL,30HMOVBUF,ALMOVAL,XANDAL,0FHCMPAL,10JBMADDAL,7ADDAL,30HMOVBUF1,ALMOVAH,4CHINT21HL:M:STARTENDSEND 该程序完成什么功能?(2)程序运行后 BUF 中的内容依次是什么? 8现有程序如下:DATA SEGMENTADW1234HBDW5678HS DB NO SWAP!DATAENDSCODESEGMENTASSUME CS:CODE,DS:DAT

14、ASTART:MOVAX,DATAMOVDS,AXMOV AH,1INT 21HCMP AL,YJNZ MCMP AL,yJNZ MMOVAX, AXCHGAX, BMOVA, AXJMPNM:N:CODEMOVLEAINTMOVINTENDSENDAH,DX, 21HAH,21H4CHSTART请回答:(1)该程序完成什么功能?(2)若鍵盘输入“Y”时,A, B中的值各为多少?9现有程序如下:DATA SEGMENTXDB23HYDB45HZDW0DATAENDSCODESEGMENTSTART:ASSUME CS:CODE, DS:DATAMOVAX,DATAMOVDS,AXMOVAL,X

15、CMPAL,0JGELADDAL,YMOVAH,0ADCAH,0MOVZ, AXJMPEXITL:EXIT:CODESUBAL, YMOV AH, 0SBB AH, 0MOV AH, 4CHINT 21HENDSEND START请回答:(1)该程序计算的表达式是什么?(2)程序运行后, Z 中的内容是什么? 10现有程序如下:DATA SEGMENTBUFDB0F3HSDB 0DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,BUFTESTAL,80HJZLNEGALL:MOVS,ALMOVAH,4C

16、HINT21HCODEENDSENDSTART请回答:(1)该程序完成什么功能?2)程序运行后 S 中的内容是什么?11现有程序如下:DATA SEGMENTSTRDBABCDEFGMABCC=$STRDATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV ES,AXCLDLEASI,STRADDSI,XMOVDI,SIINCSIMOVCX,CSUBCX,XDECCXCMPCX,0JBEEXITREPMOVSBEXIT:MOV AH,4CHINT 21HCODE ENDSEND START请回答:(1)该程序

17、完成什么功能?(2)程序运行后STR中的内容是什么?12现有程序如下:DATA SEGMENTX DB 96HY DB 0A2HDATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,XCMPAL,YJGLXCHG AL,YL:MOVBL,ALMOVCL,4SHRAL,CLCMPAL,9JBEMADDAL,7M:ADDAL,30HMOVDL,ALMOVAH,2INT21HANDBL,0FHCMPBL,9JBENADDBL,7N:ADDBL,30HMOVAH,2MOVDL,BLINT21HMOVDL,HMOVA

18、H,2INT21HMOVAH,4CHINT21HCODE ENDSEND START请回答:(1)该程序完成什么功能?(2)程序运行后显示的内容是什么?13现有程序如下:DATAD0D1SEGMENTDBDBDATA 0DATA1D2DBDATA2D3DBDATA3XDB02HTABDWDIS0,DIS1,DIS2,DIS3DATAENDSMOVDS,AXLEABX,TABMOVAL,XANDAL,3MOVAH,0SHLAX1ADDBX,AXJMPWORD PTRBXASSUME CS:MOVDIS0:LEAJMPDX, DEXITDIS1:LEADX,D1JMPEXITDIS2:LEADX,

19、D2JMPEXITDIS3:LEADX,D3EXIT:MOVAH,9INT21HMOVAH, 4CHINT21HCODEENDSENDSTART请回答:(1)该程序完成什么功能?2)程序运行后显示输出的是什么?CODESEGMENTCODE,DS:DATAAX,DATASTART:14现有程序如下:DATASEGMENTXDB3YDB45HWDB0DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVBX,OFFSET TABMOVAL,XMOVAH,0ANDAL,3SHLAX1ADDBX,AXJMPBXEXIT

20、:MOVAH,4CHINT21HTAB:JMPSHORT M0JMPJMPJMPSHORT M1SHORT M2SHORT M3M0:MOVAL,YADDAL,8MOVW,ALJMPEXITM1:MOVAL,YADDAL,16MOVW,ALJMPEXITM2:MOVAL,YMOVW,ALJMPEXITM3:MOVW,100JMPEXITCODEENDSENDSTART该程序完成什么功能?请回答:(1)(2)程序运行后 W 中的内容是什么?15,现有程序如下:DATASEGMENTWDB?XDB25YDW0DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTAR

21、T:MOVAX,DATAMOVDS,AXMOVAL,XMOVBL,WCMPBL,0JZL1CMPBL,1JZL2CMPBL,2JZL3MOVBL,ALMULALJMP EXITL1:ADDAL,100L:MOVAH,0ADCAH,0JMP EXITL2:ADDAL,200JMPLL3:SUBAL, 100MOVAH, 0SBBAH, 0EXIT:MOVY, AXINT21HCODEENDSENDSTART请回答:(1)该程序完成什么功能?(2)若W中的内容为5,程序运行后Y中的内容是多少?545 程序填空题。1. 下列程序是判断BUF字缓冲区中有符号数的大小,当其数值大于一100时,就将FLA

22、G字节单 元清 0,否则就将其置1。请在程序的空格处填上适当的指令。MOVAX, BUF(1)(2)MOV FLAG, 0L:MOV FLAG, 1M:MOV AH, 4CHINT 21H2. 下列程序是判断X和Y有符号字数据的大小,当X中的数据大于Y中的数据时,就将Z置1, 当X中的数据小于Y中的数据时就将Z送一1,否则将Z清0,请在程序的空格处填上适当的 指令。MOVAX, X(1)(2)JGMZ,-1EXITMOVJMPL:MOVZ, 0JMPEXITM:(3)EXIT: MOVAH, 4CHINT 21H3. 下列程序是判断两个无符号字数据X、Y的大小,当XY时执行X-Y,当XVY时执

23、行Y X,当X=Y时执行X+Y,其运算后的结果存放在W中。请在程序的空格处填上适当的指令。MOVAX,XMOVBX,YCMPAX,BX(1)JBMADDAX,BX(2)L:(3)JMPEXITM:XCHG AX,BXSUBAX,BXEXIT: MOV W,AXMOV AH,4CHINT 21H4. 设X、Y是双精度32位无符号数变量,下列程序是完成2个数大小的判断,当X大于Y时, 将字节变量F置1,否则将字节变量F清0请在程序的空格处填上适当的指令。MOVAX,X2MOVBX,XCMPAX,Y2JBL1(1)CMPBX,Y(2)L1:(3)JMP EXITL2:MOV F, 1EXIT: MO

24、V AH, 4CHINT 21H5. 下列程序是将BUF字节缓冲区中的两位十六进制数转换成两位十六进制数ASCII码,并将转换 结果存放在Y单元中的程序。请在程序的空白处填上的适当的指令。L:M:SHRAL,CL(2)JBELADDAL, 7ADDAL, 30HMOVY, ALMOVAL, BUF(3)CMPAL,10(4)ADDAL,7ADDAL, 30HMOVY1 , ALMOVAH, 4CHINT21HMOV AL, BUF(1)6. 下列程序是判断键盘输入字符,若输入字符为数字,则将其数字的ASCII码送BUF;若为字母, 则将其对应的大写字母送BUF;否则将0送BUF,请在程序的空格

25、处填上适当的指令。MOV AH, 1INT 21HCMPAL, 30H(1)CMPAL, 39HCMPAL,41HJBCMPMAL, 5BH(3)CMPAL,61HJBMCMPAL,7AH(4)SUBAL,20HL:MOVBUF, ALJMPEXITMMOVAL, 0MOVBUF,ALEXIT: MOVAH,4CHINT 21H7. 下列程序是判断两个有符号字数据X、Y,当两数都为正数时,则2送W;当两数都为负数时, 则执行一2送W;当两数异号时,则0送W,请在程序的空格处填上适当的指令。MOVAX, XMOVBX, YTESTAX, 8000H(1)TESTBX,8000HJZLP:MOV

26、W, 0JMPEXITL:MOV W, 2JMPEXITM:TESTBX, 8000H(2)(3)EXIT: MOV AH, 4CHINT 21H8. 下列程序是比较字符串STR1和STR2中第一个不相等的字符,若查找到,则将FLAG字节单 元置1,并将查找的字符串STR1的偏移地址送ADR字单元,否则FLAG清0,请在程序的空 格处填上适当的指令。LEASI, STR1L:MOVCX,100CLD(2)(3)MOVFLAG,0JMPEXITMOVFLAG, 1(4)(1)MOV ADR, SIEXIT: MOVAH,4CHINT 21H9.下列程序是根据键盘输入的不同进行相应的处理。当输入为

27、Y或y时,则将BUF1中 100个字节的内容传送给BUF2,当输入N或n时,则将BUF2中100个字节的内容传 送给BUF1,否则直接退出。请在程序的空格处填上适当的指令。MOVAH, 1INT21HCMPAL, YJZL(1)JZLCMPAL, NJNZMCMPAL, nJNZMJMPEXITL:LEASI, BUF1(2)MOVCX,100CLDREPMOVSBJMPEXITM:LEASI, BUF299LEADI, BUF199MOVCX, 100(3)REPMOVSBEXIT:MOV AH, 4CHINT21H下列程序是X和Y两个压缩BCD相加,如果相加结果超时100,则显示OVER字

28、符串中的内容,否则,将相加结果送W,并显示P字符串中的内容中,请在程序的空格处填上适当的指令。MOV AL,XADDAL,Y(1)(2)MOVW, ALLEADX, PJMPEXITL:LEADX, OVEREXIT: MOV AH, 9(3)MOVAH, 4CHINT 21H546 程序设计题1. 编写一程序,从键盘输入一字符,若输入的字符为Y (或y),则将字变量A和B中的16 位无符号数相乘,其结果存放在F字单元中,否则将执行A/B的运算,其结果的商存在F,余数存放在 F2 中。2. 编写一程序,判断X字节变量中的三个数,根据比较结果FLAG字节变量置1:(1) 若三个数都为0则FLAG

29、送3(2) 若两个数为0则FLAG送2(3 )若一个数为0则FLAG送1( 4)若全不为 0则 FLAG 送 03设X为有符号数的字变量,编写一程序,若X的绝对值大于10,则将其绝对值送Y,否则 将 X10 的值送 Y。4. 编写一程序,判断X、Y字节变量中的数据,根据判断结果置FLAG字节变量。(1) 若两个数都为奇数,则将FLAG送2(2) 若两个数都为偶数,则将FLAG清0(3) 若两个数为一奇一偶,则将FLAG清15. 编写一程序,统计X字节变量中为1的位数,并将统计的结果显示出来。6. 编写一程序,将字符串缓冲区BUF中的小写字母变换成大写字母。7编写一程序,将BUF缓冲的2位十六进

30、制数转换成二进制数显示输出。8.编写一程序,将X变量中的16位二进制数转换成十六进制数显示输出。 9用地址表法编写一程序,根据键盘输入数值分别显示输出对应字符串:(1) 输入0时,显示“INPUT 0! ”(2) 输入1时,显示“INPUT 1! ”(3) 输入2时,显示“INPUT 2! ”(4) 其它输入时,显示“INPUT ERROR! ”10编写一程序,将BUF字节缓冲区中的100字节按相反方向存放到BUF1中。11. 编写一程序,用串比较指令,比较STR1和STR2字符串,若两个字符串完全相等,则显示 输出OK!若不相等,贝0显示输出ERROR!和STR1中第一个不相等的字符。12. 编写一程序,比较两个有符号字变量X和Y。(1) 若两个数都大于等于100,则将两个数分加1。(2) 若两个数都不大于等于 100,则将两个数分别减 1。(3) 若两个数一个大于等于100,另一个数不大于等于100,则将两数互换。13. 假定A、B、C字节变量中存放的是三个相等的数据,但由于某种原因使其中的一个数据发 生变化,试编写一程序找出三个数中变化的代码存放在D中,并将变化的代码单元恢复成 原来的数据。14. 编写一程序,将A和B中的两位压缩BCD码相加,并将相加的结果用十进制显示输出。

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

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

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


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