汇编程序习题

合集下载

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

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

汇编语言程序设计复习题一、单项选择题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. 计算机中存取信息或数据的最小单位为()A 、位B 、字节C 、字D 、双字答案:B2. 调用子程序的指令为()A 、CALLB 、RETC 、HLTD 、NOP答案:A3. DOS功能调用是通过()指令去调用DOS系统提供的软件中断处理程序A 、INT 21HB 、INT 23HC 、INT 12HD 、INT 11H答案:A4. 满足()时,CPU允许中断A 、IF=0B 、IF=1C 、DF=0D 、DF=1答案:B5. 完成对CL寄存器的内容乘以4的正确操作是()。

A 、ROL CL,1 ROL CL, 1B 、MUL 4C 、SHL CL, 1 SHL CL, 1D 、MOV CL , 2 SHL CL, CL答案:C6. 下面寄存器中可以分为两个独立8位寄存器的是()A 、AXB 、DIC 、CSD 、SI答案:A7. ()是用二进制编码的机器指令的集合及一组使用机器指令的规则,是CPU能直接识别的唯一语言。

A 、汇编语言B 、机器语言C 、JAVA语言D 、C语言答案:B8. 源程序模块结束语句为()A 、ORGB 、ENDC 、SEGMENTD 、START答案:B9. 8位补码表示的有符号数的表示范围是()A 、0~255B 、-128~+127C 、0~65535D 、-32768~+32767答案:B10. 在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来,下列说法正确的是()A 、占内存空间小,但速度慢B 、占内存空间大,但速度快C 、占内存空间相同,但速度快D 、占内存空间相同,但速度慢答案:B11. 与LEABX ,BUF指令完全等效的指令是()。

A 、MOV BX ,BUFB 、LDS BX ,BUFC 、MOV BX ,OFFSET BUFD 、MOV BX ,WORD PTR BUF答案:C12. 14的非压缩BCD码为()A 、00010100B 、01000001C 、0000000000010100D 、0000000100000100答案:D13. 要实现使BETA的值为56,应采用的语句是()A 、BETA DB 56B 、BETA DB 56HC 、BETA EQU 56HD 、BETA EQU 56答案:D14. ()不可以做目的操作数A 、立即数B 、寄存器C 、存储器操作数D 、累加器答案:A15. 计算机一般由中央处理器、存储器和输入/输出子系统组成,其中()可以存放程序、数据、信息及中间结果。

汇编练习题

汇编练习题

1. 编写程序计算Y=5X+8,设X 为无符号字节数据,且在ARGX 单元存放,计算结果存 入RLTY 单元。

2. 编写程序计算Y=W+(Z-X),设X ,Y ,Z ,W 为存放16位带符号数据的地址单元。

3. 编写程序计算Z=W-(X+6)-(R+9),设X ,R ,Z ,W 为存放16位带符号数据的地址单 元。

4. 将HEX ,HEX +1单元分别存放一个字节数据,编制程序将两个单元的低四位装配在一 个字节中并存入DATA 单元,HEX 单元中的数据为高位部分。

5. 将HEX ,HEX +1单元分别存放一个字节数据,编制程序将两个单元的高四位装配在一 个字节中并存入DATA 单元,HEX 单元中的数据为高位部分。

6. 将HEX ,HEX +2单元分别存放一个字数据,编制程序将两个单元的低8位装配在一个字中并存入DA TA 单元,HEX 单元中的数据为高位部分。

(1234H 左移8位,5678H 与00FFH -----3478H )7. 将HEX ,HEX +2单元分别存放一个字数据,编制程序将两个单元的高8位装配在一个字中并存入DATA 单元,HEX 单元中的数据为高位部分。

(1234H 与0FF00H,5678H 右移8位-----1256H )8. 设内存DATA 单元存放一个无符号字节数据,编制程序将其拆成两个十六进制数,分别存入HEX ,HEX +1单元字节单元的低四位,HEX 单元存放无符号数据的高4位,HEX+1单元存放无符号数据的低4位。

9、设内存DATA 单元存放一个无符号字节数据,编制程序将其拆成两个十六进制数,分别存入HEX ,HEX +1单元字节单元的低四位,HEX 单元存放无符号数据的高4位,HEX+1单元存放无符号数据的高4位。

