汇编语言作业2
- 格式:doc
- 大小:31.00 KB
- 文档页数:8
选择1、设AX中有一带符号数8520H,执行SAR AX,1指令后,AX中的值是()A. 0C290HB.0A40HC. 4290HD.0C260H2、下列中指令执行后,能影响标志位的指令是()A.PUSHFB.POPFC.JNLE OPRD.LOOPZ LOP3、循环控制指令LOOPNZ/LOOPNE继续执行循环的条件是()A.CX≠0且ZF=1B.CX≠0且ZF=0C.CX≠0或ZF=1D.CX≠0或ZF=04、下面两个传送指令语句中源操作数寻址方式是()V AR1 DW 32HV AR2 EQU32H┇MOV AX,V AR1MOV BX,V AR2A.都是立即数寻址B.前一条指令是立即数寻址,后一条指令是直接寻址C.前一条指令是直接寻址,后一条指令是立即寻址D.都是直接寻址5、ARRAY DW 6,9,$+4,10H,1,$+4┇MOV AX,ARRAY+4设变量ARRAY的偏移量是0084H,上述指令执行后AX中的内容是()A.008CHB. 0009C.0090HD.0001H6、指令语句中标号的错误定义是()A.在代码段中的名字项定义,后面紧跟冒号B.用EQU伪指令定义C.用LABEL伪指令定义D.由“JMP标号”指令定义7、为在一连续的存储单元中依次存放数据41H,42H,…48H,下面的数据定义语句中有语法错误的是()A.DB 41H,42H,43H,44H,45H,46H,47H,48HB.DW 4142H,4344H,4546H,4748HC.DB …ABCDEFGH‟D.DW …BA‟,…DC‟,…FE‟,…HG‟8、设NUM=11011011B,指令“MOV AX,NUM SHL 3”执行后AX中的值是()A.11011011000BB.11011000BC.00011011BD.00011011011B9、用REPE SCASB指令对字符串进行扫描,如CX≠0时,扫描结束,那么表示()A.在字符串中遇上第一个AL中指定的字符B.在字符串中有一个AL中指定的字符C.在字符串中有一个不是AL中指定的字符D.在字符串中遇上第一个不是AL中指令的字符10、设(SP)=0028H,执行段内返回指令RET 6后,SP的内容是()A.0036HB.0022HC.0030HD.0020H11. 当执行完下列指令序列后,标志位CF和OF的值为( )MOV AH,85HSUB AH,32HA. 0,0B. 0,1C. 1,0D. 1,112. 已知RET是属性为NEAR子程序中的返回指令,执行RET前SP=100,执行后,SP的内容为( )A. 102HB. 104HC. 104D. 10213. 指令MOV AX,-10[SI]的源操作数的寻址方式为( )A. 基址寻址B. 基址变址寻址C. 变址寻址D. 寄存器间接寻址14. 确定下列哪些数据在汇编语言中的表示是正确的( )A.19B+25D B. 25 AND 0D3HC.108Q-102 D. 101B MUL 0ABH15. 已知AL,BL中为无符号数, 若使AL≤BL时转到标号OK, 哪个程序段不能实现此功能( )A. CMP AL,BLB. CMP AL,BLJC OK JBE OKC. CMP BL,ALD. CMP BL,ALJNB OK JNC OK16. NEXT是程序中标号,下述哪个程序段不能实现转移到NEXT语句执行()A. JMP NEXTB. MOV BX,OFFSET NEXTJMP WORD PTR[BX]C. DA TA DW NEXTD. LEA AX,NEXTJMP DA TA JMP AX17. DA TA的定义如下:DATA DW 1234H现想把12H取入到AL寄存器,可以实现该功能的是()A. MOV AL,BYTE PRT DATAB. MOV AL,BYTE PTR DATA+1C. MOV AL,HIGH DATAD. MOV AX,DATA18、若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX= ? ( )A. 1400HB. 77F8HC. 0000HD. 0FFFFHA.185A2HB. 0AB568HC.01004HD. 00020H19、DW 10 DUP (2 DUP(3),300H)上述定义的数据单元中,能构成0303H字存储单元的个数是()A.10HB.20HC.1EHD.9H20、用一条指令实现将寄存器BX和SI的内容相加,结果并送入AX中,这条指令是()A.ADD AX,[BX][ST]B.MOV AX,[BX][ST]C. LEA AX, [BX][SI]D. AND AX, [BX][SI]1、A2、B3、B4、C5、A6、D7、B8、A9、D 10、A 11、C 12、B 13、A 14、C 15、B 16、D 17、C 18、B 19、A 20、D程序分析1.某数据段的起始定义如下:ORG 0030HDA1 DB 0,'0',30HDW DA1数据为3000H字存储单元的偏移地址是____30H ______2.若有如下指令和伪指令序列:DA1 EQU BYTE PTR DA2DA2 DW 0ABCDH┇SHL DA1,1SHR DA2,1上述指令序列执行后,DA2字存储单元的内容是____55CDH _______4. 阅读程序回答问题STRING DB …ABCDEFGHIJ''MOV AH,01 ;从键盘输入字符1~9之间的一个数字INT 21HAND AL,0FHDEC ALXOR AH,AHMOV BX,OFFSET STRINGADD BX,AXMOV BL,[BX]MOV AH,02H ;显示输出INT 21H试回答:(1)上述程序段的功能是什么?根据从键盘输入的字符…1‟~…9‟,确定在显示器上显示STRING中第几个字符。
一、单项选择题(共20题)1.对于有符号的数来说,下列哪个值最大( D)A:0F8H B:11010011B C:82 D:123Q2.下列有关汇编语言中标号的命名规则中,错误的是(D )A:通常由字母打头的字符、数字串组成 B:标号长度不能超过31个字符C:?和$不能单独作为标号 D:.号不可位于标号首3.设A=0.4H,B=0.8H,C=0.4,D=0.4Q,它们之间的关系是(C )。
A.C+D=B B.A+D=BC.B=D D.A>C>D4.下列四个寄存器中,可作为十六位寄存器的是(C )A.DL B.CLC.BP D.EBX5.8088/8086存储器分段,每个段不超过( D)A.64K个字B. 32K个字节C.1兆个字节D.64K个字节6.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式( B)A:寄存器寻址B:相对基址变址寻址C:变址寻址D:基址变址寻址7.连接程序把汇编语言源程序生成的目标文件(.OBJ文件)转换成( B)。
A..OBJ文件B..EXE文件C..LST文件D..CRF文件8.在程序运行过程中,确定下一条指令的物理地址的计算表达式是( A)。
A. (CS)×16+(IP)B. (DS)×16+(DI)C. (SS)×16+(SP) D.(ES)×16+(SI)9.若AX= - 15要得到AX=15应执行的指令是(A )A.NEG AXB.NOT AXC.INC AXD.DEC AX10.8086/8088系统执行传送指令MOV时(A )A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志11.执行下列程序后,(AL)=(D )H。
DATA SEGMENTTAB DB ‘0123456789’DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX, DATAMOV DS, AXMOV BX, OFFSET TABMOV AL, 04XLAT TAB…A.04 B.0400C.33 D.3412.下列指令中操作数在代码段中的是(A )。
汇编语言程序设计练习题2一、单项选择题(答案BDDBA BDADC CCAC CBBDA BDADA BCCB )1、使计算机执行某种操作的命令是( )A.宏指令B.指令C.伪指令D.语句2、某存储单元的物理地址是12345H,可以作为它的段地址有()。
A.2345H B.12345HC.12340H D.1234H3、8088/8086存储器分段,每个段不超过()A.64K个字B.32K个字节C.1兆个字节D.64K个字节4、计算机能直接识别并执行的语言是( )A.汇编语言B.机器语言C.高级语言D.低级语言5. 8086/8088系统执行传送指令MOV时()A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志6、以下各个指令中正确的是()。
A. MOV CS, DXB. MOV DS, BPC. IN 20H,ALD. MOV AH, BX7、下列对OUT指令的叙述正确的是()。
A. 实现从端口中读出数据B. 能直接访问的端口范围是0~1KBC. 能访问的端口为64KBitD. 只能用DX做为间接寻址的寄存器8、已有汇编语句“V AR EQU 1220H”,则语句“mov AX, V AR”中源操作数的寻址方式为()。
A. 立即寻址B. 直接寻址C. 寄存器间接寻址D. 基址寻址9、与MOV BX,OFFSET DATA1指令完全等效的指令是()。
A.MOV BX,DATA1B.LDS BX,DATA1C.LES BX,DATA1D.LEA BX,DATA110、下列指令中段默认为堆栈段的是()A.MOV AX,[BX+SI+10]B.ADD AX,ES:[SI]C.SUB BX,[BP][DI]D. MOV DX,[1000H]11、已知DS=2000H,ES=1000H, SI = 0800H,内存10880H开始的两个单元中存放5678H,内存20880H开始的两个单元中存放8765H,则语句“LEA BX,[SI+80H]”执行后BX 的值为()。
中国石油大学北京网络学院
汇编语言程序设计-第二次在线作业
参考答案
1.(
2.5分)下列叙述正确的是:
A、对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS 指令
B、对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP 指令
C、对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL 指令
D、对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB 指令
我的答案:C 此题得分:2.5分
2.(2.5分)在下列指令的表示中,不正确的是:
A、MOV AL,[BX+SI]
B、JMP SHORT DONING
C、DEC [BX]
D、MUL CL
我的答案:C 此题得分:2.5分
3.(2.5分)在进行二重循环程序设计时,下列描述正确的是:。
全国2005年10月高等教育自学考试汇编语言试题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.当执行ADD AX,BX指令后,若AX的内容为4E52H时,设置的奇偶标志位PF=0,下面的叙述正确的是( A)A.表示结果中含1的个数是奇数B.表示结果中含1的个数是偶数C.表示该数是奇数D.表示结果中低8位中含1的个数是奇数2.设物理地址(21000H)=20H,(21001H)=30H,(21002H)=40H。
如从地址21001H中取出一个字的内容是( D)A.2030HB.3040HC.3020HD.4030H3.转移指令JMP NEAR PTR PROCA的转移范围是( A )A.8000H~7FFFHB.7FFFH~0FFFHC.80H~7FHD.0FH~7FH4.设CF=1,实现AL内容乘2的指令是( C )A.RCL AL,1B.SAR AL,1C.SHL AL,1D.ROR AL,15.算术右移指令SAR和逻辑右移指令SHR,两条指令执行结果完全相同的条件是( A )A.目的操作数最高位为0B.目的操作数最高位为1C.目的操作数为任意情况D.无论什么情况都不可能完全相同6.没有语法错误的输入指令是( A )A.IN AL,30HB.IN 30H,ALC.IN DX,ALD.IN AL,[BX]7.与LEA BX,BUF指令完全等效的指令是( C)A.MOV BX,BUFB.LDS BX,BUFC.MOV BX,OFFSET BUFD.MOV BX,WOKD PTR BUF8.设有变量VAR和标号LAB,不正确的指令是( C)P85A.LEA AX,VARB.LEA AX,LABC.JMP NEAR PTR VARD.JMP SHORT LAB9.设SP的初值为1000H,执行指令PUSH AX后SP的值是( C )A.0FFFHB.1001HC.0FFEHD.1002H10.下列指令执行后既能使AX=0同时又使CF=0,OF=0的是( A )P69A.XOR AX,AXB.AND AX,AXC.OR AX,AXD.TEST AX,011.在指令的操作数字段中,允许出现表达式,若BUF1与BUF2均为变量名,下面指令中正确的是( D )A.MOV DX,BUF1*BUF2B.MOV DX,BUF1/BUF2C.MOV DX,(BUF1*BUF2)-BUF1D.MOV DX,BUF2-BUF112.汇编语言源程序,可以是( D )A.可以直接由机器执行B.必须由编译程序生成目标程序才能执行C.必须由解释程序生成目标程序才能执行D.必须由汇编程序汇编成目标程序才能执行13. ORG 200HBUF DB 12H,34HMOV AX,WORD PTR BUF上述指令语句执行后AX中的内容是( A )A.3412HB.1234HC.0200HD.0012H14.伪指令DA1 DB 04H DUP(3 DUP(2),2 DUP(3))在数据区中能构成0203H操作数共有( C)A.07个B.04个C.03个D.02个15.设NUM1 EQU 100NUM2= 64H下面指令执行后,使BL中为全1的指令是( A)P139A.MOV BL,NUM1 EQ NUM2B.MOV BL,NUM1 LT NUM2C.MOV BL,NUM1 NE NUM2D.MOV BL,NUM1 GT NUM216.设非压缩BCD码(AL)=09H,(BL)=04H在执行SUB AL,BL指令后应选的校正指令是P68( B )A.DAAB.AASC.DASD.AAA17.设AX=9ABCH,DX=8765HPUSH AXPUSH DXPOP AXPOP DX上述4条指令执行后,AX,DX中内容分别是( D )A.AX=9ABCH DX=8765HB.AX=9ABCH DX=9ABCHC.AX=8765H DX=8765HD.AX=8765H DX=9ABCH18.DA1 EQU WORD PTR DA2DA2 DB 0ABH,0CDHSHL DA1,1SHR DA2,1上述两条指令执行后,DA1中两字节单元内容分别是( D )A.0ABH,0CDHB.2BH,9BHC.4DH,57HD.56H,9BH19.无条件转移指令JMP实现段间间接转移,转移的目标地址在( B )A.某个字存储单元中B.某个双字存储单元中P86C.某个16位通用寄存器中D.两个16位通用寄存器中20.检查BUF单元的内容是否为正偶数,下面程序段正确的是( D )A.MOV AL,BUFB.MOV AL,BUFJS K1 AND AL,11HSHR AL,1 JNE K1JC K1 ……;是正偶数……;是正偶数K1:……K1:……C.MOV AL,BUFD.MOV AL,BUFJNP K1 TEST AL,81HTEST AL,80H JNE K1JNE K1 ……;是正偶数……;是正偶数K1:……K1:……二、填空题(本大题共5小题,每小题1分,共5分)21.8086/8088存贮器地址分段时,每个段起始地址的特征是__偶地址__。
汇编语言试题题目一:寄存器及栈操作假设有一段汇编代码如下,请根据代码的功能回答相应的问题:push ebpmov ebp, espmov eax, dword ptr [ebp + 8]add eax, dword ptr [ebp + 12]pop ebpret1.以上汇编代码中,push ebp和pop ebp的作用分别是什么?2.mov ebp, esp的作用是什么?有什么作用范围?3.dword ptr是什么意思?4.请解释ret的作用。
解答:1.push ebp的作用是将ebp的值保存到栈中,而pop ebp的作用是将栈中的值弹出,并将其赋给ebp寄存器。
这是函数调用的常用操作,用来保存和恢复函数的堆栈帧。
12.mov ebp, esp的作用是将栈顶地址存入ebp寄存器中,以便在函数内部可以通过ebp寄存器来访问函数参数和局部变量。
作用范围是当前函数内部。
3.dword ptr是一个内存访问修饰符,用来指定要访问的内存单元的大小和类型。
在本题中,dword ptr指示要访问的内存单元是一个 32 位的双字(double word)。
4.ret指令用于函数返回,它将弹出栈顶的返回地址,并跳转到该地址执行,从而实现函数的返回。
题目二:条件分支和循环请完成以下汇编代码的功能描述,并回答相应问题:mov eax, 10mov ecx, 0loop:cmp eax, 0je endadd ecx, eaxdec eaxjmp loopend:1.请描述以上汇编代码的功能。
2.eax和ecx分别用来存储什么数据?请解释mov eax, 10和mov ecx,0的作用。
3.cmp eax, 0和je end的作用是什么?24.dec eax是什么意思?5.jmp loop的作用是什么?解答:1.以上汇编代码的功能是计算从 10 累加到 1 的结果,并将结果存储在ecx寄存器中。
2.eax用来存储循环计数器(初始值为 10),ecx用来存储累加结果。
汇编语言程序设计第四版【课后习题答案】--囮裑為檤第2章8086的指令系统〔习题2.1〕已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12 34 56 78H,[21200H]~[21203H]依次存放2A 4C B7 65H,说明下列每条指令执行完后AX寄存器的内容。
(1)mov ax,1200h(2)mov ax,bx(3)mov ax,[1200h](4)mov ax,[bx](5)mov ax,[bx+1100h](6)mov ax,[bx+si](7)mov ax,[bx][si+1100h]〔解答〕(1)AX=1200H(2)AX=0100H(3)AX=4C2AH ;偏移地址=bx=0100h(4)AX=3412H ;偏移地址=bx=0100h(5)AX=4C2AH ;偏移地址=bx+1100h=1200h(6)AX=7856H ;偏移地址=bx+si=0100h+0002h=0102h(7)AX=65B7H ;偏移地址=bx+si+1100h=0100h+0002h+1100h=1202h〔习题2.2〕指出下列指令的错误(1)mov cx,dl(2)mov ip,ax(3)mov es,1234h(4)mov es,ds(5)mov al,300(6)mov [sp],ax(7)mov ax,bx+di(8)mov 20h,ah〔解答〕(1)两操作数类型不匹配(2)IP指令指针禁止用户访问(3)立即数不允许传给段寄存器(4)段寄存器之间不允许传送(5)两操作数类型不匹配(6)目的操作数应为[ SI ](7)源操作数应为[BX+DI](8)立即数不能作目的操作数〔习题2.3〕已知数字0 ~ 9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以table为首地址(设为200H)的连续区域中。
14秋学期《汇编语言程序设计》在线作业2
单选题判断题
一、单选题(共10 道试题,共50 分。
)
1. 一个字所能表示的无符号整数数据范围为()。
A. 0~65536
B. 0~65535
C. -32768~32767
D. -32767~32767
-----------------选择:B
2. 若栈顶指针SP的值为100H,当执行完指令PUSH AX后,SP的值为()。
A. 00FCH
B. 00FAH
C. 00FEH
D. 0106H
-----------------选择:C
3. 以8086/8088为CPU的微机内存最大容量为( )。
A. 4MB
B. 1MB
C. 640KB
D. 64KB
-----------------选择:B
4. 指令MOV AX,[BX+10]的源操作数字段的寻址方式是()。
A. 寄存器直接寻址
B. 寄存器间接址
C. 变址寻址
D. 基址寻址
-----------------选择:D
5. 指令JMP WORD PTR[BX] 转移的目标地址是( )
A. BX的内容
B. SP+BX之和
C. IP+[BX]之和
D. BX指出的内存单元之内容
-----------------选择:D
6. 当CX=0时,REP MOVSB执行的次数为。
( )
A. 0次
B. 1次
C. 65535次
D. 65536次
-----------------选择:A
7. 确定下列那些数据在汇编语言中是非法的()。