《山东理工大学汇编语言程序设计试题及答案-.pdf》由会员分享,可在线阅读,更多相关《山东理工大学汇编语言程序设计试题及答案-.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 汇编语言程序设计复习题一、选择题:1、中断类型21H 是 DOS 功能调用,功能号必须事先存放在_中。AAH BAL CAX DDS 2、Intel8088CPU对内存的管理采用了分段技术,每段的最大值为_。A512KB B64KB C64MB D 1024KB 3、段地址和偏移地址为126DH:3000H 的储存单元的物理地址是_。A156D0H B426DH C3126DH D3126DH 4、已知(DS)=3000H,(BX)=2000H,(SI)=1000H,BUFFER=4000H 则指令:MOV AL,BUFFERBXSI 的源操作数所在的储存单元地址是_。A37000H B.
2、0A000H C21400H D7000H 5、下列数据传送指令中,不正确的是_。APUSH CS B.POP DS CMOV SI,BX DMOV AL,80H 6、堆栈指针SP=3000H,执行如下指令:PUSH AX PUSH DS POP CX ADD AX,BX 之后,SP=_。A2FFDH B2FFAH C2FFEH D2FFCH 7、若要检查AX中的内容是否为零,用下面的_指令可以达到目的。ATEST AX,0000H BAND AX,0000H CSUB AX,0000H DMOV AX,0000H 8、在指令REPZ MOVSB 中,CX中是 _。A移动字节数B移动字数 C无
3、关 D记录数9、设一中断类型码是45H,则根据它可以确定_。A中断服务程序入口地址是45H B中断向量表的第45 号单元C中断服务程序存放的位置D中断向量存放在中断向量表114H 开始的单元中二、填空题:2 1、8088CPU无符号数的最大值是_。2、软中断与子程序调用的主要差别是_。3、8088CPU 内 部 的 通 用 寄 存 器 有 _,专 用 寄 存 器 有_,其中 _不能通过指令进行赋值。4、8088CPU的寻址方式分别包括_ _。5、XLAT指令要求 BX是_,AL_,返回值在 _中。6、两个16 位无符号数进行乘法操作后的乘积在_寄存器中,并且是_。7、CBW 指令的功能是_。8
4、、汇编程序的作用是_。9、假定 AL=0AH,BL=73H,则 CPU执行“CMP AL,BL”指令后,AL=_,BL=_,标志寄存器的CF=_,ZF=_,SF=_。三、简答题:1、简要说明中断的分类。2、什么是伪指令?3、已知(SS)=0F0A0H,(SP)=00B0H,先执行两条指令把8057H 和 0F79H分别压入堆栈,然后又执行一条POP指令,试画示意图说明堆栈及SP内容的变化过程。四、阅读下列程序:1、下列程序段中每条指令执行完后,AX寄存器及CF,SF,ZF和 OF的内容是多少?MOV AX,0 DEC AX ADD AX,2 NOT AX ADD AX,8000H SUB AX
5、,1 AND AX,1 SAL AX,1 SAR AX,1 ROR AX,1 3 2、说明下列程序段的功能AGAIN:MOV AH,01H INT 21H CMP AL,AJB AGAIN CMP AL,ZJA AGAIN MOV DL,YMOV AH,02H INT 21H 3、写出下列程序段的运行结果MOV CH,4 MOV BX,0AB78H ROTATE:MOV CL,4 ROL BX,CL MOV AL,BL AND AL,OFH ADD AL,30H CMP AL,3AH JL PRINTIT ADD AL,7H PRINTIT:MOV DL,AL MOV AH,2 INT 21H
6、 DEC CH JNZ ROTATE RET 五、编写完整的程序:1、编写一程序,计算1+2+3+.+100,把结果存放在变量S 中。2、编写一完整的程序,把两个数组中的元素对应相加,放到第三个数组中。每个数组都有十个元素。4 汇编语言程序设计复习题答案一、选择题1-5 ABAAC 6-9 CADD 二、填空题1、FFFFH 或 65536 2、在保护中断现场时,除了保护返回地址CS:IP 之外,中断还保存了标志寄存器的内容,而子程序调用只保存了返回地址CS:IP 3、AX、BX、CX、DX、SP、BP、SI、DI IP、SP、FLAGS IP 4、立即寻址、寄存器寻址、直接寻址、寄存器间接寻
7、址、寄存器相对寻址、基址变址寻址、相对基址变址寻址5、表格的首地址相对与表格首地址的位移量AL 6、DX,AX DX存放高位字,AX存放低位字7、AL 的内容符号扩展到AH,形成 AX中的字8、把汇编语言程序翻译成机器语言程序9、0AH 73H 1 0 1 三、简答题1、非屏蔽中断硬件中断可屏蔽中断中断中断指令INT 引起的终端软件中断由于 CPU的某些错误而引起的中断为调试程序(DEBUG)设置的中断2、伪指令是由汇编程序在汇编过程中执行的指令。它既不控制机器的操作也不被汇编成机器代码,只能为汇编程序所识别并指导汇编如何进行。3、5 四、阅读下列程序1、指令 AX CF SF ZF OF M
8、OV AX,0 0000H DEC AX FFFFH 1 0 0 ADD AX,2 0001H 1 0 0 0 NOT AX FFFEH ADD AX,8000H 7FFEH 1 0 0 1 SUB AX,1 7FFDH 0 0 0 0 AND AX,1 0001H 0 0 0 0 SAL AX,1 0002H 0 0 0 0 SAR AX,1 0001H 0 0 0 0 ROR AX,1 8000H 1 1 2、从键盘接收一个字符,判断是否是大写字母,若是则输出“Y”,若不是则循环读键盘。3、显示输出 AB78 五、编写完整的程序1、datarea segment s dw?datarea
9、ends prognam segment main proc far assumecs:prognam,ds:datarea start:push ds sub ax,ax push ax mov ax,datarea mov ds,ax mov bx,100d mov s,0 next:add s,bx dec bx cmp bx,0 jnz next mov ch,4 rotate:mov cl,4 rol s,cl mov bx,s mov al,bl and al,0fh add al,30h cmp al,3ah jl printit add al,7h printit:mov dl
10、,al mov ah,2 int 21h dec ch jnz rotate ret main endp prognam ends end start 6 2、datarea segment x dw 0,1,2,3,4,5,6,7,8,9 y dw 9,8,7,6,5,4,3,2,1,0 z dw 10 dup(?)datarea ends prognam segment main proc far assume cs:prognam,ds:datarea start:push ds sub ax,ax push ax mov ax,datarea mov ds,ax mov bx,0 mov ch,0ah next:mov ax,0 mov ax,xbx add ax,ybx mov zbx,ax;mov dl,zbx;mov ah,2;int 21h add bx,2 dec ch jnz next ret main endp prognam ends end start