汇编程序习题
(完整版)汇编语言复习题

汇编语言程序设计复习题一、单项选择题1.假设(AL)=0FFH依次执行ADD AL,0FH指令后,标志位ZF和SF的状态分别为(A )A. 0和0B. 0和1C. 1和0D. 1和12.假设V AR为变量,指令MOV BX,V AR 的寻址方式是( A )A.直接寻址B.间接寻址C.立即寻址D.存储器寻址3.下列指令中,不影响标志位的是( C )A.SUB BX,BX B.ROR AL,1 C.JNC Lable D.AND AL,CL4.假定(DS)=4000H,(DI)=0100H,(40100H)=55H,(40101H)=0AAH,试问执行指令MOV BX,[DI]后,(BX)= ( C )A.0100H B.55AAHC.AA55H D.4100H5.执行下列哪一条指令后,就能用条件转移指令判断AL和BL寄存器中的最高位是否相同?(D )A. TEST AL BLB. CMP AL BLC. AND AL BLD. XOR AL BL 6.堆栈中当前出栈的存储单元地址是(A )A. SS*10H+SPB. SS*10H+BPC. SS*10+SPD. SS*10+BP7.已知V AR DW l,2,$+2,5,6 若汇编时V AR分配的偏移地址是0010H,则汇编后0014H单元的内容是( D )A.6H B.14H C.5H D.16H8.循环控制指令REPNZ继续执行循环的条件是(B )A. CX≠0且ZF=1B. CX≠0且ZF=0C. CX≠0或ZF=1D. CX≠0或ZF=09.设NUM=11011011B,指令“MOV AL,NUM SHL 3”执行后AL中的值是(B )A.11011011000BB.11011000BC.00011011BD.00011011011B10.下面XCHG指令语句中,语法正确的是(B)A. XCHG AX,DSB. XCHG BL,[BX]C. XCHG AL,OFHD. XCHG [SI],[DI]11.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是( A )A。
习题(汇编语言)

一、单项选择/填空1.如果指令的运算结果为0,则标志位A.CF=1 B.OF=1 C.SF=1 D.ZF=11.8086CPU中,指令指针寄存器是A.BP B.IP C.SP D.PSW2.设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,[BX]的源操作数的物理地址为A.13000H B.23000H C.33000H D.3000H2.设DS=2000H,ES=3000H,SI=200H,指令MOV ES:[SI],AL的目的操作数的物理地址为A.20200H B.30200H C.50200H D.200H3.设SP寄存器的内容为1352H,AX寄存器的内容为1200H,执行指令“PUSH AX”后,SP寄存器的内容为A.1200H B.1350H C.1352H D.1354H3.已知SP=2110H,执行指令“POP AX”后,SP寄存器的值为A.210EH B.210FH C.2111H D.2112H4.下列四条指令中,错误的...指令是A.MOV BX,[SI]B.MOV[BX], [SI]C.MOV DS,AX D.MOV AX, [BX]4.顺序执行PUSH AX和POP BX两条指令,其功能等同于A.MOV BX,AX B.MOV AX,BXC.XCHG AX,BX D.XCHG BX,AX5.指令“MOV AX,[BX]”中,源操作数的默认段寄存器是A.SS B.ES C.DS D.CS5.下列寄存器中用来指示堆栈中任意数据区的偏移地址的是A.BX B.BP C.SI D.DI6.执行“DIV BX”指令后,商存放在寄存器A.AL中B.AH中C.AX中D.DX中6.若DS=1000H,BX=2000H,(12000H)=56H,(12001H)=78H,AX=1000H,执行“ADD AX,[BX]”指令后,AX=A.8856H B.6678H C.8800H D.6600H7.设AL=57H,BL=24H,执行指令SUB AL,BL后,寄存器内容为()A.AL=57H,BL=24H B.AL=33H,BL=24HC.AL=57H,BL=33H D.AL=33H,BL=07.设AL=67H,执行“CMP AL,76H”后,AL=A.76H B.0DFH C.67H D.008.下列指令执行后,AL寄存器的值保持不变的是A.ADD AL,01H B.ADC AL,01HC.CMP AL,0lH D.SUB AL,01H9.若AX=1000H,执行“NEG AX”指令后,AX=A.1000H B.0E000H C.0F000H D.1001H9.若AX=-15要得到AX=15应执行的指令是()A.NEG AX B.NOT AX C.INC AX D.DEC AX10.指令“XOR AX,AX”执行后,AX中的内容是()A.00H B.11H C.0EEH D.0FFH10.设AL寄存器的初值为90H,指令“OR AL,09H”执行后,AL中的内容是()A.09H B.90H C.99H D.0FFH11.设AL的内容为0BEH,执行指令“SHR AL,01H”后,AL的内容为()A.5FH B.7CH C.0BEH D.0DFH11.设AX=3762H,CL=5,执行“SHR AX,CL”后,AX=A.0376H B.01BBH C.01BB D.037612.条件转移指令JB产生转移的条件是A.CF=0 B.CF=l C.OF=0 D.OF=112.条件转移指令“JE LOPl”的转移条件是A.OF=0 B.OF=1 C.ZF=0 D.ZF=113.下列指令执行后,能使(BX)=0,同时也使CF=0、OF=0的指令是()A.OR BX,BX B.XOR BX,BXC.AND BX,BX D.TEST BX,0FFFFH14.指令“MOV CL,55H XOR 0F0H”执行后,CL中的值是()A.05H B.50H C.0A5H D.0F5H14.DB1 DB 8 DUP(2 DUP(3),3 DUP(2))┇MOV AX,WORD PTR DB1 [04H]上面指令执行后,AX的内容是A.0302H B.0203H C.0202H D.0303H15.表示过程定义结束的伪指令是A.ENDP B.ENDS C.END D.ENDM15.已知SP=12EH,执行段间返回指令RET后,SP的值是A.12AHB.12CHC.130HD.132H.16. 填空1)已知(DS)=4000H,(AX)=2060H,(BX)=3000H,(SI)=2060H,(43000H)=0A006H,执行AND AL,[BX] 后,(AL)= ,(ZF)= ,(PF)= ,(SF)= 。
汇编语言程序设计