10、设内存DATA 单元存放一个无符号字数据,编制程序将其拆成四个十六进制数,依次存入HEX ,HEX +1,HEX+2,HEX+3单元字节单元的低四位。

汇编语言题库

汇编语言题库

《汇编语言程序设计》习题一、选择题1. 机器数为10000000B, 它代表-127D,则它是()。

A. 补码B. 原码C. 反码D. 原码或反码2.已知V AR为字节变量,下面是关于①MOV BX, OFFSET V AR和②LEA BX, V AR 指令的说明,正确的是()。

A.指令①执行速度比指令②执行速度快B.指令①中OFFSET只能与简单的符号地址相连,不能与诸如V AR[SI]等复杂数相连。

指令②LEA没有这个限制C.指令①有错误,因为V AR为字节变量,而BX为字D.指令①与指令②的作用完全相同3.下列指令中正确的是( )。

A.MOV 100,CL B.MOV CL,100HC.MOV CL,1000 D.MOV CL,1004.设(BX)=8D16H,执行指令序列MOV CL,7 SAR BX,CL 后BX寄存器的内容是()。

A.011AH B.0FF1AH C.2D1AH D.0B00H 5.在程序运行过程中,确定下一条指令的物理地址的计算表达式是()。

A.CS*16+IP B.BX*16+DIC.SS*16+SP D.ES*16+SI6.提示下列指令序列执行后的正确结果是()。

MOV BX,OFFFCHMOV CL,2SAR BX,CLA.3FFFH B.0FFFH C.0FFFCH D.0FFF5H7.下列指令中不影响标志位的是()。

A.SUB AX,BX B.ROR AL,1C.JNC LABLE D.INT n8.将寄存器AX的内容取负的正确操作是()。

A.NEG AX B.CMP AX,0FFFHC.NOT AX D.CMP AX,AX9. 指令SCAS的寻址方式是()。

A源操作数为寄存器寻址,目的操作数为寄存器间接寻址B 源操作数为寄存器间接寻址,目的操作数为寄存器间接寻址C 源操作数为寄存器间接寻址,目的操作数为寄存器寻址D 源操作数为寄存器寻址,目的操作数为寄存器寻址10. TABLE为字变量,下面是关于指令①MOV AX,TABLE与指令②LEA AX,TABLE的说明,错误的是()。

汇编语言程序设计练习题及参考答案

汇编语言程序设计练习题及参考答案

一、单项选择题从每小题的四个备选答案中,选出一个正确答案,并将正确答案的番号填人括号内。

