汇编语言程序设计题库.doc_第1页
汇编语言程序设计题库.doc_第2页
汇编语言程序设计题库.doc_第3页
汇编语言程序设计题库.doc_第4页
汇编语言程序设计题库.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汇编语言程序设计题库1 选择题(100选20个每个1,共20分)1. 1个CPU的寻址能力为8KB,那么它的地址总线的宽度为 A. 10 B.11 C.12 D.132. 在存储器中,数据和程序以 形式存放。A.二进制 B.十进制 C.八进制 D.十六进制3. CPU要访问的某一存储单元的实际地址称 A.段地址 B.偏移地址 C.物理地址 D.逻辑地址4. 某存储单元的物理地址是12345H,可以作为它的段地址的有 A.2345H B.12345H C.12340H D.1234H5. 设物理地址(21000H)20H ,(21001H)30H,(21002H)40H。如果从地址21001H中取出一个字的内容是 A. 2030H B.3040H C.3020H D.4030H6.在实模式下,段地址和偏移地址为3017:000A的存储单元的物理地址为( )A. 3017BH B. 30170H C. 3017AH D. 30210H7.在DEBUG工具中,单步执行指令的命令是( )。A. G B. D C. T D. R8. 在DEBUG工具中,显示寄存器内容的命令是( )。 A. G B. D C. T D. R9若栈顶的物理地址为20100H,当执行完指令PUSH AX后,栈顶的物理地址为 ( )。 A. 20098H B. 20102H C. 200FEH D. 20100H10若栈顶的物理地址为20100H,当执行完指令POP AX后,栈顶的物理地址为 ( )。 A. 20098H B. 20102H C. 200FEH D. 20100H11.如代数据段名为DATA_SEG,它的起始地址为20A00H,对数据段寄存器DS赋值段地址值的方法是( )。 A. MOV DS,20A0H B. ASSUME DS:DATA_SEG C. DATA_SEG SEGMENT D. MOV AX,DATA_SEG MOV DS,AX12执行PUSH BP指令时,源的操作数的物理地址表达式是( )A16*SS+BP B16*DS+BP C16*CS+IP D16*SS+SP13.用户为了解决自己的问题,用汇编语言所编写的程序,称为( )A目标程序 B源程序 C可执行程序 D汇编程序14.已知AX=8065H,BX=103AH,则指令ADD BL,AL执行后,OF和CF的值分别为 ( )。A. 0,0 B. 0,1 C. 1,0 D. 1,115. 当CX=0时,REP MOVSB执行的次数为。 ( )A. 1次 B. 0次 C. 25535次 D. 25536次16.条件转移指令JB产生程序转移的条件是( )ACF=1 BCF=0 CCF=1和ZF=1 DCF=1和ZF=017.设AL=20H,SI=0500H,DS=3000H,(30500H)=0C0H,CF=1。执行SBB AL,SI后,正确的结果是( )AAL=5FH SF=1 CF=1 BAL=60H SF=1 CF=0CAL=5FH SF=0 CF=1 DAL=60H SF=0 CF=018.执行下列指令序列后,正确的结果是( ) MOV AL,81H ADD AL,AL ADC AL,ALA.AL=05H B.AL=204H C.AL=04H D.AL=205H19.串操作指令中,源串操作数的段地址一定在( )寄存器中。 A. CS B. SS C. DS D. ES20下列指令中,不影响PSW的指令是( )。 A. MOV B. ADD C. OR D. SBB21. 设SP=1FFEH,执行下列指令后,SP寄存器的值是( )。 POPFPUSH AXA. 2000H B. 2002H C. 1FFCH D. 1FFEH22比较两个带符号的数A、B,当A=B时程序转移,测试的条件为( )AZF=1 BZF=0 CSF=1 DSF=023检查二个无符号数的关系,若要实现ALBL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是( )AJNC LOP1 BJA LOP1 CJC LOP1 DJGE LOP1 24.执行下列指令后AL寄存器中的值是( )MOV AL, 0BFHAND AL, 0FCHA.0BCH B. 0ACH C. 0DCH D. 0BBH25.若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=( )。 A. 1400H B. 77F8H C. 0000H D. 0FFFFH26.指令MOV AX,2000H的寻址方式为 ( )。 A. 基址寻址 B. 寄存器间接寻址 C.变址寻址 D.存储器直接寻址27.指令MOV AX,SI+2000H的寻址方式为 ( )。 A. 基址寻址 B. 寄存器间接寻址 C.变址寻址 D.直接寻址28.可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是( )AAX,BX,CX,DXBDS,ES,CS,SSCSP,BP,IP,BXDSI,DI,BP,BX29.下面语句中有语法错误的语句是( )A.DB 45HB.DW OABCDHC.DW ABCDD.DD AB30.有定义NUM DB 12345 ,汇编后,NUM占有( )字节存储单元。A.1 B.5 C.6 D.731.BUF DW 10H DUP(3 DUP(2,10H),3,5)语句汇编后,为变量BUF分配的存储单元字节数是( ) A.80H B.100H C.124 D.19232已知BX=2000H,SI=1234H,则指令MOV AX,BX+SI+2的源操作在 ( )中。A数据段中偏移量为3236H的字节 B附加段中偏移量为3234H的字节 C数据段中偏移量为3234H的字节 D附加段中偏移量为3236H的字节33DA1 DW AB,CD,EF,GH MOV AX,DA1+5 指令执行后AX中的内容是( ) AGF BHE CFG DGH 34.已知(DS)=2000H,(BX)=1256H,(SI)=528FH,则执行指令JMP BX后,IP寄存器的内容是( )。A. 1256H B. 2000H C. 3256H D. 528FH35指令JMP FAR PTR DONE属于( )。A.段内转移直接寻址 B.段内转移间接寻址C.段间转移直接寻址 D.段间转移间接寻址36.有指令MOV AX, 1234H,指令中的立即数1234H是存储在( )。 A.数据段 B.代码段 C.附加段 D.堆栈段37当程序顺序执行时,每取一条指令语句,IP指针增加的值是( )。 A1 B2 C3 D由指令长度决定的38下列属于合法的指令是( ) AMOV DS,ES BMOV SI,DI CMOV AX,BL DMOV DI,BL39.在汇编语言程序中,对END语句的叙述正确的是( )。AEND语句是一可执行语句 BEND语句表示程序执行到此结束 CEND语句表示源程序到此结束 DEND语句在汇编后要产生机器码40.下面是关于汇编语言程序中使用RET的描述,不正确的是( )。A每一个子程序中允许有多条RET指令。B每一个子程序结束之前一定要有一条RET指令。C每一个子程序中只允许有一条RET指令。D以过程形式表示的代码段,一定有RET指令存在。2 填空题(50选10,每空一分,共10分)1. 给定段地址为1000H,仅通过偏移地址寻址,CPU的寻址范围为: 2. 有一数据存放在内存20000H中,现给定段地址为SA,若想用偏移地址寻到此单元,则SA应该满足的条件是:最小为: ,最大为: 3.8位无符号整数的表示范围为0-255,写成16进制形式为 ,8位有符号整数的表示范围为-128-+127,写成16进制形式为 4.汇编语言中用EDIT建立的原程序文件扩展名为 ,用MASM汇编之后生成的目标文件扩展名为 ,然后经LINK连接之后可转换为扩展名为 的可执行文件。5.MOV指令中目的操作数不能为 , ;而且除源操作数为立即数外,两操作数必须有一个是 ,也就是MOV指令不允许在两个 之间直接传送数据。6.DB指令以 为单位分配存贮;DD指令以_ 为单位分配存贮。7.设(CS)=25FFH,(DS)=2140H,(SS)=2510H,(BP)=02D0H,(SI)=0010H,(DI)=0206H,则(1)指令MOV AX,BP+SI+2的源操作数有效地址为 物理地址为 .(2)指令MOV AX,DI+100H的源操作数有效地址为 物理地址为 .8.设(AX)=1000H,(BX)=2340H,则在执行了指令CMP AX,BX后,CF标志值为 ,ZF标志值为 。9.8086/8088存储器分四个段,这四个段的段名所对应的段寄存器分别是_、_、_、_。10.现有AX=2000H,BX=1200H,DS=3000H,DI=0002H,(31200H)=50H,(31201H)=02H,(31202H)=40H,请写出下列各条指令独立执行完后有关寄存器及存储单元的内容,并指出标志位ZF、CF的值。A. ADD AX,1200H;问AX=_H,ZF=_。B. SUB AX,BX;问AX=_ H,ZF=_。C. MOV AX,BX;问AX=_H,CF=_。11.设DS=2200H,BX=1000H,SI=0100H,偏移量D=0A2B1H,试计算出下列各种寻址方式下的有效地址(偏移地址),填入后面横线上。 A.使用D的直接寻址: 。 B.使用BX的寄存器间接寻址: 。 C.使用BX和D的寄存器相对寻址: 。 D.使用BX、SI和D的相对基址变址寻址: 。 E.使用BX、SI的基址变址寻址: 。12若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,(SI+COUNT)中,源操作数的有效地址EA为_ _,其物理地址为_ _。13 CPU的标志寄存器中标志位,可以分为两大类,其中一类称为_ _标志位,另一类称为_ _标志位。14 当标志位 _=1时表示无符号数运算产生溢出,而当标志位_=1是表示带符号数运算产生溢出。15.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是_ _,而后两个字节存放的是 _。16若源程序从标号START开始执行,源程序结束伪指令为_ _。17.在寄存器间接寻址中,如果指令中指定的寄存器为BP,则操作数在 段中,段地址在 寄存器中。18.注释项用于说明程序段或是一条和几条指令的功能,一般用 表示注释的开始。19.通常主程序和子程序间参数传送的方法有三种: 、 、 。20.在字符串操作指令中,DS 指向源串,ES 指向目的串。21.重复前缀指令REP的重复次数由 决定。22.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是 。23.根据转移指令对IP的修改范围不同,段内转移又可分为短转移和近转移,短转移IP的修改范围为 近转移IP的修改范围为 3 简答题1.已知:BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。(1)MOV AL,BX(2)MOV CS:BX+DI,AH2.下列语句在存储器中分别为变量分配多少字节?(1)AD2 DW 10 DUP(?)(2)AD3 DD 100 DUP(?)3.简述下面两条指令分别是什么语法错误?MOV BX,SI MOV AX,DL4.分别指出下列指令中源操作数的寻址方式:(1) MOV SI,100(2) MOV CX,DATASI(3) MOV SI,AX(4) ADD AX,BXDI(5) MOV AX,DATABXSI5.请写出下列指令中存贮器操作数的物理地址表达式。MOV AX,20HBXSI ADD CS:DI,26H 6.在指令系统中,段内、段间返回分别为RET和RETF指令。试回答:(1)执行段内返回RET指令时,执行的操作是:(2)执行段间返回RETF指令时,执行的操作是:7.写出完成下述功能的程序段:(1)传送25H到AL寄存器 (2)传送15H到BL寄存器(3)AL的内容乘以BL的内容并请写出最后(AX)=?8.在某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息,在子程序结束时要恢复这四个寄存器信息。例如: PUSH AX PUSH BX 保护现场 PUSH CX / PUSH DX/ 恢复现场 试写出恢复现场时的指令序列。 9.8086CPU的寻址方式有哪些?10.进位标志CF和溢出标志OF的区别?4 程序分析题(30选6,每题5份,共30分)1.A DW 1234H B DW 5678H PUSH A PUSH B POP A POP B 试回答: 上述程序段执行后(A),(B)设执行前SP200H,执行后SP 2.已知数据段中定义DAT1 DB 12H,34H,56H,78HMOV CX,0MOV AX,WORD PTR DAT1MOV CL,DAT1+3 当程序段执行完后AX=_ _,CX=_ _。3.执行下列指令后,AX寄存器中的内容是什么?(6分)TABLE DW 10H,20H,30H,40H,50H,60H,70H,80HENTRY DW 5MOV BX, OFFSET TABLEADD BX, ENTRYMOV AX, BX4.画图说明下列语句所分配的存储空间及初始化的数据值。WORD_VAR DW 2 DUP(1,2),56H,OK,TE,1FFH其中O,K,T,E的ASCII码分别为:4FH,4BH,54H,45H5.下面的程序实现依次用内存0:00:15单元中的内容改写程序中的数据,完成程序:assume cs:codesg codesg segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h start: mov ax,0 mov ds,ax mov bx,0 mov cx,8 s: mov ax,bx add bx,2 loop s mov ax,4c00h int 21h codesg ends end start6.下面的程序执行后,ax中的数值为多少?assume cs:codestack segmentdw 8 dup (0)stack endscode segmentstart:mov ax,stackmov ss,axmov sp,16mov ds,axmov ax,0call word ptr ds:0ehinc axinc axinc axmov ax,4c00hint 21hcode endsend start7. 补全程序,使用jmp指令执行后,CS:IP指向程序的第一条指令。assume cs:codedata segment dd 12345678hdata endscode segment start: mov ax,data mov ds,ax mov bx,0 mov bx, mov bx+2, jmp dword ptr ds:0code endsend start补全程序,使用jmp指令执行后,CS:IP指向程序的第一条指令。8.用Debug查看内存,结果如下:2000:1000 BE 00 06 00 00 00 .则此时,CPU执行指令:mov ax,2000hmov es,axjmp dword ptr es:1000h后,(cs)= ,(ip)= 9.补全程序,实现从内存1000:0000处开始执行指令。assume cs:codestack segmentdb 16 dup (0)stack endscode segmentstart:mov ax,stackmov ss,axmov sp,16mov ax, push axmov ax, push axretfcode endsend start10. 补全编程,利用loop指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。assume cs:code code segment start: mov ax,2000h mov ds,ax mov bx,0 s:mov cl,bx mov ch,0 inc bx loop s ok:dec bx mov dx,bx mov ax,4c00h int 21h code ends end start11.补全编程,利用jcxz指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。assume cs:codecode segment start: mov ax,2000h mov ds,ax mov bx,0 s: jmp short s ok: mov dx,bx mov ax ,4c00h int 21hcode endsend start5 程序题(10选2个,每个10分,共20分)1. 将datasg段中每个单词改写为大写字母assume cs:codesg, ds:datasgdatasg segmentdb ibmdb decdb dosdb vaxdataseg ends2. 将datasg段中每个单词的头一个字母改为大写字母assume cs:codesg, ds:datasgdatasg segmentdb 1.filedb 2.editdb 3.searchdb 4.optionsdb 5.helpdataseg ends3. 编程,计算data段中第一组数据的3次方,结果保存在后面一组dword单元中。4. 编程,统计data段中数据为8的字节的个数,用ax保存统计结果data segmentdb 8,11,8,1,8,5,63,38data ends5. 编程,统计data段中数据大于8的字节的个数,用ax保存统计结果data segmentdb 8,11,8,1,8,5,63,38data ends6. 编写一个子程序,对两个128位数据进行相加。名称:add128功能:两个128位数据进行相加参数:ds:si指向存储第一个数的内存空间,数据有128位,需要8个字单元,由低地址单元到高地址单元依次存放128位数据由低到高的各个字。ds:di指向存储第二个数的内存空间。运算结果存储在第一个数的存储空间中。答案:一、选择题1.D 2.A 3.C 4.D 5.D 6.C 7.C 8.D 9.C 10.C 11.D 12.A 13.B 14.C 15.B 16.D 17.C 18.A 19.C 20.A 21.D 22.A 23.C 24.A 25.A 26.D 27.C 28.D 29.C 30.B 31.A 32.A 33.B 34.A 35.C 36.B 37.D 38.D 39.C 40.C二、填空题1.10000H-1FFFFH2.1001H 2000H3.0-FFH 80H-7FH4.ASM OBJ EXE5.立即数 CS 寄存器 存储单元6.字节 4字节(或双字)7.02E2H 253E2H 0306H 21706H8.1 0 9.CS DS ES SS10.3200H 0E00H 0 0250H 不影响11.0A2B1H 1000H 0B2B1H 0B3B1H 1100H12. 20A8H 11488H13.状态 控制14.cf of15.ip cs16.END START17.堆栈 SS18.;(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论