03《汇编语言程序设计》(总20页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--《汇编语言程序设计》习题答案一、单项选择题(本大题共170小题,每小题2分)1、在汇编语言程序中,对 END 语句的叙述正确的是( C )。
A、END 语句是一可执行语句B、END 语句表示程序执行到此结束C、END 语句表示源程序到此结束D、END 语句在汇编后要产生机器码2、将 DX 的内容除以 2,正确的指令是( C )A、DIV 2B、DIV DX,2C、SAR DX,1D、SHL DX,13、下列数值表达式和地址表达式中,错误的是( D )。
A、MOV AL,8*14+4B、MOV SI,OFFSET BUF+13C、MOV CX,NUM2-NUM1D、MOV CX,NUM2+NUM14、用来存放下一条将要执行的指令地址的寄存器是 ( B )A、SPB、IPC、BPD、CS5、要使串处理从低地址向高地址进行,应把标志位置为 ( D )A、IF=1B、TF=0C、DF=1D、DF=06、设SS=2050H,SP=0140H,则栈顶存贮单元的物理地址是( A )A、20640HB、2063EHC、2063FHD、21900H7、十进制数269变换为十六进制数是( C )。
A、10BB、10CC、10DD、10E8、8位的微型计算机系统是以16位来表示地址,则该微机系统有( C )个地址空间。
A、255B、65535C、65536D、10485769、8位有符号二进制数能表示的最大十进制数是( D )。
A、256B、255C、128D、12710、十六进制数88H,可表示成下面几种形式,请找出错误的表示( D )。
A、无符号十进制数136B、带符号十进制数-120C、压缩型BCD十进制数88D、8位二进制数-8的补码表示11、有一个数值152,它与十六进制数6A相等,那么该数值是( B )。
汇编习题——精选推荐

汇编习题汇编习题⼀选择题1.指令JMP FAR PTR DONE属于参考答案为:CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址[解析]略2.⼀个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末⼀个字单元的物理地址是参考答案为:CA.12CSBHB.12B6BHC.12C59HD.12BFEH[解析]末字与⾸字相隔(128-1=)127个字,且每个字占⽤2个字节,因此末字单元的物理地址应为:⾸字单元的物理地址+(128-1)×2即12ABH×10H+00ABH+(128-1)×2=12C59H。
3.在下列指令的表⽰中,不正确的是参考答案为: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中,没有指出存储器操作数类型,所以该指令是不正确的;⽽其它选项中的指令均是正确的。
4. 条件转移指令JNE的测试条件为参考答案为:AA.ZF=0B.CF=0C.ZF=1D.CF=1[解析]略。
5. 8086CPU在基址加变址的寻址⽅式中,变址寄存器可以为参考答案为:DA.BX或CXC.DX或SID.SI或DI[解析]略6. 已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在()中。
参考答案为:AA.数据段中偏移量为3236H的字节B.附加段中偏移量为3234H的字节C.数据段中偏移量为3234H的字节D.附加段中偏移量为3236H的字节[解析]指令中的源操作数的寻址⽅式是相对基址变址寻址,且由于其中的基址寄存器采⽤的是BX,所以源操作数是在数据段中,其偏移量为:BX+SI+2=2000H+1234H+2=3236H7. 在程序执⾏过程中,IP寄存器中始终保存的是参考答案为:BA.上⼀条指令的⾸地址B.下⼀条指令的⾸地址C.正在执⾏指令的⾸地址D.需计算有效地址后才能确定地址[解析]在程序运⾏过程中,它始终指向下⼀条指令的⾸地址,它与CS代码段寄存器联合确定下⼀条指令的物理地址。
汇编习题——精选推荐

汇编习题填空题1.在寻址⽅式中,可作基址寄存器的有__________、_________。
BX,BP2.累加器专⽤传送指令IN间接访问I/O端⼝,端⼝号地址范围为__________。
0-655353.指令MOV AX,[DI-4]中源操作数的寻址⽅式是______________。
寄存器相对寻址⽅式(相对寄存器寻址⽅式)选择题1.8086中8位算术运算指令执⾏后,结果为10010001B,则ZF和SF标志位的值为_A_____。
A)ZF=0 SF=1 B)ZF=0 SF=0 C)ZF=1 SF=1 D)ZF=0 SF不确定2.可以充当端⼝指针的寄存器是_______D____。
A) BX B) DI C) SI D) DX3.在指令MOV ES:[SI],AX 中,⽬的操作数为___D____寻址⽅式。
A)寄存器 B)直接 C)基址变址 D)寄存器间接简答题1.写出6种常⽤的寻址⽅式。
⽴即寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址2.在⽆超越说明时,通⽤数据读写、⽬的数据串、源数据串、堆栈操作和取指令操作分别⾃动选择哪些段寄存器搭配产⽣物理地址?通⽤数据读写⾃动选择数据段寄存器(DS)⽬的数据串⾃动选择附加数据段寄存器(ES)源数据串⾃动选择数据段寄存器(DS)堆栈操作⾃动选择堆栈段寄存器(SS)取指令操作⾃动选择代码段寄存器(CS)3.什么叫寻址⽅式?常⽤的寻址⽅式有哪些?指令中获取操作数或操作数地址的⽅法。
常⽤的寻址⽅式有:⽴即寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址等。
4.IBM-PC有哪些寄存器可⽤来指⽰存储器的地址?SP、BP、SI、DI、IP、BX、ES、DS、CS、SS填空题1.已知(BX)=2000H,(DI)=3000H,(SS)=4000H,(DS)=6000H,(SS)=5000H,66000H单元的内容为28H,则指令MOV AL,[BX+DI+1000H]的执⾏结果是_______________。
汇编语言程序设计习题