1.用来存放下一条将要执行的指令地址的寄存器是(B)A.SP B.IP C.BP D.CS2.要使串处理从低地址向高地址进行,应把标志位置为(D)A.IF=1B.TF=0C.DF=1D.DF=03.使状态标志位CF清零的错误指令是(C)A.OR AX,AX B.SUB AX,AXC.MOV CF,0D.CLC4.设SP=1110H,执行PUSH AX指令后,SP的内容为(B)A.SP=1112H B.SP=110EHC.SP=1111H D.SP=110FH5.汇编源程序出现语法错误的指令有(D)A.MOV[BX+SI],AL B.MOV AX,[BP+DI]C.MOV DS,AX D.MOV CS,AX6.下列串操作指令中,必须同时指明源串和目的串地址的指令是(D)A.STOSW B.LODSWC.SCASW D.CMPSW7.设BL中有一无符号数,实现把BL中的数乘以2,应选用的指令是(B)A.SHR BL,1B.SHL BL,1C.SAR BL,1D.RCR BL,18.执行PUSH AX指令的正确步骤是(A)A.1.SP←SP-1,(SP)←AH B.1.(SP)←AH,SP←SP-12.SP←SP-1,(SP)←AL2.(SP)←AL,SP←SP-1C.1.SP←SP+1,(SP)←AH D.1.(SP)←AH,SP←SP+12.SP←SP+1,(SP)←AL2.(SP)←AL,SP←SP+19.CF=1时转移到目标地址的条件转移指令是(B)A.JNC B.JC C.JZ D.JS10.在执行NEG指令时,对标志位CF有影响,其影响的规则是(C)A.对正数求补时,CF=0B.对负数求补时,CF=0C.对非零数求补时,CF=1D.对零求补时,CF=111.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是(A)A.目的操作数最高位为0B.目的操作数最高位为1C.目的操作数为任意情况D.无论什么情况都不可能相同12.设AL=04H,BL=0F8H,执行IMUL BL指令后,结果是(D)A.AX=0032H B.AX=00E0HC.AX=03E0H D.AX=0FFE0H13.指令的操作数中,允许出现表达式,例如BUF1与BUF2均为变量名,下面指令中语法正确的是(D)A.MOV AX,BUFl*BUF2B.MOV AX,BUF1/BUF2C.MOV AX,BUF1+ES:BUF2D.MOV AX,BUF2-BUF114.下面指令中,操作数的寻址方式为寄存器间接寻址的指令是(C )A.INC WORD PTR [BX+SI]B.INC CX,[SI+COUNT]C.NEG BYTE PTR [BX]D.ADD AX,B15.NUM EQU 80HDA DB 34HAND DA,NUM上述语句执行后,DA 中的内容是(D )A.0B4H B.80H C.34H D.016.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为(A )A.立即、直接、间接B.直接、间接、立即C.直接、立即、间接D.不一定17.语句DA1DB 2DUP(3,5,7)汇编后,该语句可等同于的语句是(D )A.DA1DB 3,5,7B.DA1DB 2,3,5,7C.DA1DB 3,5,7,2D.DA1DB 3,5,7,3,5,718.MOV AL,80HMOV CL,2SAR AL,CL上述指令序列执行后,结果是(D )A.AL=40H B.AL=20HC.AL=0C0H D.AL=0E0H19.下面是实现将AL 内容加1的压缩型BCD 码加法程序段,其中正确的指令序列是(A )A.INC AL B.ADD AL,1DAA DASC.ADD AL,1D.STCDAA AAA20.现有数据存储如图所示:30100H 30101H 30102H 30103H 设AL=01H,BX=0100H,DS=3000H 执行换码指令XLAT 后正确的结果是(B )A.AL=20H B.AL=38HC.AL=00H D.AL=41H21.若定义DAT DW 'A',则(DAT)和(DAT+1)两个相邻的内存中存放的数据是(B )A.0041H B.4100H 20H38H41H55HC.xx41H D.41xxH[注]选项C.和D.中的XX表示任意数据。

汇编练习题——精选推荐

汇编练习题——精选推荐

汇编练习题⼀、填空或选择题1. ⼆进制数1010111B转换成⼗六进制数是()。

A.A7HB.AEHC.87HD.57H2.设字长为8位,则有符号数-2的补码表⽰是()A.10000010B B.11111101B C.11111110B D.00000010B3.设字长为8位,则有符号数+2的补码表⽰是()A.10000010B B.11111101B C.11111110B D.00000010B4.书写汇编语⾔程序时规定,对字母开头的⼗六进制数,其前⾯必须加()A.0B.DC.BD.H5. IBM PC微机中,有符号数是⽤( )表⽰的A.原码B.补码C.反码D.BCD码6.⼗进制数-48的原码是,反码是,补码是。

7.典型的微机硬件系统是由系统总线将_____中央处理器_______、___储存器______和___输⼊输出⼦系统___连接起来的。

8.计算机中唯⼀代表存储空间中每个字节单元的地址的是(B)A.段地址B.物理地址C.逻辑地址D.偏移地址9. 在Intel8086微处理器中,⽤来保存各逻辑段的段地址的寄存器称为(C)。

A.变址寄存器B.标志寄存器C.段寄存器D.指令指针寄存器10.在Intel8086微处理器中,⽤来保存数据段的段地址的寄存器是( A )A.DS B. ES C. SS D. CS 【 ES附加段,CS代码段,SS堆栈段】11.在Intel8086微处理器中,⽤来保存代码段的段地址的寄存器是( D )A.DS B. ES C. SS D. CS12.在Intel8086微处理器中,⽤来保存堆栈段的段地址的寄存器是( C )A.DS B. ES C. SS D. CS13. 微处理器Intel8086中存放下⼀条将要执⾏的指令偏移地址的寄存器(A)A.SPB.AXC.DID.IP :存放代码段的偏移地址始终指向下⼀条的⾸地址14. 微处理器Intel8086中存放堆栈栈顶的偏移地址的寄存器是(A)A.SPB.AXC.DID.IP15. 下列答案中(A )反映了指令操作结果有溢出A.OF=1B.SF=1C.ZF=1D.CF=1进位标志CF零标志ZF符号标志SF溢出标志 OF 奇偶标志 PF 辅助进位标志AF16. 下列答案中(C )反映了指令操作结果等于0A.OF=1B.SF=1C.ZF=1D.CF=117. 下列答案中(B)反映了指令操作结果为负数A.OF=1B.SF=1C.ZF=1D.CF=118. 下列答案中(D)反映了指令操作结果有进位A.OF=1B.SF=1C.ZF=1D.CF=119.取指令时,默认的段寄存器是__________;堆栈操作时,默认的段寄存器是__________。

