1、汇编语言程序设计真题精选2020年汇编语言程序设计真题精选填空题1MOVAX,0AH的源操作数的寻址方式是()参考答案:立即寻址填空题2 编写循环结构程序,进行下列计算,结果存入RESULT内存单元 2+4+6+8+10+100。参考答案: CODESEGMENTASSUME CS:CODERESULT DW ?START:XOR AX,AXMOV CX,50MOV BX,2AGAIN:ADD AX,BXADDBX,2LOOP AGAINMOV RESULT,AXMOV AX,4C00HINT 21HCODEENDSEND START 填空题3写出8086操作数的寻址方式。8086的存储器寻址
2、方式有哪些?参考答案: 操作数的寻址方式有:立即(数)寻址。寄存器寻址。存储器寻址。存储器寻址方式有:立即寻址。寄存器寻址。直接寻址。寄存器间接。寄存器相对。基址变址。相对基址变址。 填空题4 编写循环结构程序,进行下列计算,结果存入RESULT内存单元 11+22+33+44+99。参考答案: CODESEGMENTASSUME CS:CODERESULT DW ?START:XOR AX,AXMOV CX,9MOV BX,11AGAIN:ADD AX,BXADD BX,11LOOP AGAINMOV RESULT,AXMOV AX,4C00HINT 21HCODEENDSEND START
3、 填空题5试写出由逻辑地址计算物理地址的计算公式。写出8086在存储器寻址下,存储单元的逻辑地址的表示形式。参考答案: P.A=段基址*16+偏移量L.A=段基址:偏移量 填空题6 已知ARRAY是5行5列的有符号字数组,编写程序,进行下列计算(假设和仍然为16b,不会产生溢出) 求该数组第3行所有元素之和(行号从0开始) 参考答案: CODESEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AX,0;累加器在循环之前清零MOV CX,5;计数器置初值MOV SI,3*5*2;第3行第0列元素在数组内的位移NEXT:ADD A
4、X,ARRAYSIADD SI,2;SI指向本行下一列元素LOOP NEXTMOV SUM,AXMOV AX,4C00HINT 21HCODEENDSEND START 填空题7在物理内存地址为00002H起的字单元内存放3412H,请用图表示出它们在存储器里存放的情况。参考答案: 填空题8 已知ARRAY是5行5列的有符号字数组,编写程序,进行下列计算(假设和仍然为16b,不会产生溢出) 求该数组反对角线上所有元素之和。 参考答案: CODESEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AX,0;累加器在循环之前清零MO
5、V CX,5;计数器置初值MOV SI,4*2;第0行第4列元素在数组内的位移NEXT:ADD AX,ARRAYSIADD SI,(5-1)*2;SI指向反对角线上下一个元素LOOP NEXTMOV SUM,AXMOV AX,4C00HINT 21HCODEENDSEND START 填空题9寄存器间接寻址方式可使用哪些寄存器?参考答案:在8086中:BX/BP/SI/DI填空题10变量X,Y,Z均为一字节压缩BCD码表示的十进制数,写出指令序列,求它们的和(用2字节压缩BCD码表示)。参考答案: XOR AX,AX;清AX,用于存放2字节结果MOV AL,XADD AL,Y;完成X+YDAA
6、;压缩BCD码加法调整ADC AH,0;把可能的进位收集到AH中;AH中最大的可能值为2,因此不需要BCD加法调整ADD AL,Z;完成X+Y+ZDAA;压缩BCD码加法调整ADC AH,0;把可能的进位收集到AH中;计算完成,结果(2字节压缩BCD码)在AX中 填空题11寄存器相对寻址方式中的位移量可以用什么形式表达?参考答案:位移量=EA基址(变址*比例因子)填空题12基址变址寻址方式的可用寄存器有哪些?参考答案:BXSI/BXDI单项选择题13、为了使执行串操作指令时,地址按减量方式处理应使用指令()。A.CLIB.STIC.CLDD.STD参考答案:D填空题14数组LIST2内存有20
7、个压缩BCD码表示的单字节十进制数,写出完整程序,求这20个BCD数之和,结果(压缩BCD码)存入SUM2双字单元。参考答案: CODESEGMENTASSUME CS:CODELIST2 DB12H,34H,56H,15H,82H,52H,48H,19H,31H,63HDB22H,33H,44H,55H,66H,77H,88H,99H,11H,39HSUM2DD ?START: XOR AX,AX;累加器清零XOR BX,BX;地址指针置初值MOV CX,20;循环计数器置初值ONE:/ADD AL,LIST2BX;加入一个压缩BCD数DAA;调整XCHG AH,AL;交换AH和ALADC
8、AL,0;收集进位(百位、千位)DAA;高位(百位、千位)调整XCHG AH,AL;恢复AH和AL;(AH)=千位、百位,(AL)=十位、个位INC BX;修改指针LOOP ONE;循环控制MOV WORD PTR SUM2,AX;保存千、百、十、个位MOV WORD PTR SUM2+2,0;高位清零MOV AX,4C00HINT 21HCODEENDSEND START 填空题15写出相对基址变址寻址方式的偏移地址EA的计算公式。参考答案:EA=位移量+基址+变址填空题16数组LIST3内存有20个压缩BCD码表示的双字节十进制数,写出完整程序,求这20个BCD数之和,结果(压缩BCD码)
9、存入SUM3双字单元。参考答案: CODESEGMENTASSUME CS:CODELIST3 DW1234H,3456H,5678H,1523H,8263H,DW 5234H,4856H,1926H,3177H,6389HDW 2211H,3322H,4433H,5544H,6655HDW 7766H,8877H,9988H,1167H,3944HSUM3 DD ?START: XOR DX,DXXOR AX,AX;累加器清零LEA BX,LIST3;地址指针置初值MOV CX,20;循环计数器置初值ONE:/ADD AL,CS:BX;加入第一字节压缩BCD数(十位、个位)DAA;调整XCH
10、G AH,AL;交换AH和ALINC BX;修改指针,指向高位字节(千位、百位)ADC AL,CS:BX;高位累加,并收集低位进位DAA;高位(百位、千位)调整XCHG AH,AL;恢复AH和AL;(AH)=千位、百位,(AL)=十位、个位INC BX;修改指针XCHG DX,AX;交换AX和DXADC AL,0;收集千位上的进位DAA;调整,得到和的十万位和万位XCHG DX,AX;恢复DX和AXLOOP ONE;循环控制MOV WORD PTR SUM3,AX;保存千、百、十、个位MOV WORD PTR SUM3+2,DX;保存十万位和万位MOV AX,4C00HINT 21HCODEE
11、NDSEND START 单项选择题17、把若干个模块连接起来成为可执行文件的系统程序是()A.汇编程序B.连接程序C.机器语言程序D.源代码程序参考答案:B填空题18在内存物理地址为65780H起的连续地址空间内存放了一个值为12345678H的双字型数据,请用图表示出它们在存储器里存放的情况。参考答案: 填空题19 设(BX)=0E3H,变量VALUE中存放内容为79H,指出下列指令单独执行后的结果。 AND BX,VALUE参考答案: 指令“AND BX,VALUE”执行后,(BX)=0061H 单项选择题20、已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是()
12、。A.DIVBXB.CWDIDIVBXC.XORDX,DXDIVBXD.CBWIDIVBX参考答案:B填空题21LOOP指令使用的循环计数器是什么?参考答案:CX.更多内容请访问睦霖题库微信公众号填空题22 设(BX)=0E3H,变量VALUE中存放内容为79H,指出下列指令单独执行后的结果。 XOR BX,0FFH参考答案: 指令“XOR BX,0FFH”执行后,(BX)=001CH 单项选择题23、子程序是用过程定义语句()定义的。A.PROCENDPB.PROCENDSC.CALLRETD.PROCRET参考答案:A填空题24子程序调用时传递参数的三种基本方法是什么?参考答案: 通过寄存
13、器传送。通过堆栈传送。通过变量传送。 填空题25 设(BX)=0E3H,变量VALUE中存放内容为79H,指出下列指令单独执行后的结果。 AND BX,0参考答案: 指令“AND BX,0”执行后,(BX)=0000H 单项选择题26、主程序和所调用的子程序在同一代码段中,子程序的属性定义为()。A.TYPEB.WORDC.NEARD.FAR参考答案:C填空题27串操作指令在使用前应做哪些准备工作?参考答案: 把存放在数据段中的源串首地址(如反向传送则应是末地址)放入源变址寄存器中。把将要存放数据串的附加段中的目的串首地址(或反向传送时的末地址)放入目的变址寄存器中。把数据串长度放入计数寄存器
14、。建立方向标志。 填空题28某密码的加密规则为:0A,1B,2C,。按照以下要求编写程序。把明文“96541833209881”翻译为密文。参考答案: CODESEGMENTASSUME CS:CODETEXT1 DB “96541833209881”TEXT2 DB 14DUP(?)START:MOV BX,0MOV CX,14NEXT:MOV AL,TEXT1BX;取出一字节明文ADD AL,“A”-“0”;转换成密文MOV TEXT2BX,AL;保存INC BXLOOPNEXTMOV AX,4C00HINT 21HCODEENDSEND START 单项选择题29、若AX=3500H,C
15、X=56B8H,当ANDAX,CX指令执行后,AX=()。A.1400HB.77F8HC.0000HD.0FFFFH参考答案:A填空题30MOVBX,CL的源操作数的寻址方式()参考答案:寄存器寻址填空题31编写程序,从键盘上输入一行明文,按照题3.17的规则翻译成密文,向显示器输出。参考答案: DATASEGMENTMESS DB 0DH,0AH,“Inputsometextplease:$”OUTMESS DB 0DH,0AH,“Thetextafterconvert:”BUFFER DB81,?,81DUP(?)DATA ENDSCODESEGMENTASSUME CS:CODE,DS:
16、DATASTART:MOV AX,DATAMOV DS,AXLEA DX,MESSMOV AH,09HINT 21H;输出提示信息LEA DX,BUFFERMOV AH,0AHINT 21H;输入一行明文MOV CL,BUFFER+1MOV CH,0;输入字符个数送CXLEA BX,BUFFER+2;首字符地址送BXNEXT:MOV AL,BXADD AL,“A”-“0”;将一字节明文转换成密文MOV BX,AL;保存INC BXLOOP NEXTMOV BYTE PTR BX,“$”;送字符串结束标记MOV WORD PTR BUFFER,2020H;缓冲区前2字节改为空格LEA DX,OU
17、TMESSMOV AH,09HINT 21H;输出转换以后的结果MOV AX,4C00HINT 21HCODEENDSEND START 单项选择题32、 DA2 DB “AB”,“CD” MOVAX,WORDPTRDA2+1 上述语句执行后,AX中的值是()。A.“ADB.“BCC.“DAD.“CB参考答案:D填空题33MOVAX,200H的源操作数的寻址方式()参考答案:直接寻址填空题34已知8086系统某存储单元物理地址为12345H,可以与它对应的“逻辑地址”中,段基址最大值,最小值分别是多少?参考答案: 可以与物理地址12345H对应的逻辑地址中,段基址的最大值为1234H,最小值为
18、0235H。分析:偏移地址取最大值时,对应的段基址为最小。偏移地址可选的最大值为0FFF5H(最后一位必须为5),因此最小的段基址=(12345H-0FFF5H)/10H=0235H。偏移地址取最小值时,对应的段基址最大。偏移地址可选的最小值为0005H(最后一位必须为5),因此最大的段基址=(12345H-0005H)/10H=1234H。 填空题35编写程序,使用库子程序,从键盘上输入8个有符号字数据,求它们的和,以十进制格式输出。参考答案: INCLUDE YLIB.HDATA SEGEMNTMESS1 DB 0DH,0AH,“Inputanumberplease:$”MESS2 DB
19、0DH,0AH,“Thesumis:$”DATA ENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXXOR BX,BX;BX用作累加器,清零MOV CX,8;循环计数器置初值AGAIN:LEA DX,MESS1CALL READINT;输入一个数据(在AX中)ADD BX,AX;累加LOOP AGAINLEA DX,MESS2MOV AX,BXCALL WRITEINT;输出8个数的和CALL CRLFMOV AX,4C00HINT 21HCODEENDSEND START 单项选择题36、执行PUSHBP指令时,目的
20、操作数的物理地址表达式是()。A.16*SS+BPB.16*DS+BPC.16*CS+BPD.16*SS+SP参考答案:D填空题37MOVAX,100H的源操作数的寻址方式()参考答案:直接寻址填空题38阅读以下程序,指出它的功能。参考答案: MOV CL,04SHL DX,CLMOV BL,AHSHL AX,CLSHR BL,CLOR DL,BL把32位二进制代码(DX,AX)联合左移4位。 填空题39CPU使用“寄存器”有什么好处?为什么?参考答案: CPU使用寄存器主要有两个好处:(1)寄存器位于CPU内部,访问寄存器比访问内存储器速度快;(2)寄存器数量大大少于内存储器单元个数,标识寄
21、存器使用的二进制代码比标识内存储器单元使用的二进制代码少得多,可以缩短指令长度。 单项选择题40、检查二个无符号数的关系,若要实现AL=BL时分支去LOP1处,那么在“CMPAL,BL”指令后应跟的分支指令是()。A.JNCLOP1B.JALOP1C.JCLOP1D.JGELOP1参考答案:A填空题41MOVAX,BX的源操作数的寻址方式()参考答案:寄存器间接寻址填空题42 已知(DX)=0B9H,(CL)=3,(CF)=1,确定下列指令单独执行以后DX寄存器的值。 SHR DX,1参考答案: 指令“SHR DX,1”执行之后,(DX)=005CH。 填空题43用8位补码完成下列运算,用二进
22、制“真值”的格式给出运算结果,并指出运算后CF、OF、ZF、SF、PF标志位的状态。-100-120。参考答案: -100补=10011100,-120补=10001000,-100-120补=00100100,-100-120=+00100100(溢出)COZSP=01001 填空题44MOVDX,BP的源操作数的寻址方式()参考答案:寄存器间接寻址单项选择题45、完成将AX清零,并且使CF清零,下面错误的指令是()。A.SUBAX,AXB.ANDAX,0C.XORAX,AXD.MOVAX,0参考答案:D填空题46 已知(DX)=0B9H,(CL)=3,(CF)=1,确定下列指令单独执行以后
23、DX寄存器的值。 SHL DX,CL参考答案: 指令“SHL DX,CL”执行之后,(DX)=05C8H 填空题47MOVCX,BXSI的源操作数的寻址方式()参考答案:基址变址寻址填空题48用8位补码完成下列运算,用二进制“真值”的格式给出运算结果,并指出运算后CF、OF、ZF、SF、PF标志位的状态。127+126。参考答案: 127补=01111111,126补=01111110,127+126补=11111101,127+126=-00000011(溢出)COZSP=01010 单项选择题49、下面()描述属于子程序嵌套调用。A.某程序调用子程序B.某程序调用子程序1,子程序又调用了子
24、程序2。C.某程序调用一个或多个子程序D.某程序调用了两个子程序参考答案:B填空题50 已知(DX)=0B9H,(CL)=3,(CF)=1,确定下列指令单独执行以后DX寄存器的值。 ROR DX,CL参考答案: 指令“ROR DX,CL”执行之后,(DX)=2017H 填空题51MOVDI,BX+20的源操作数的寻址方式()参考答案:相对基址寻址填空题52两个8位补码表示的有符号数相加时,什么情况下会使进位标志等于“1”?相减时,又是什么情况下会使借位标志等于“1”?参考答案: 两个8位补码表示的有符号数相加时,下列情况会使进位标志等于“1”:两个负数相加;两个异号数相加,和为正(不会产生溢出
25、)。两个8位补码表示的有符号数相减时,下列情况会使借位标志等于“1”:两个同号数相减,差为负(不会产生溢出);正数减负数(有可能产生溢出); 填空题53 已知(DX)=0B9H,(CL)=3,(CF)=1,确定下列指令单独执行以后DX寄存器的值。 ROL DX,CL参考答案: 指令“ROL DX,CL”执行之后,(DX)=05C8H 填空题54把下列十六进制数转换为二进制数(100)16参考答案: (100)16=(000100000000)2 填空题55把下列二进制数转换为十六进制数(0.00101)2参考答案: (0.00101)2=(0.00101000)2=0.28H 填空题56 已知
26、(DX)=0B9H,(CL)=3,(CF)=1,确定下列指令单独执行以后DX寄存器的值。 RCL DX,CL参考答案: 指令“RCL DX,CL”执行之后,(DX)=05CCH 单项选择题57、执行CALL子程序调用指令时,CPU会自动地将断点压入堆栈保护。断点指的是()。A.CALL指令所在的地址B.CALL指令的下一条指令的首地址C.子程序入口地址D.CALL指令所在的段地址参考答案:B填空题58MOVDH,VALBX的源操作数的寻址方式()参考答案:相对基址寻址填空题59MOVDS,VAL的源操作数的寻址方式()参考答案:直接寻址填空题60 下面程序段执行完成后,BX寄存器的内容是什么? MOV CL,3 MOV BX,0B7H ROL BX,1 ROR BX,CL参考答案: 上面程序段执行完成后,(BX)=0C02DH
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1