1.假设字节单元(06925H)=12H,(06926H)=45H,(06927H)=78H,那么字单元(06925H)= C ,字单元(06926H)= D 。
a. 1245Hb. 4578Hc. 4512Hd. 7845H2.逻辑运算指令都是按A进行操作的,指令执行后只设置标志位,不保留结果的逻辑运算指令是H。
a. 位b. 字节c. 字d. BCD码e. ANDf. ORg. XORh. TEST3.和指令AND AL,55 AND 0F0H 等效的指令是,和MOV BX,0FH EQ 1111B等效的指令是。
a. AND AL,55Hb. AND AL,0F5Hc. AND AL,50Hd. AND AL,0F0He. MOV BX,0000Hf. MOV BX,0FHg. MOV BX,0FFHh. MOV BX,0FFFFH4.过程定义开始的伪指令是 C 。
宏定义结束的伪指令是G 。
a. SEGMENTb. MACROc. PROCd. ASSUMEe. ENDf. ENDSg. ENDMh. ENDP5.将数据37H定义为字节变量X1的语句是 A,数据37H定义为字变量X2的语句是 D 。
a. X1 DB 37b. X2 DB 37c. X1 DW 37Hd. X2 DW 37He. X1 DB 37H g. X2 DB 37H6.互换指令XCHG可以在两个寄存器之间互换数据,也可以在 A 与 C 之间互换数据。
a. 寄存器b. 立即数c. 存储单元d. 堆栈7.对程序流向的控制和转移,就是对执行指令地址的修改。
如在同一段内偏移,则修改 A ,如在两个段之间转移,则修改 C 。
a. IPb. CSc. CS和IPd. CS或IP1.8088/8086 CPU内部共有14个寄存器,其中有8个通用寄存器、2个变址寄存器、4个段寄存器。
2.8088/8086 CPU有7种数据寻址方式,其中采用寄存器寻址方式的指令执行速度最快。
(汇编语言)练习题