高校计算机专业汇编语言程序设计练习题

高校计算机专业汇编语言程序设计练习题

高校计算机专业汇编语言程序设计练习题1. 程序题一:编写一个汇编程序,实现将前n个自然数的和存储在寄存器AX中。

要求通过键盘输入n的值,并将计算结果输出到屏幕上。

程序思路如下:- 读取键盘输入的n值,存储到内存变量n_value中。

- 使用循环将前n个自然数求和,计算结果存储到寄存器AX中。

- 将寄存器AX中的结果输出到屏幕上。

2. 程序题二:编写一个汇编程序,实现求一个正整数的二进制表示中1的个数。

要求通过键盘输入一个正整数,并将结果输出到屏幕上。

程序思路如下:- 读取键盘输入的正整数值,存储到内存变量num中。

- 使用循环和位运算的方式,统计num的二进制表示中1的个数。

- 将得到的1的个数结果输出到屏幕上。

3. 程序题三:编写一个汇编程序,实现对一个已经存储在内存中的字符串进行反转。

要求将反转后的字符串输出到屏幕上。

程序思路如下:- 将待反转的字符串存储到内存变量str中。

- 使用循环和栈操作的方式,对字符串进行反转。

- 将反转后的字符串输出到屏幕上。

4. 程序题四:编写一个汇编程序,实现对一个已经存储在内存中的数组进行排序。

要求将排序后的数组输出到屏幕上。

程序思路如下:- 将待排序的数组存储到内存变量array中。

- 使用循环和比较交换的方式,对数组进行排序。

- 将排序后的数组输出到屏幕上。

5. 程序题五:编写一个汇编程序,实现求一个已经存储在内存中的数组中的最大值。

要求将最大值输出到屏幕上。

程序思路如下:- 将待求最大值的数组存储到内存变量array中。

- 使用循环和比较的方式,找到数组中的最大值。

- 将最大值输出到屏幕上。

以上是五道高校计算机专业汇编语言程序设计的练习题,希望能够帮助你提升汇编语言编程的能力。

完成这些练习题可以加深对汇编语言程序设计的理解和熟练程度,同时提升解决实际问题的能力。

如果你能够自行尝试解答并编写相应的程序,将会获得更好的学习效果。

祝你在汇编语言程序设计的学习中取得进步!。

汇编习题1有答案

汇编习题1有答案

一、选择题1、8086CPU中程序计数器IP中存放的是B。

A、指令B、指令在现行代码段中的偏移地址C、操作数D、操作数在现行代码段中的偏移地址2、Intel8086CPU内部的两大功能部件是B。

A、标志寄存器及ALUB、BIU及EUC、指令队列及AIUD、地址加法器及ALU3、8086CPU有20根地址线,直接寻址内存的空间为B。

A、64MBB、1MBC、1024KBD、8MB4、Intel8086堆栈是按C原则构造的。

A、先进先出B、后进后出C、先进后出D、随机存取5、为使CPU识别不同的内存单元,需要为每个内存单元规定不同的B。

A、符号B、地址C、数据D、状态6、指令指针IP与A组合使用,确定下一条指令存放单元的物理地址。

A、CSB、ESC、SSD、DS7、堆栈指针SP与C组合使用,确定栈顶单元的物理地址。

A、CSB、ESC、SSD、DS8、8086对内存进行分段管理,一个段的最大范围是A。

A、64MBB、128KBC、512MBD、1MB9、8086CPU用于存放当前数据段段基址的寄存器是D。

A、CSB、ESC、SSD、DS10、为数据段基址寄存器DS赋值得汇编语句正确的是D。

