汇编语言程序设计模拟题.doc
《汇编语言程序设计模拟题.doc》由会员分享,可在线阅读,更多相关《汇编语言程序设计模拟题.doc(8页珍藏版)》请在咨信网上搜索。
中国地质大学(北京)继续教育学院 2012年09课程考试 《汇编语言程序设计》模拟题 一.单项选择题 1.段寄存器( B )给定了当前可使用附加数据段的段首址。 A.DS B.ES C.SS D.CS 2.在语句"MOV AX,5[BX+SI]"中, 源操作采用的是( D )寻址方式。 A. 直接 B. 寄存器间接 C. 变址 D. 基址加变址 3.SBB指令的功能为( B )。 A. (OPD)-(OPS)→OPD B. (OPD)-(OPS)-CF→OPD C. (OPS)-CF→OPD D. (OPD)-CF→OPD 4.若有符号数运算结果溢出,则( A )位置1。 A.OF B.CF C.ZF D.SF 5.使用串操作指令时,目的串一定要放在当前( C )中。 A.代码段 B.数据段 C.附加数据段 D.堆栈段 二.填空题 1、 LOOP指令的转移范围是 0-255个字节 。 2、 如果END伪指令后面带有符号地址,这个符号地址即为该程序运行时的 启动地址 。 3、 如果在当前堆栈段中用SI作指针,则应该用 SS: 进行说明 4、 在使用OUT指令时,如外设端口地址大于255,则应先把该地址送入 DX 寄存器中。 5、已知(AX)、(BX)均为无符号数,在“CMP AX,BX”之后使用转移指令JBE L _可使(AX)£(BX)时转L处执行 三.改错题 1.SAL AX,2 SAL AX,1 2. LEA POINT,BUF LEA SI,BUF 3.IDIV AX,10 MOV BX,10 IDIV BX 4.POP BL POP BX 5.ADD [BX],[SI] ADD BX,[SI] 6. CWD AX,DX CWD 7.MOV DX,5[SI+DI] MOV DX,5[BX+DI] 8. OUT DX,‘A’ MOV AL,‘A’ OUT DX,AL 9.STACK SEGMENT PARA PUBLIC ‘STACK ;定义堆栈段 STACK SEGMENT PARA STACK ‘STACK’ 10.TEST AX,01H ;测试AX最高位 TEST AX,8000H 11.DEC [DI] DEC [DI] DEC WORD PTR [DI] 12.CWD AX, DX CWD AX, DX CWD 13.OUT DL, ‘$’ OUT DL, ‘$’ MOV AL, ‘$’ OUT DX,AL 14. MOV SI,AL MOV SI,AL MOV SI,AX 15. MOV CX, [BX+BP] MOV CX, [BX+BP] MOV CX, [BX+SI] 16. MOV DS, DATA MOV DS, DATA MOV AX, DATA 17. SHL AX,3 SHL AX,3 SHL AX,CL 18. AND AX,[CX] AND AX,[CX] AND AX,[BX] 19. 执行DOS10号功能调用往BUF缓冲区输入字符串后,输入串首址应在BUF+1中。 BUF+2 20. 若无符号数相加结果溢出,则OF位置1。 CF 四.简答题 1.简述宏指令与子程序的区别。 答: 定义的方式不一样; 执行的时间不一样,子程序是在运行.EXE文件时被执行的,而宏指令是在汇编期间被执行的; 参数传递的方式不同。 2.已知(AX)=0FBADH,执行以下语句序列后,(AX)=? XCHG AH,AL OR AX,0FF00H 答:(AX)=0FFFBH 3.如何计算待取出指令的物理地址? 答:(IP)左移四位+(CS) 4.已知AX和BX中均为无符号数且需(AX)>(BX)时转NEXT处执行: CMP AX,BX ( ) NEXT 可在括号内填入哪几种转移指令? 答: JA或JEA 5.已知两数补码分别为:[X1]补=00010101B, [X2]补=10100110B, 计算[X1]补+[X2]补后, ZF和SF各为多少? 答:ZF=0, SF=1 6. 已知(DX)=7AF8H,执行“OR DX,0F0F0H”后(DX)=? 答:0FAF8H 7.已知(SS)=2000H,(SP)=1000H,栈顶的物理地址为多少? 答:21000H 8. 如果需要往STR缓冲区输入字符串,在下列程序段的空白处应填入什么指令? TT MACRO A,B LEA DX,A MOV AH,B INT 21H ENDM ┇ STR DB 80,0,80 DUP(0) ┇ __________ 答:TT STR, 10 五.编写程序段 1. 已知数据段如下: DATA SEGMENT DATA1 DW -7935,12BCH,0 DATA2 DB -12,25H STR0 DB ‘DWCMLWOM $CM ┅’ COUNT EQU $-STR0 DATA ENDS 请根据题目要求编写程序段。 1) DATA2中的全部数据压入堆栈中。 2) 算(DATA1)×(DATA1+2)+DATA1→DATA1+2、DATA+4中。 3) 请用串操作指令在STR0串中查找字符‘W’出现的次数 →DL。 4) 请写出将STR0字符串在显示器上当前光标位置输出的程序段。 5) 判断DATA1中的第15位与第7位是否同时为0,为0转ZERO处执行,否则返回DOS。 2)MOV AX,DATA1 IMUL DATA1+2 MOV BX,AX MOV CX,DX MOV AX,DATA1 CWD ADD AX,BX ADC DX,CX MOV DATA1+4,DX MOV DATA1+2,AX 3)LEA DI,STR0 MOV CX,COUNT MOV AL,’W’ MOV DL,0 P0: REPNE SCASB CMP CX,0 JE END0 INC DL JMP P0 END0:…… 1)MOV AL,DATA2 CBW PUSH AX MOV AL,DATA2+1 MOV AH,0 PUSH AX 5)MOV AX,DATA1 AND AX,8080H JE ZERO MOV AH,4CH INT 21H ZERO: …… 4)LEA DI,STR0 MOV CX,COUNT A: MOV DL,[DI] INC DI MOV AH,2 INT 21H LOOP A 2. 已知D盘MASM子目录下有一存在的文件WAN. ASM,编写打开该文件的程序段,打开成功0→AX,否则,-1→AX,最后返回操作系统。 答:┇ F DB ‘D:\MASM\WAN.ASM’,0 ┇ LEA DX,F MOV AH,3DH MOV AL,2 INT 21H JC ERR MOV AX,0 JMP ROS ERR: MOV AX,-1 ROS: MOV AH,4CH INT 21H 3. 已知数据段中有语句“A DW -160,0”,请分别用乘法指令和移位指令实现(A)*16 → A和A+2中(注:不考虑溢出)。 答:① MOV AX,A MOV CX,16 IMUL CX MOV A,AX MOV A+2,DX ② MOV CL,4 SAL A,CL 4.请写出分别将AX、BH中的有符号数和CL中的无符号数顺序压入系统堆栈的程序段。 答:PUSH AX MOV AL,BH CBW PUSH AX MOV CH,0 PUSH CX 七.阅读程序并回答问题 1.该程序的功能是什么? 2.请写出子程序SUBP的入口参数和出口参数。 3.若在子程序SUBP中漏写了“POP BX”,该子程序能正确返回吗?为什么? DATA SEGMENT OUTF DB 0AH,0DH,0,0,’H’,0AH,0DH,’$’ DATA ENDS ┆ REP: MOV AH,1 INT 21H CMP AL,’0’ JB EXIT CMP AL,’9’ JA EXIT LEA SI,OUTF+2 CALL SUBP LEA DX,OUTF MOV AH,9 INT 21H JMP REP EXIT: MOV AH,4CH INT 21H SUBP PROC PUSH BX MOV AH,0 MOV BL,16 DIV BL ADD AL,30H MOV [SI],AL INC SI ADD AH,30H MOV [SI],AH POP BX RET SUBP ENDP ┆ 答:1. 功能:等待从键盘输入一个字符,如为数字字符,则在下一行输出其十六进制的ASCII 码,再等待输入下一字符;如为其它字符,则转结束。 2. 入口参数: AL:存放从键盘输入的一个字符 AH:被除数高位 BL:要转换的进制(除数) SI:存放转换后的两位ASCII码指针 出口参数: 无 3. 不能返回,因为此时栈顶的内容是(BX),而不是返回主程序的偏移地址 八.编程题 1. 往BUF1和BUF2两缓冲区中分别输入字符串,请使用串操作指令比较这两个串是否相等,如相等则在下一行显示“The two stringe are equal!”;如不相等则在下一行显示“The two stringe are not equal!” 说明:① 画出主程序的流程图。 ② 写出寄存器的使用分配情况。 ③ 写出关键语句的注释。 寄存器使用分配: SI:取原串字符指针 DI:取目的串字符指针 BL:存放BUF2串长度 CX:存放BUF1串长度 DX:DOS中断调用 答:IO MACRO A,B LEA DX,A MOV AH,B INT 21H ENDM DATA SEGMENT BUF1 DB 80,0,80 DUP(0) BUF2 DB 80,0,80 DUP(0) T1 DB 0AH,0DH,’the two stringe equal !’ T2 DB 0AH,0DH,’the two stringe not equal !’ DATA ENDS STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME CODE:CS,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX 送数据段首址 MOV ES,AX IO BUF1,10 输入两个字符串 IO BUF2,10 MOV CL,BUF1+1 MOV BL,BUF2+1 比较两串长度是否相等 CMP CL,BL JNE NO_EQU ; 不等转NO_EQU LEA SI,BUF1 LEA DI,BUF2 MOV CH,0 长度相等,则比较两串字符是否相等 REPZ CMPSB JNE NO_EQU ; 不等转NO_EQU IO T1,9 ; 显示两串相等 JMP EXIT NO_EQU: IO T2,9 ; 显示两串不相等 EXIT: MOV AH,41H ; 返回DOS INT 21H CODE ENDS END START 2. 在以ARR为首址的数组中存放着若干个十六位无符号非0数,最后以0作结束标志。统计该组数中奇数的个数送ODD单元、偶数的个数送EVEN0单元中。试编其程序。 要求:1. 画程序框图 2. 编写源程序 3. 写出寄存器的使用分配情况 4. 写出关键语句的注释。 答:DATA SEGMENT ARR DW 1,2,3,4,5,6,7,8,9,0;已知数组 ODD DW 0 ;奇数个数单元 EVEN0 DW 0 ;偶数个数单元 DATA ENDS STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATA MOV DS,AX LEA SI,ARR MOV CX,0 ;偶数计数器 MOV DX,0 ;奇数计数器 NEXT: MOV AX,[SI];取一待判断的数送AX ADD SI,2 CMP AX,0 JE PP ;如该数为0转结束处理 AND AX,1 ;如不为0,判断最后一位是否为0 JE EVEN1 ;为0,转偶数计数 INC DX ;不为0,奇数计数器加1 JMP NEXT ;转取下一数 EVEN1:INC CX ;偶数计数器加1 JMP NEXT ;转取下一数 PP: MOV ODD,DX ;保存奇数计数 MOV EVEN0,CX;保存偶数计数 MOV AH,4CH INT 21H CODE ENDS END START 寄存器使用分配: SI: 取数指针 AX: 中间寄存器 CX: 偶数计数器 DX: 奇数计数器 开始 取一数→AX (AX)=0? (DX)+1→DX N Y 结束 ARR→SI,0→CX,0→DX (AX)为偶数否? (CX)+1→CX Y DX→ODD,CX→EVEN0 N 程序框图 第8页(共8页)- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 程序设计 模拟
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【xrp****65】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【xrp****65】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【xrp****65】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【xrp****65】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文