(汇编语言)练习题【一】填空题〔每题0.5分,共10分〕1、26.25D= B= O= H2、-56D的原码为 B,反码为 B,补码为 B。
3、0C51H的反码为 B,补码为 B。
4、十进制数87的压缩BCD码为 B,非压缩BCD码为 B。
6、设〔BX〕=1000H,〔DI〕=0010H,〔DS〕=2100H,在指令MOV AX,[BX+DI]中,源操作7、设BUF为数据段0234H单元的符号名,其中存放的内容为3456H。
写出以下指令单独执行后的结果。
〔1〕MOVAX,BUF〔AX〕=〔2〕LEAAX,BUF〔AX〕=8、子程序的参数传递方法包括、、。
9、实模式下存储器的20位物理地址由加形成。
【二】选择题〔每题1分,共10分〕1、以下通用数据传送指令的几种传送中,错误的传送方式是()。
A、从累加器到存储器B、马上数到存储器C、从寄存器到存储器D、从存储器到存储器2、使进位位置1的指令是()。
A、CLCB、CMCC、STCD、NOP3、设AL,BL中基本上有符号数,当AL<=BL时转至NEXT处,在CMPAL,BL指令后,应选用正确的条件转移指令是()。
A、JBEB、JNGC、JNAD、JNLE4、指令LOOPZ的循环执行条件是()。
A、CX<>0同时ZF=0B、CX<>0或ZF=0C、CX<>0同时ZF=1D、CX<>0或ZF=15、以下合法的变量名称是〔〕。
A、9BUFB、ADDC、BUF9D、ASSUME6、一条指令中目的操作数不同意使用的寻址方式是()。
A、寄存器寻址B、马上数寻址C、变址寻址D、寄存器间接寻址7、DOS的功能调用号必须送〔〕寄存器。
A、DLB、DHC、ALD、AH8、在实模式下,存储器治理采纳分段模式,每段大小可达〔〕。
A、64MB、1MC、64KD、16字节9、用来存放下一条将要执行的指令地址的寄存器是()。
A、SPB、IPC、BPD、CS10、要使串操作从低地址向高地址进行,应把标志位设置为()。
汇编语言程序设计复习题