A、ASSUME DS:DA TAB、SEGMENT DA TAC、MOV DS,DA TAD、MOV AX,DA TAMOV DS,AX11、下列描述正确的是B。

A、汇编语言只由指令语句构成B、汇编语言语句包括指令语句和伪指令语句C、指令性语句和伪指令语句的格式是完全相同的D、指令性语句和伪指令语句都能经过汇编程序翻译成机器代码12、8086/8088系统中,一个栈可使用的最大空间是C。

A、1MBB、由SP初值决定C、64KBD、由SS初值决定13、若(AL)=10101101B,为了使其内容变为01011101B,下列哪一种执行一次即可完成此操作?C。

A、NOT指令B、AND指令C、XOR指令D、OR指令14、设(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据21H的物理地址为D。

汇编语言程序设计习题-答案

汇编语言程序设计习题-答案

4.1分析执行下列指令序列后的结果:1)MOVAX,1234HMOVBX,00FFHANDAX,BX【答】(AX)=0034H2)MOVAL,0101BANDAL,000111B;(AL)=000101BORAL,11000B;(AL)=110101BXORAL,0011B;(AL)=11010BNOTAL【答】(AL)=00101B3)MOVDL,05HMOVAX,0A00HMOVDS,AXMOVSI,0HMOVCX,0FHAGAIN:INCSICMP[SI],DLLOOPNE AGAINHLT本程序实现了什么功能?【答】在以0A001H开始的15个单元中查找05H。

4)MOVAX,DSEGADDRMOVDS, AXMOVES,AXMOVSI, OFFSET B1ADDRMOVDI,OFFSET B2ADDRMOVCX,NCLDREPMOVSBHLT本程序实现了什么功能?【答】将B1ADDR中N个字节数据传送到B2ADDR开始的15个存储单元。

5)MOVAX, 0HMOVDS,AXMOVES, AXMOVAL,05HMOVDI,0A000HMOVCX,0FHCLDAGAIN:SCASBLOOPNEAGAINHLT本程序实现了什么功能?【答】从地址0A000H开始的15个单元中查找字节型数据05H,用条件循环LOOPNZ,控制数据05H的查找。

4.2阅读程序:1).CLDLEADI,[0100H]MOVCX, 0080HXORAX, AXREPSTOSW本程序实现了什么功能?【答】将DS中起始地址为0100H的128个字节单元清零。

2).MOVAL, 08HSAL,01H;(AL)=000100HMOVBL, ALMOVCL ,02HSAL,CL;(AL)=01000HADDAL,BL;(AL)=0100H本程序实现了什么功能?【答】将AL中的内容乘以10。

4.3试分析下列程序完成什么功能?MOVDX,3F08HMOVAH,0A2HMOVCL,4SHLDX,CL;(DX)=F080HMOVBL,AHSHLBL,CL;(BL)=20HSHRBL,CL;(BL)=02HORDL,BL;(DL)=82H【答】将DX中的低4位数据8H分离出来,将AH中的低4位数据2H分离出来,合并为82H存放在DL。

《汇编语言程序设计》作业习题

《汇编语言程序设计》作业习题

《汇编语言程序设计》作业习题第1章汇编语言基础知识习题1.1 什么是汇编语言?汇编语言的特点是什么?1.2 把下列十进制数转换成二进制数、八进制数、十六进制数。

① 127 ② 1021 ③ 0.875 ④ 6.251.3把下列二进制数转换成十进制数。

① 1001.11 ② 101011.10011 ③ 111.011 ④ 1011.11.4 把下列八进制数转换成十进制数。

① 573.06 ② 75.23 ③ 431.7 ④ 123.451.5 把下列十六进制数转换成十进制数。

① 0D5.F4 ② 8BA.7C ③ 0B2E.3A ④ 6EC.2D1.6 把下列英文单词转换成ASCII编码的字符串。

① Upper ② Blow ③ Computer ④ What1.7 求下列带符号十进制数的8位基2码补码。

① +127 ②−2 ③−128 ④ +21.8 求下列带符号十进制数的16位基2码补码。

① +628 ②−9 ③−1234 ④ +32491.9 下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。

