汇编期末复习题(完整含答案版)
- 格式:doc
- 大小:69.68 KB
- 文档页数:11
汇编语⾔考试复习题及答案⼀、单项选择题(从下列每题的四个选择中选择⼀个正确的,填⼊答题纸的相应位置。
每⼩题2分,共30分)1.下列指令有语法错误的是__________。
A) PUSH AL B) ADDC AX,50HC) MOV [SI],[DI] D) JMP WORD PTR[BX+5]见书:35页,PUSH2.执⾏下列程序段后,(AX)= ________。
TAB DW 1,2,3,4,5,6ENTRY EQU 3MOV BX, OFFSET TABADD BX,ENTRYMOV AX,[BX]A) 0003H B) 0300H C) 0400H D) 0004H3.NC 指令不影响 _________标志。
A) OF B) CF C) ZF D) SF4.执⾏下列指令后:STR1 DW ‘AB’STR2 DB 16 DUP(?)CNT EQU $ -STR1MOV CX,CNTMOV AX,STR1HLT寄存器CL的值是________,寄存器AX的值是________。
① A) 10H B) 12H C) 0EH D) 0FH② A) 00ABH B) 00BAH C) 4142H D) 4241H5.汇编语⾔源程序经汇编后不能直接⽣成⽂件。
A).OBJ B).LST C).EXE D).CRF6.8086 CPU在基址加变址的寻址⽅式中,已知BX=2000H,SI=1234H,则指令“MOV AX,[BX+SI+2]”的源操作在中。
(A)数据段中偏移量为3236H的字节(B)数据段中偏移量为3234H的字节(C)附加段中偏移量为3236H的字节(D)附加段中偏移量为3234H的字节(A)19,20 (B)20,⽆右孩⼦(C)⽆左孩⼦,20 (D)⽆左孩⼦,⽆右孩⼦7.执⾏下⾯的程序段后,DAT1单元的值是。
DAT1 DB 12H,34HDAT2 DB 56H,78HMOV AX,WORD PTR DAT1CMP AX,WORD PTR DAT2JA DONEMOV BX,WORD PTR DAT2MOV WORD PTR DAT2,AXMOV WORD PTR DAT1,BXDONE:HLTA)12H B)34H C)56H D)78H8.下列指令中,正确的⼀条是。
部编版八年级上册语文期末复习:现代文阅读专项练习题精选汇编第1节记叙文专项一课堂练习父亲的背影章中林①和父亲不相见已是一年有余了,我常常梦到父亲的那个背影……②去年国庆放假回家,父亲说从镇上到家没有车,他开电瓶车来接我。
七十岁的老人了,能开电瓶车吗?望着坐在前面开车的父亲,我看到的是他的背影:他低着头看着前方,脊背突起,根根骨头清晣可辨,上面只裏着一张皮。
他扶着方向盘,弯着腰,看上去就像一张犁辕。
这还是我那伟岸高大的父亲吗?③父亲年轻的时候,在山里帮人炸石头。
我空闲时,喜欢到他那里玩耍。
那时,我经常看到他挥舞着大铁锤,把石头砸得金星乱飞。
这是怎样一个形象呢?也许用个特写就能表现出来:身形高大的父亲,脊背宽阔如门,两腿站立如柱,两臂肌肉暴起,挥舞起铁锤来,带着呼呼的风声。
④前些日子,看到库尔贝的一幅油画《采石工》,我才恍然明白我的印象与现实有着不小的偏差。
因为那时生活拮据,父亲应该和《采石工》中的主人公类似,戴着没有檐的草帽,穿着满是补丁的衣服,鞋子也是破的,连脚后跟都露出来了。
这能从父亲当年拍的一张黑白照看出来。
⑤这就是残酷的现实,但我还是喜欢父亲那个砸石头的背影:棕色的脊背,绷紧的双臂,高举的铁锤。
整幅画面有着无穷的张力和撼人心魂的表现力,谁看了不会对他跷起大拇指呢?但是,眼前的父亲却完全没有了那种气势,委顿矮小,说话都有些不能关风,还怎么和当年那个形象相比较呢?不忍再想,不能再看。
⑥回到家,我感冒了。
身体软软的,提不起精神。
看到父亲挑着一担粪去浇地,我说我来。
父亲笑说,你是纸扎的,经不起风。
这时,我又看到了父亲的背影:他伸着颈,哈着腰,两手抓着扁担,整个人弯成了一张弓。
望着他步履蹒珊的样子,我的眼泪流了出来。
身为儿子,我却不能让年迈的父亲颐养天年。
⑦走的那天,临出门,父亲叫我等一等,摘些苦柚带着。
他说苦柚对我的高血压和高血脂有益,一树的苦柚基本上都被他捎到了我的手里。
望着树顶的苦柚,他准备爬上树去摘。
汇编语言模拟试题及答案一,单项选择题 (在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20 分)1.指令JMP FAR PTR DONE 属于参考答案为:CA .段内转移直接寻址B •段内转移间接寻址C .段间转移直接寻址D •段间转移间接寻址[解析]略2. 下列叙述正确的是参考答案为:CA •对两个无符号数进行比较采用CMP 指令,对两个有符号数比较用CMPS 指令B •对两个无符号数进行比较采用CMPS 指令,对两个有符号数比较用CMP 指令C .对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令D .对无符号数条件转移采用JGE/JNL 指令,对有符号数条件转移用JAE/JNB 指令[解析]对于无符号数和有符号数的比较都采用CMP 指令;CMPS 指令是串比较指令;对两个无符号数的条件转移指令应是:JAE、JNB、JBE、JNA;对两个有符号数的条件转移指令应是:JGE、JNL、JLE、JNG。
3. 一个有128个字的数据区,它的起始地址为12ABH:00ABH ,请给出这个数据区最末一个字单元的物理地址是参考答案为:CA . 12CSBHB . 12B6BHC. 12C59HD . 12BFEH[解析]末字与首字相隔(128- 1 =) 127个字,且每个字占用2个字节,因此末字单元的物理地址应为:首字单元的物理地址+( 128 —1) >2即12ABHX 10H + OOABH +( 128 —1) X2 = 12C59H。
4. 在下列指令的表示中,不正确的是参考答案为:CA . MOV AL ,[BX+SI]B. JMP SHORT DONIC. DEC [BX]D . MUL CL[解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C中的[BX] ,没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如DEC BYTE PTR [BX] 或DEC WORD PTR [BX] 但是在题目的选项C 中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。
汇编语言复习题附答案一、选择题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的状态寄存器中的条件码标志来决定是否跳转到指定的标签处执行。
【汇编语言程序设计】期末考试-试卷及参考答案执行上述两条指令后,正确的结果是( B )。
A.(AX)=1001H; B.(AX)=0FFFH;C.(AX)=1000H; D.(AX)=0111H。
6.串指令中的目的操作数地址一定是由____A_ _提供。
()A.ES:[DI] ; B.SS:[BP];C.DS:[SI] ; D.CS:[IP]。
7.将DX的内容除以2,正确的指令是( C )。
A.DIV? 2 ;B.DIV ? DX,2 ;C.SAR? DX,1;D.SHL? DX,1。
8. 用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )。
A.目标程序; B.汇编语言源程序;C.可执行程序; D.汇编程序。
9.用一条指令仅实现将AX←BX+SI的方法是( D )。
A.XCHG AX,[BX][SI] ;B.MOV AX,[BX+SI];C.LEA AX,BX[SI] ;D.LEA AX,[BX][SI]。
10.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是( C )。
A.1FFFH; B.1998H;C.1FFEH; D.2002H。
2. C二、指出下列指令的出错原因,并改正。
(每小题2分,共12分)1.MOV BX,DL;操作数类型不匹配,改正为:MOV BL,DL 或MOV BX,DX2.MOV CS,AX;代码段寄存器CS不能作目的操作数,改正为MOV DS,AX3.ADD AX,DS;段寄存器DS的内容不能作为加法指令的操作数,改正为MOV BX,DSADD AX,BX4.TEST BX,[CX];不能使用CX实现寄存器间接寻址,改正为MOV SI,CXTEST BX,[SI]5.SUB [BX],[BP+SI];两个操作数不能同为存储器操作数,且两个操作数的数据类型不确定,改正为:MOV AX,[BX]SUB AX,[BP+SI]或:MOV AL,[BX]SUB AL,[BP+SI]6.SHL DX ;没有给出移位次数,改正为SHL DX,1或 SHL DX,CL三、程序填空题(注意:每空只能填一条指令,并注释说明所填指令的作用!每空3分,共18分)1.在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总和并保存在AX寄存器中。
汇编期末考试题及答案试题:汇编期末考试题一、选择题(每题2分,共20分)1. 汇编语言中,用于定义常量的指令是:A. EQUB. DBC. DWD. DD2. 下列哪个指令用于将立即数送入累加器:A. MOV AX, 5B. MOV AL, 5C. MOV [100], 5D. MOV AX, [100]3. 在汇编语言中,哪个指令用于将数据从内存传送到寄存器:A. MOV AX, [BX]B. MOV [BX], AXC. MOV AX, BXD. MOV BX, AX4. 汇编语言中的循环结构通常使用以下哪个指令来实现:A. LOOPB. JUMPC. CMPD. RET5. 以下哪个指令用于将寄存器的内容清除为0:A. XOR AX, AXB. MOV AX, 0C. CLR AXD. SET AX, 06. 在汇编语言中,用于计算两个寄存器内容的和并存储结果的指令是:A. ADD AX, BXB. MOV AX, BXC. SUB AX, BXD. CMP AX, BX7. 下列哪个指令用于设置中断向量表:A. MOV AX, [100H]B. MOV [100H], AXC. MOV AX, @DATAD. MOV @DATA, AX8. 在汇编语言中,哪个指令用于无条件跳转:A. JMPB. JEC. JNED. JZ9. 汇编语言中,用于将寄存器的内容与立即数进行比较的指令是:A. CMP AX, BXB. MOV AX, BXC. ADD AX, BXD. SUB AX, BX10. 下列哪个指令用于将累加器的内容输出到屏幕上:A. OUT 0E0H, ALB. MOV AL, 0E0HC. MOV DX, 0E0HD. MOV AX, 0E0H二、简答题(每题5分,共20分)1. 解释汇编语言中的段寄存器的作用。
2. 描述汇编语言中堆栈的工作原理。
3. 解释汇编语言中的宏定义和条件编译指令。
c微机原理习题一、选择填空1、CPU执行OUT DX ,AL指令时,()的值输出到数据总线上。
A、AL寄存器B、AX寄存器C、DL寄存器D、DX寄存器2、连接主机与外设间的电路称为()。
A、接口B、端口C、数字电路D、转换电路3、地址译码的作用是()。
A、设计接口B、区分不同外设C、接至地址总线D、向外设输出数据4、中断控制器8259可管理()。
A、非屏蔽中断B、指令中断C、外部中断D、可屏蔽中断5、对INT N指令,其中断向量存放在内存从()开始的地址中。
A、DS*10H+N*4B、DS*10H+NC、0*10H+N*4D、0*10H+N6、8259的中断服务寄存器ISR的某一位如果置1,则表示()。
A、8259中断服务故障B、CPU正在执行中断服务程序C、外部设备可以请求中断服务D、中断服务程序刚执行完毕7、8086/8088CPU内部有一个始终指向堆栈顶部的地址指针是( )。
A、SPB、IPC、BPD、BX8、8086/8088CPU内部地址指针是( )。
A、20位B、8位C、16位D、24位9、8086存储段是存储器的一个逻辑单位,其长度可达()字节A、16KB、64KC、640KD、1M10、对于“未对准好”字,8086CPU需要()个总线周期完成对该字的访问。
A、1B、2C、3D、411、8086/8088能寻址内部存储器的最大地址范围为( )。
A、64KB、512KC、1MD、10M12、除法出错是属于()中断。
A、线路故障B、内部C、INTOD、单步13、中断传送方式下,当外部需要输入输出数据,向CPU发出中断请求信号,由接口电路使( )信号有效,引起中断响应。
A 、HLDAB 、INTRC 、HOLD D 、INTA14、DMA 数据传送,是由( )控制的。
A 、硬件控制器B 、程序C 、CPUD 、外设15、CPU 与外设交换信息时,是通过( )传送外设控制和外设状态信息的。
汇编语言期末复习题一、单项选择题1.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区第一个字单元的物理地址是()。
A.12B5BH B.12B6BH C.12C59H D.12BFEH2.在IN AL,PORT指令中,PORT称为()。
A.立即数B.有效地址 C.端口地址 D.寄存器名3.在下列指令的中,不能实现把AX寄存器内容清零的指令是()。
A.SUB AX,AX B.XOR AX,AXC.OR AX,0000H D.AND AX,0000H4.条件转移指令JNE的测试条件为()。
A.ZF=0B.CF=0C.ZF=1D.CF=15.8086CPU在基址加变址的寻址方式中,变址寄存器可以为()。
A.BX或CX B.CX或SIC.DX或SI D.SI或DI6.设(AX)=1000H,NEG AXNOT AX执行上述两条指令后,正确的结果是()。
A.(AX)=1001H B.(AX)=0FFFH;C.(AX)=1000H D.(AX)=0111H。
7.串指令中的目的操作数地址一定是由()提供。
A.ES:[DI]B.SS:[BP]C.DS:[SI]D.CS:[IP]8.将DX的内容除以2,正确的指令是()。
A.DIV 2 B.DIV DX,2C.SAR DX,1D.SHL DX,19.用户为了解决自己的问题,用汇编语言所编写的程序,称为()。
A.目标程序B.汇编语言源程序C.可执行程序D.汇编程序10.用一条指令仅实现将AX←BX+SI的方法是()。
A.XCHG AX,[BX][SI]B.MOV AX,[BX+SI]C.LEA AX,BX[SI]D.LEA AX,[BX][SI]11.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是()。
A.1FFFH B.1998H C.1FFEH D.2002H12.一个字为()位二进制数。
A.8位B.16位C.32位D.64位13. 下列四个寄存器中,可作为八位寄存器的是()。
汇编语言复习题注:蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。
在此文档最后最后附有课后四、六章的答案,大家抓紧时间复习哦!一、选择题1. 把要执行的程序与库文件连接起来形成可执行文件的系统程序是( B ) 。
A. 汇编程序B. 连接程序C. 机器语言程序D. 源代码程序2. 在8088/8086 的寄存器组中,CPU确定下一条指令的物理地址时需要用到的寄存器对是( C ) 。
A..SS 和SPB.DS 和DIC.CS 和IPD.ES 和SI3. 为了使主机访问外设方便起见,外设中的每个寄存器给予一个( C ) 。
A. 物理地址B. 逻辑地址C. 端口地址D. 段地址4. MOV AX,3064H,该指令中源操作数采用的寻址方式是( A ) 。
A. 立即B. 直接C. 寄存器相对D. 寄存器间接5. 换码指令的助记符是( C ) 。
A. XCHGB. LEASC.XLATD. MOV6. 如果A≥B(A、B有符号数)发生转移,应选择的条件转移指令是( JGE ) 。
7. 下列符号中,可用作标识符的是( C ) 。
A.MOVB.AXC.MSG1D.1ABC8. X DB 10H DUP ( 1,2)内存变量定义语句拥有了( A ) 个字节的存储空间。
A.20DB.10DC.20HD.10H9. 当DF=0时,执行串操作指令MOVS,B变址寄存器SI、DI的值将( C ) 。
A. 不变B. 减 1C. 加 1D. 无法确定10. 如下指令可将AX寄存器内容改变的是( A ) 。
A.AND AX , BX B .TEST AX , BX C.CMP AX , BX D .XCHG AX , AX11.16 位CPU支持的I/O 地址范围是( D ) 。
A.0~0FFFFFH B.0~0FFFFH C.0~0FFFH D.0~0FFH12. M UL CL 指令实现的功能是( A ) 。
一、问答题1、 写出8086操作数的寻址方式。
8086的存储器寻址方式有哪些?答:操作数的寻址方式有:①立即(数)寻址。
②寄存器寻址。
③存储器寻址。
存储器寻址方式有:①立即寻址。
②寄存器寻址。
③直接寻址。
④寄存器间接。
⑤寄存器相对。
⑥基址变址。
⑦相对基址变址。
2、 何谓中断向量,何谓中断号?答:中断向量即中断服务程序的入口地址。
中断类型号是系统分配给每个中断源的代号。
3、 试写出由逻辑地址计算物理地址的计算公式。
写出8086在存储器寻址下,存储单元的逻辑地址的表示形式。
答:PA=段基址*16+偏移量 LA=段基址:偏移量4、 在内存物理地址为00002H 起的字单元内存放7856H ,请用图表示出它们在存储器里存放的情况。
5、 在物理内存地址为00002H 起的字单元内存放3412H ,请用图表示出它们在存储器里存放的情况。
6、 8088的寻址空间有多大?要寻址全部内存空间必须采用什么技术措施?答:1MB ,分段寻址7、 寄存器间接寻址方式可使用哪些寄存器?答:在8086中:BX/BP/SI/DI8、 在分断技术中,寄存器BX 和BP 默认对应的段寄存器是哪些?答:BX 对应的是DS,BP 对应的是SS 。
9、 寄存器相对寻址方式中的位移量可以用什么形式表达?答:位移量=EA —基址—(变址*比例因子)10、 微机的内存的最小编址单位是什么?字型数据在内存的中的存放原则是什么?答:最小编址单位是B ,存放原则是先低字节,后高字节。
11、 基址变址寻址方式的可用寄存器有哪些?答:[BX][SI]/[BX][DI]12、 写出相对基址变址寻址方式的偏移地址EA 的计算公式。
答:EA=位移量+基址+变址13、 在内存物理地址为30476H 起的连续地址空间内存放了一个值为90634511H 的双字型数据,请用图表示出它们在存储器里存放的情况。
14、 在内存物理地址为65780H 起的连续地址空间内存放了一个值为12345678H 的双字型数据,请用图表示出它们在存储器里存放的情况。
15、 条件转移指令的转移范围是多少?答:—128~12716、 LOOP 指令使用的循环计数器是什么?答:CX.17、 设有变量ABCD ,要取它的偏移地址送到寄存器AX 中,可用哪两种方法?用指令表达出来。
答:①LEA AX,ABCD ②MOV AX,ABCD18、 子程序调用时传递参数的三种基本方法是什么?答:①通过寄存器传送。
②通过堆栈传送。
③通过变量传送。
19、 串操作指令在使用前应做哪些准备工作?答:①把存放在数据段中的源串首地址(如反向传送则应是末地址)放入源变址寄存器中。
②把将要存放数据串的附加段中的目的串首地址(或反向传送时的末地址)放入目的变址寄存器中。
③把数据串长度放入计数寄存器。
④建立方向标志。
二、简答题写出下列各指令的源操作数的寻址方式。
(1)MOV AX,0AH 立即寻址 (21)SUB CX,0CFH 立即寻址 (2)MOV BX,12H 立即寻址 (22)MOV DX,49H 立即寻址 (3)MOV [BX],CL 寄存器寻址 (23)ADDC [BP],DL 寄存器寻址 (4)MOV [BX],CX 寄存器寻址 (24)ACHG [BX],AH 寄存器寻址 (5)MOV AX,[200H] 直接寻址 (25)AND AX,ES:[buf] 直接寻址 (6)MOV AX,[100H] 直接寻址 (26)MOV CX,SS:[buf] 直接寻址 (7)MOV BX,[BX] 寄存器间接寻址 (27)XOR AX,[DI] 寄存器间接寻址 (8)MOV AX,[BX] 寄存器间接寻址 (28)MOV CX,[BX] 寄存器间接寻址 (9)MOV AX,[BP] 寄存器间接寻址 (29)OR DX,[BP] 寄存器间接寻址 (10)MOV DX,[BP] 寄存器间接寻址 (30)MOV CX,[BP] 寄存器间接寻址 (11)MOV AX,[SI][BX] 基址变址寻址 (31)AND DL,[BP+DI] 基址变址寻址 (12)MOV CX,[BX][SI] 基址变址寻址 (32)MOV BX,[SI+BP] 基址变址寻址 (13)MOV DI,[BX+20] 相对基址寻址 (33)XOR SI,56[BX] 相对基址寻址(14)MOV DI,20[BX] 相对基址寻址(34)MOV DI,[BX+30] 相对基址寻址(15)MOV DH,V AL[BX] 相对基址寻址(35)ADD DL,buf[BX] 相对基址寻址(16)MOV DH,ARRY[BX] 相对基址寻址(36)MOV AL,[buf+BP] 相对基址寻址(17)MOV DS,V AL 直接寻址(37)MOV DS,[BX+DI] 基址变址寻址(18)MOV DS,ARRY 直接寻址(38)MOV DS,[BX+SI] 基址变址寻址(19)MOV BX,V AL[BX][SI] 相对基址变址寻址(39)MOV AH,[buf+BP+DI] 相对基址变址寻址(20)MOV BX,ARRY[BX][DI] 相对基址变址寻址(40)ADD AL,[buf+BX+SI] 相对基址变址寻址三、判断题对者在题号前的括号中打“√”,错的打“×”(×)1.SBB AL,DX (√)1.XCHG BX,AX(√)2.MOV CX,DX (×)2.XOR BL,CX(√)3.CMP BX,[DI] (√)3.CMP AX,[SI](×)4.CMP [BP],[BX] (√)4.POP DI(√)5.POP DI (√)5.POP AX(√)6.POP SI (×)6.PUSH CL 堆栈操作以字为单位(×)7.PUSH AL 堆栈操作以字为单位(×)7.PUSH AL 堆栈操作以字为单位(×)8.PUSH DL 堆栈操作以字为单位(√)8.OR BYTE PTR [BP],98(√)9.MOV BYTE PTR [BP],124 (√)9.AND [BX],255(√)10.MOV BYTE PTR [BX],100 (√)10.SUB [SI],BYTE PTR 35(√)11.ADD [DI],BYTE PTR 24 (√)11.MOV [BP],10(√)12.SUB [BP],BYTE PTR 10 (×)12.DEC [CX] CX不能间接寻址(×)13.DEC [DX] DX不能间接寻址(√)13.INC 8[BX](√)14.INC 2[BX] (√)14.SHL AL,1(√)15.ROR BL,1 (×)15.MOV BX,[DX] DX不能间接寻址(×)16.MOV CX,[DX] DX不能间接寻址(√)16.MOV buf[BP][SI],CL(√)17.MOV DA T[BP][DI],AL (√)17.MOV buf[BX][DI],CX(√)18.MOV DA T[BX][SI],AX (√)18.ADDC AL,BYTE PTR AC(AC为字变量) (√)19.SUB AL,BYTE PTR AC(AC为字变量) (√)19.CMP CX,WORD PTR WL(WL为字节变量) (√)20.ADD CX,WORD PTR WL(WL为字节变量) (√)20.ADD BX,[DI]四、程序填空题1、要求用移位指令实现(BX)<—(BX)*9MOV AX,BXMOV CL,3SHL AX,CLADD BX,AX2、要求用移位指令实现(BX)<—(BX)*5MOV AX,BXMOV CL,2SHL AX,CLADD BX,AX3、假设程序中数据定义如下:ASD DB 3要求把变量ASD的值在显示器上显示出来。
MOV DL,ASDADD DL,30HMOV AH,2INT 21H4、假设程序中数据定义如下:X DB 3要求把变量X的值在显示器上显示出来。
MOV DL,XADD DL,30HMOV AH,3INT 21H5、假设程序中字符串MESS定义如下:MESS DB ’ABCDEF’要求把字符串MESS送到显示器上显示出来。
LEA DX,MESSMOV AH,9INT 21H6、假设程序中字符串BUF定义如下:BUF DB ‘ABCDEF’MOV AH,9INT 21H7、假设程序中数据定义如下:BUF DB 32 DUP (?)要求在BUF中查找第一个’B’.CLDMOV CX,32MOV AL,’B’LEA DI,BUFREPEN SCASB8、假设程序中数据定义如下:BUF DB 38 DUP(?)要求在BUF中查找第一个’M’CLDMOV CX,38MOV AL,‘M’LEA DI,BUFREPEN SCASB9、比较两个字符串B1和B2,其长度为20个字节,找出它们相匹配的位置。
LEA SI,B1LEA DI,B2CLDMOV CX,0014HREPNE CMPSB10、比较两个字符串STR1和STR2,其长度为45个字节,找出它们不相匹配的位置。
LEA SI,STR1LEA DI,STR2CLDMOV CX,002DHREPE CMPSB五、写出下列程序(段)的执行结果。
1、CODE1 SEGMENTASSUME CS:CODE1MAIN PROC FARSTART:PUSH DSXOR AX,AXPUSH AXMOV CH,4MOV BX,1100010010001111B ROT1:MOV CL,4ROL BX,CLMOV DL,BLAND DL,0FHADD DL,30HCMP DL,3AHJB OUT1ADD DL,7HOUT1:MOV AH,2INT 21HDEC CHJNZ ROT1RETMAIN ENDPCODE1 ENDSEND MAIN此程序执行后,屏幕上显示的内容为:C48F 2、DA TA SEGMENTBUF DB 7,9,6DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA BEGIN:MOV AX,DATAMOV DS,AXMOV CX,2MOV BX,OFFSET BUFMOV SI,1MOV AL,BUFAAA:CMP AL,[BX+SI]JL NEXTMOV AL,[BX+SI]NEXT:INC SILOOP AAAMOV DL,ALADD DL,30HMOV AH,2INT 21HMOV AH,4CHINT 21HCODE ENDSEND BEGIN执行此程序后,屏幕上显示的内容为:6 (此程序功能是将串中小于7的数字屏显出来) 3、MOV AL,03HMOV CL,2SHL AL,CL此指令段执行后,AL中的值为:0CH (即3*2*2=12)4、MOV AL,40HMOV CL,2SHR AL,CL此程序段执行后,AL中的值为:10H (即64/2/2=16)5、CODE SEGMENTASSUME CS:CODEMAIN:MOV AH,1INT 21HMOV AH,2MOV DL,ALADD DL,30HINT 21HMOV AH,4CHINT 21HCODE ENDSEND MAIN设输入数字7,其输出结果是多少?76、CODE SEGMENTASSUME CS:CODEMAIN:MOV AH,1INT 21HADD AL,2MOV AH,2MOV DL,ALADD AL,30HINT 21HMOV AH,4CHINT 21HCODE ENDSEND MAIN设输入数字3,其输出结果是多少?5六、程序设计1、求两个字节数X和Y的2倍放到Z单元中。