围内。( )
A. -126~129
B. -128~127
C. -127~128 D. -129~126
23. 在循环次数已知的情况下,采用哪种方法控制循环程
序最方便。( )
A. 正计数法
B. 倒计数法
C. 寄存器终值法 D. 条件控制法
24. 当CX=0时,REP MOVSB执行的次数为。 ( )
A. 1次
3. 下面的子程序不完整,将它补充完整。
子程序的说明文件如下:
子程序名:FMAX
子程序功能: 从一组带符号的字节数据中找一个最大数
入口条件: DS:SI=数据的首地址, CX=数据的个数
出口条件: AL=最大数
FMAX PROC
FMAX1: MOV AL,[SI]
FMAX2: INC SI
DEC CX
A. BX的内容
B. SP+BX之和
B. IP+[BX]之和 D. BX指出的内存单元之内容
15.A≥B时转移的转移指令为(A、B为带符号数) ( )
A. JA
B. JAE
C. JG
D. JGE
16. 已知X,Y为带符号数, 两数比较后, 欲判断X≤Y发生
转移, 应使用指令 ( )
A. JBE
B. JL
B. 0,1
C. 1,0
D. 1,1
19. 条 件 转 移 指 令 的 转 移 目 标 距 该 指 令 的 距 离 范 围 为
()
A. -128~127
B. -126~129
C. -130~125
D. -127~128
20. NEXT是程序中标号,下述哪个程序段不能实现转移到
NEXT•语句执行 ( )
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编程序习题
1.试分析以下程序段完成什么功能?
MOV CL,4
SHL DX,CL
SHL AX,CL
SHR BL,CL
INT 3
2.写出执行以下计算的指令序列:
1)Z←W+(Z-X)2)Z←W-(X+6)-(R+10)
3)Z←(W*X)/(R+6)4)Z←((W-X)/5*Y)*2
3.求两个数56H和67H进行ADD,并求出标志OF,CF,SF,ZF的值。
4.阅读程序段,回答下述问题:
1)MOV AX,4000H 2)MOV AX,5678H 3)MOV AX,1234H
OV DS,AX MOV BX,99AAH MOV CX,8912H
MOV BX,1238H PUSH BX CMP AX,CX
MOV〔BX〕,2244H PUSH AX INT 3
MOV AL,〔BX〕 POP DX SF=?OF=?JA成立否?
INT 3 POP CX
AL=?存储器的物理地址=?DX=?CX=?
5.下列程序能完成什么功能?
DATY1 DB 300DUP(?)
DATY2 DB 100DUP(?)
……
MOV CX,100
MOV BX,200
MOV SI,0
MOV DI,0
NEXT:MOV AL,DATY1〔BX〕〔SI〕
MOV DATY2〔DI〕,AL
INC SI
INC DI
LOOP NEXT
6.下列指令哪些是错误的?并简述之。
1)MOV 15,BX
2)CMP OP1,OP2(假定OP1,OP2是用DB定义的变量)
3)CMP AX,OP1
4)CMP OP1,25H
5)MOV DS,CS
7.下列程序段执行后,BX的值是什么?
MOV CL,3
MOV BX,0B8H
ROL BX,1
ROR BX,CL
8.编写一个程序段,将内存200H单元开始的256个单元的内容,取绝对值后传送到400H开始的256个单元中。
9.求出下列各数与62A0H之和,并根据结果确定SF,ZF,CF,OF的值。
1)1234H 2)4321H 3)CFA0H 4)9D60H
10.求出下列各数与4AE0H之差,并根据结果确定SF,ZF,CF,OF的值。
1)1234H 2)5D80H 3)9090H 4)EA04H
第二章练习题答案
1.程序段使DX×16,AX×16,BL÷16
3.和为BDH OF=1 CF=0 SF=1 ZF=0
4.①AL=44H,存储器的物理地址=41238.
②DX=5678H,CX=99AAH
③SF=1,OF=1,JA不成立。
5.数据块从变量DATY1+200的单元,共100个单元的内容传送到DATY2开始的100个单元中,相当于DEBUG中M功能。
6.①错误,15不能作目的操作数。
②错误,两个存储器操作数不能比。
③错误,类型不匹排,AX应改为AL。
④错误,存储器操作数不能与立即数比较。
⑤错误,段寄存器不能互相传送。
7.程序段执行后,BX的值为002EH。
8.MOV CX,100H
MOV SI,200H
MOV BX,400H
LP:MOV AL,〔SI〕
TEST AL,80H
JZ NEXT
NEG AL
NEXT:MOV 〔BX〕,AL
INC SI
INC BX
LOOP LP
INT 3
9.①1234H+62A0H=74D4H,SF=0,ZF=0,CF=0,OF=0
②14321H+62A0H=A5C1H,SF=1,ZF=0,CF=0,OF=1
③ CFA0H+62A0H=3240H,SF=0,ZF=0,CF=1,OF=0
④9D60H+62A0H=0000H,SF=0,ZF=1,CF=1,OF=0。