①68+(―53)②68―53 ③68―(―53)④(―68)―531.10 汉字在输入、存储、输出过程中所使用的汉字编码是否一样?使用的是什么编码?第2章 IBM-PC系统结构习题2.1什么是微型计算机?微型计算机主要由哪几部分组成?其主要功能是什么?2.2 8086/8088CPU由哪两部分组成?它们的主要功能是什么?2.3 8086/8088CPU有哪些寄存器?各有什么用途?2.4 8086/8088CPU哪些寄存器可以用来指示存储器地址?2.5标志寄存器中有哪些状态标志和控制标志?它们每一位所表示的含义是什么?2.6有两个16位数3A4BH和10EFH分别存放在2000H和2004H存储单元中,请用图表示出它们在存储器里的存放情况。

2.7一个存储单元的物理地址、段地址、偏移地址三者之间有何关系?2.8在DEBUG程序中,一条指令语句表示为2000:0030 MOV AL,8。

《汇编语言程序设计》期末复习题及答案

《汇编语言程序设计》期末复习题及答案

汇编语言程序设计》期末复习题及答案一、选择( 30 题)1.下列是 8 位带符号二进制数的补码,其中最大的是( B )。

B、000000012.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现( C )C、占内存空间大,但速度快3.数据定义为:EE DB 3 , 4CC DW 3456H , 6789H执行指令“ MOV CX WORD PTR EE+1'后,(CX = ( B )B、5604H4.有如下指令序列:MOV AL, 95HMOV CL, 2SAR AL , CL上述指令序列执行后,AL的内容是(D )D、0E5H5. 设A=186io, B=273s, C=0B^,把这三个数看成无符号数,则它们之间的关系是(D )D、 A<B=C6. 用一条指令实现寄存器 BX和SI的内容相加,并将结果送入AX中,这条指令是(D )D、LEA AX, [BX][SI]7 .要从端口 1234H中读入8位数据,其指令应是( C )C、MOV DX, 1234HIN AL , DX&循环控制指令 LOOPNZ/LOOPNE续执行循环的条件是(B )B、CX^ 0 且 ZF=09. 8088/8086 存储器分段,每个段不超过( D )D、64K 个字节10.表示过程定义结束的伪指令是( A )A、ENDP11 .用来存放下一条将要执行的指令代码段地址的段寄存器是( D )D 、CS12 .假定(SS) =1000H, (SP) =0100H, (AX)=5609H,执行指令 PUSH AX 后,存放数据56H 的物理地址是( D )D、100FFH13.执行“ SUB AX, [BP][DI] ”指令,取源操作数时,使用的物理地址表达式是( A )A、16*SS+BP+DI14 .设AX中有一带符号数 8520H,执行“ SAR AX, 1”指令后,AX中的值是(C )C、0C290H15 .设(BX =1234H,( DS =2000H, ( 21234H) =5678H,则指令“ LEA SI,[BX] ” 执行后的结果是:( B )B、SI=1234H16 .测试BL中的数是否为负数,若为负数则转移至AA1处,横线处的指令应为( A )A 、 JNE17 .设 DF=Q (SI) =20H, (CX) =10,执行“ REP LODSW 指令后,SI 中的内容是(C )C 、 34H18.在程序执行过程中, IP 寄存器中始终保存的是( B )B 、下一条指令的首地址19 .设SP初值为2000H,执行指令“ POP AX'后,SP的值是(A )A、2002H20 .若 AX=3500H CX=56B8H 当 AND AX CX指令执行后, AX= ( A )A、1400H21 .汇编源程序时,出现语法错误的语句是( A )A、MOV DS, 1200H22 •将数据1234H存放在存储单元中的伪指令是( C )C 、 DATA1 DB 34H, 12H23 .下面指令执行后,可能改变AL寄存器内容的指令是( D )D 、AND AL, BLB、寄存器间接寻址25 •用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )B、汇编语言程序26 .用DOS功能调用时,子功能调用的编号应放在( C )C、AH27 .提供串指令中目的操作数地址的是( C )C、ES: [DI]28 .在寄存器间接寻址方式下,能够提供有效地址的寄存器有( B )B、BX BP, SI , DI29 .已知某操作数的物理地址是2117AH则它的段地址和偏移地址可能是( A )A、2025 : 0F2A30 .中断向量表中的每个中断向量所占内存空间为:(B )B、4个字节、填空(30题)1.在用直接寻址方式寻址操作数时,系统对段地址的默认值在段寄存器DS中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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。

相关文档
最新文档