汇编语言程序设计习题集111

合集下载

【汇编语言程序设计】试题及答案合集

【汇编语言程序设计】试题及答案合集

汇编语言程序设计试题及答案1.对于有符号的数来说,下列哪个值最大(D)A:0F8HB:11010011BC:82 D:123Q2.下列有关汇编语言中标号的命名规则中,错误的是(D)A:通常由字母打头的字符、数字串组成B:标号长度不能超过31个字符C:?和$不能单独作为标号D:.号不可位于标号首3.8088/8086存储器分段,每个段不超过(D )A.64K个字B.32K个字节C.1兆个字节D.64K个字节4.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式(B)A:寄存器寻址B:相对基址变址寻址C:变址寻址D:基址变址寻址5.若AX= - 15要得到AX=15应执行的指令是(A )A.NEG AXB.NOT AXC.INC AXD.DEC AX6.8086/8088系统执行传送指令MOV时( A)A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志7.若要求一个操作数中的若干位维持不变,若干位置“1”,可以使用(B)A:NOT B:OR C:AND D:XOR8.下列指令中段默认为堆栈段的是( C)A.MOV AX,[BX+SI+10]B.ADD AX,ES:[SI]C.SUB [BX],[BP][DI]D. MOV DX,[1000H]9.关于8086/8088微机系列,下列说法哪个是正确的(D)A:一个存储单元由16个二进制位组成,简称字。

B:当存储一个字数据时,低字节放高地址位,高字节放低地址位。

C:在内存空间中,可以无限分配段,且段的大小不受限制。

D:段与段之间可以邻接,也可以重叠。

10.下列关于堆栈的说法,错误的是(D)A:以“先入后出”为原则。

B:栈区最高地址单元的前一个单元为栈底。

C:运行中SP寄存器动态跟踪栈顶位置。

D:压栈和弹出都是以字节为单位。

11.表示过程定义结束的伪指令是( A)A.ENDPB.ENDSC.ENDD.ENDM12.BUF1 DB 3 DUP(0,2 DUP (1,2),3)COUNT EQU $-BUF1符号COUNT等价的值是( B)A.6B.18C.16D.913.下列标志位中,可以用来判断计算结果正负的是(B)A:PF B:SF C:DF D:OF14.下列指令正确的是( CD)A. MOV [100H], [BX]B.MOV DS, ESC. ADD V[BX], CXD.MOV AX, 34H15.下列哪个寄存器是属于指针寄存器(C)A:SI B:DX C:SP D:ES二、填空题 (每小题4 分,共 20 分)1.下列程序段求数组FLD的平均值,结果在AL中。

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

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

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

1.用来存放下一条将要执行的指令地址的寄存器是 (B )A.SP B.IP C.BP D.CS2.要使串处理从低地址向高地址进行,应把标志位置为 (D )A.IF=1 B.TF=0C.DF=1 D.DF=03.使状态标志位CF清零的错误指令是 (C )A.OR AX,AX B.SUB AX,AXC.MOV CF,0 D.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,1 B.SHL BL,1C.SAR BL,1 D.RCR BL,18.执行PUSH AX指令的正确步骤是 (A )A.1.SP←SP-1,(SP)←AH B.1.(SP)←AH,SP←SP-12.SP←SP-1,(SP)←AL 2.(SP)←AL,SP←SP-1C.1.SP←SP+1,(SP)←AH D.1.(SP)←AH,SP←SP+12.SP←SP+1,(SP)←AL 2.(SP)←AL,SP←SP+19.CF=1 时转移到目标地址的条件转移指令是 (B )A.JNC B.JC C.JZ D.JS10.在执行NEG指令时,对标志位CF有影响,其影响的规则是 ( C )A.对正数求补时,CF=0 B.对负数求补时,CF=0C.对非零数求补时,CF=1 D.对零求补时,CF=111.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是(A )A.目的操作数最高位为0 B.目的操作数最高位为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 .0B4HB .80HC .34HD .016.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为 (A )A .立即、直接、间接B .直接、间接、立即C .直接、立即、间接D .不一定17.语句DA1 DB 2 DUP(3,5,7)汇编后,该语句可等同于的语句是 (D )A .DA1 DB 3,5,7B .DA1 DB 2,3,5,7C .DA1 DB 3,5,7,2D .DA1 DB 3,5,7,3,5,718. MOV AL ,80HMOV CL ,2SAR AL ,CL上述指令序列执行后,结果是 (D )A .AL=40HB .AL=20HC .AL=0C0HD .AL=0E0H19.下面是实现将AL 内容加1的压缩型BCD 码加法程序段,其中正确的指令序列是 (A ) A .INC ALB .ADD AL ,1DAA DASC .ADD AL ,1 D .STCDAA AAA20.现有数据存储如图所示:30100H 30101H 30102H 30103H设AL=01H ,BX=0100H ,DS=3000H 执行换码指令XLAT 后正确的结果是(B )A .AL=20HB .AL=38HC .AL=00HD .AL=41H21.若定义DAT DW 'A',则(DAT)和(DAT+1)两个相邻的内存中存放的数据是 (B )A .0041HB .4100H20H38H41H55HC.xx41H D.41xxH[注]选项C. 和D.中的XX表示任意数据。

汇编语言程序设计题库练习题1--详细答案

汇编语言程序设计题库练习题1--详细答案

汇编语言程序设计题库练习题1--详细答案汇编语言程序设计练习题一、单项选择题1、与100.5不相等的数据是【 C 】A. 64.8HB. 1100100.1BC. 64.5HD. 144.4O2、指向程序代码段的段寄存器是【 A 】A. CSB. DSC. SSD. FS3、在内存字单元(20000)中存放数1324H,即(20000)=1324H,则从字节单元20001H 中取出一个字节为【 A 】A. 13H B. 24HC. 1324HD. 2413H4、完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是【 A 】A. MOV AL,00HB. AND AL,00HC. XOR AL,ALD. SUB AL,AL5、指令JMP BX转移的目标地址的偏移量为【 C 】A. IP+BX的内容B. IP+[BX]C. BX的内容D. BX所指向的内存字单元的内容6、DA1 DW 2A05HDA2 DB 07AH┇MOV AL,BYTE PTR DA1SUB DA2,AL上述指令执行后,DA2中的内容是【 C 】A. 7AH B. 02AHC. 075HD. 050H7、某存储单元的物理地址是12345H,可以作为它的段地址有【 d 】A. 2345HB. 12345HC. 12340HD. 1234H8、设有数据定义X2 DW 10 DUP (0,1,2),定义了多少字节的缓冲【 C 】A. 6B. 30C. 60D. 409、有符号数AX除以2的指令是【 B 】A. SHR AX,1B. SAR AX,1C. ROR AX,1D. RCR AX,110、DEC BYTE PTR[BX]中的操作数的数据类型是【 C 】A. 字B. 双字C. 字节D. 四字11、设SP=4AH,执行段内返回指令RET后,SP的值是【 C 】A. 44HB. 48HC. 4CHD. 50H12、指令“LOOP 标号”转移到标号的的条件是【 A 】A. CX≠0B. ZF=0C. CX≠0 AND ZF=0D. CX≠0 OR ZF=108086二、填空题1、汇编语言源程序经【编译】后,形成目标文件,再经过【链接】后,形成可执行文件。

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

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

汇编语言程序设计习题答案第一章. 习题1.1用降幂法和除法将下列十进制数转换为二进制数和十六进制数:(1) 369 (2) 10000 (3) 4095 (4) 32767答:(1) 369=1 0111 0001B=171H(2) 10000=10 0111 0001 0000B=2710H(3) 4095=1111 1111 1111B=FFFH(4) 32767=111 1111 1111 1111B=7FFFH1.2将下列二进制数转换为十六进制数和十进制数:(1) 10 1101 (2) 1000 0000 (3) 1111 1111 1111 1111 (4) 1111 1111答:(1) 10 1101B=2DH=45(2) 1000 0000B=80H=128(3) 1111 1111 1111 1111B=FFFFH=65535(4) 1111 1111B=FFH=2551.3将下列十六进制数转换为二进制数和十进制数:(1) FA (2) 5B (3) FFFE (4) 1234答:(1) FAH=1111 1010B=250(2) 5BH=101 1011B=91(3) FFFEH=1111 1111 1111 1110B=65534(4) 1234H=1 0010 0011 0100B=46601.4完成下列十六进制数的运算,并转换为十进制数进行校核:(1) 3A+B7 (2) 1234+AF (3) ABCD-FE (4) 7AB×6F答:(1) 3A+B7H=F1H=241(2) 1234+AFH=12E3H=4835(3) ABCD-FEH=AACFH=43727(4) 7AB×6FH=35325H=2178931.5下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。

(1) (-85)+76 (2) 85+(-76) (3) 85-76 (4) 85-(-76) (5) (-85)-76 (6) -85-(-76)答:(1) (-85)+76=1010 1011B+0100 1100B=1111 0111B=0F7H;CF=0;OF=0(2) 85+(-76)=0101 0101B+1011 0100B=0000 1001B=09H;CF=1;OF=0(3) 85-76=0101 0101B-0100 1100B=0101 0101B+1011 0100B=0000 1001B=09H;CF=0;OF=0(4) 85-(-76)=0101 0101B-1011 0100B=0101 0101B+0100 1100B=10100001B=0A1H;CF=0;OF=1(5) (-85)-76=1010 1011B-0100 1100B=1010 1011B+1011 0100B=0101 1111B=5FH;CF=0;OF=1(6) -85-(-76)=1010 1011B-1011 0100B=1010 1011B+0100 1100B=11110111B=0F7H;CF=0;OF=01.6下列各数为十六进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的带符号数或无符号数时,它们所表示的十进制数是什么?(1) D8 (2) FF答:(1) D8H表示的带符号数为-40,D8H表示的无符号数为216;(2) FFH表示的带符号数为-1,FFH表示的无符号数为255。

汇编语言程序设计试卷及答案

汇编语言程序设计试卷及答案

汇编语言程序设计试卷一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分)1.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。

① 无符号十进制数136② 带符号十进制数-120③ 压缩型BCD码十进制数88④ 8位二进制数-8的补码表示2.指令指针寄存器是()。

① IP② SP③ BP④ PSW3.当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是()。

① 表示结果中含1的个数为偶数② 表示结果中含1的个数为奇数③ 表示该数为偶数④ 表示结果中低八位含1的个数为偶数4.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是()。

① MOV AL,00H② AND AL,00H④ SUB AL,AL5.下列指令执行后总是使CF=0,OF=0的是()。

① AND② NEG③ NOT④ INC6.完成同指令XCHG AX,BX相同功能的指令或指令序列是()。

① MOV AX,BX② MOV BX,AX③ PUSH AXPOP BX④ MOV CX,AXMOV AX,BXMOV BX,CX7.设AH=0,AL=06H,BL=09H,执行指令ADD AL,BLAAA之后,其结果应是()。

① AH=01,AL=05② AH=1 AL=15③ AH=0 AL=0FH④ AH=0 AL=058.设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为② OF=1,CF=1③ OF=0,CF=0④ OF=0,CF=19.在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()。

① CX=0且ZF=0② CX=0且ZF=1③ CX=0或ZF=0④ CX=0或ZF=110.下面指令中,合理而有意义的指令是()。

① REP LODSB② REP SCASB③ REP CMPSB④ REP MOVSB11.在汇编语言程序中,对END语句的叙述正确的是()。

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

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

4.1 分析执行下列指令序列后的结果:1)MOV AX,1234HMOV BX,00FFHAND AX,BX【答】(AX)=0034H2)MOV AL,01010101BAND AL,00011111B ;(AL)=00010101BOR AL,11000000B ;(AL)=11010101BXOR AL,00001111B ;(AL)=11011010BNOT AL【答】(AL)=00100101B3)MOV DL,05HMOV AX,0A00HMOV DS,AXMOV SI,0HMOV CX,0FHAGAIN: INC SICMP [SI],DLLOOPNE A GAINHLT本程序实现了什么功能?【答】在以0A001H开始的15个单元中查找05H。

4)MOV AX,DSEGADDRMOV DS, AXMOV ES,AXMOV SI, OFFSET B1ADDRMOV DI,OFFSET B2ADDRMOV CX,NCLDREP MOVSBHLT本程序实现了什么功能?【答】将B1ADDR中N个字节数据传送到B2ADDR开始的15个存储单元。

5)MOV AX, 0HMOV DS,AXMOV ES, AXMOV AL,05HMOV DI,0A000HMOV CX,0FHCLDAGAIN: SCASBLOOPNE AGAINHLT本程序实现了什么功能?【答】从地址0A000H开始的15个单元中查找字节型数据05H,用条件循环LOOPNZ,控制数据05H的查找。

4.2 阅读程序:1). CLDLEA DI,[0100H]MOV CX, 0080HXOR AX, AXREP STOSW本程序实现了什么功能?【答】将DS中起始地址为0100H的128个字节单元清零。

2). MOV AL, 08HSAL AL,01H ;(AL)=00010000HMOV BL, ALMOV CL ,02HSAL AL,CL ;(AL)=01000000HADD AL,BL ;(AL)=01010000H本程序实现了什么功能?【答】将AL中的内容乘以10。

汇编语言程序设计习题集111

汇编语言程序设计习题集111

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

A. 补码B. 原码C. 反码D. 原码或反码2.[x1]原=10111101B, [x2]反=10111101B, [x3]补=10111101B (C )。

A. x1最小B. x2最小C. x3最小D. x2=x1=x33.计算机的内存“溢出”是指其运算结果()。

A .为无穷大B .超出了计算机内存储单元所能存储的数值范围C .超出了该指令所指定的结果单元所能存储的数值范围D .超出了一个字所能表示数的范围4. [x1]原=11001010B, [x2]反=11001010B, [x3]补=11001010B ,那么它们的关系是()。

A. x3>x1>x2B. x2>x3>x1C. x3>x2>x1D. x2>x1>x35. 在计算机中表示地址时使用(A )。

A 无符号数B 原码C 反码D 以上都不对6. 下面说法错误的是(D )。

A 8位二进制无符号数表示的最大十进制数是255B 8位二进制带符号数表示的最大十进制数是127C 计算机中无符号数最常用于表示地址D 计算机中小数点隐含在符号位之后,占一位7. 只有当与非门的输入变量A 、B 的值为()时,其输出才为0。

A 0,0B 0,1C 1,0D 1,18. 只有当或非门的输入变量A 、B 的值为()时,其输出才为1。

A 0,0B 0,1C 1,0D 1,19. 若逻辑运算Y=A+B, 当A=B=1时,Y 为()。

A 0B 1C 10D 210. 若门电路的两个输入量为1、1,输出量为0,不可能完成此功能的是()。

A “异或”门B “与非”门C “或非”门D “与”门11. 下列不正确的是()A A AB A B +=+ B _____AB A B =+C AB B AB A B ++=+D A B A B +=12.已知V AR 为字节变量,下面是关于①MOV BX, OFFSET V AR 和②LEA BX, V AR 指令的说明,正确的是()。

汇编语言程序设计课后习题解答

汇编语言程序设计课后习题解答

《汇编语言程序设计》(宋人杰主编)课后习题解答第1章汇编语言基础知识1.简述汇编语言源程序、汇编程序、和目标程序的关系。

答:用汇编语言编写的程序称为汇编源程序;汇编源程序在汇编程序的翻译下转换成计算机语言变成目标程序。

2. 简述汇编语言的优缺点。

答:(1) 汇编语言的优点:①可有效地访问、控制计算机各种硬件设备,如磁盘、存储器、CPU、I/O端口等。

.②目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。

③可与高级语言配合使用,应用十分广泛。

(2) 汇编语言的缺点:①通用性和可移植性较差②相对于高级语言来说较繁锁、易出错、不够直观。

3.CPU的寻址能力为8KB,那么它的地址总线的宽度为多少?答:134. 1KB的存储器有多少个存储单元?答:1024个字节。

5. 指令中的逻辑地址由哪两部分组成?答:指令中的逻辑地址由段基址和偏移量组成。

6. 以下为用段基址:偏移量形式表示的内存地址,试计算它们的物理地址。

(1) 12F8:0100 (2) 1A2F:0103 (3) 1A3F:0003 (4) 1A3F:A1FF答: (1) 13080H(2) 1A3F3H(3) 1A3F3H(4) 245EFH7. 自12FA:0000开始的内存单元中存放以下数据(用十六进制形式表示): 03 06 11 A3 1301,试分别写出12FA:0002的字节型数据、字型数据及双字型数据的值。

答:字节型数据:11H字型数据:0A311H双字型数据:0113A311H8. 内存中某单元的物理地址是19318H,段基地址为1916H,则段内偏移地址为多少?若段内偏移地址为2228H,则段基地址为多少?答:若段基地址为1916H,则段内偏移地址为01B8H;若段内偏移地址为2228H,则段基地址为170FH9. 在实模式环境中,一个段最长不能超过多少字节?答:64KB10. 实模式可寻址的内存范围是多少?答:1MB第2章 汇编语言源程序格式1.请解释变量和标号的含义,两者有何区别?答:标号代表一条指令所在单元的地址,在代码段中定义;变量是存放数据的存储单元的地址符号名,在除代码段以外的其他段中定义。

汇编语言程序设计试题参考答案

汇编语言程序设计试题参考答案

汇编语言程序设计参考答案A卷一、单项选择题(本大题共8小题,每小题2分,共16分)1.C2.B3.B4.A5.C6.A7.A8.C9.D 10.B二、名词解释(本大题共5小题,每小题4分,共20分)11.微处理器:也成中央处理器(CPU),是微型计算机的核心部件,包含运算器、控制器、寄存器组及总线接口等,负责对计算机系统各部件进行统一的协调和控制。

12.寻址方式:就是寻找操作数或操作数地址的方式,根据寻址方式可方便地访问各类操作数。

13.伪指令:是发送给汇编程序的命令,在汇编过程中由汇编程序进行处理,如定义数据、分配存储区、定义段及定义过程等。

14.中断源:指能引起中断的外部设备或内部原因。

15.汇编语言:是一种面向CPU指令系统的程序设计语言,采用指令助记符来表示操作码和操作数,用符号地址表示操作数地址。

三、简答题(本大题共4小题,每小题5分,共20分)16.微型计算机系统软件的主要特点是什么?计算机系统软件的主要特点是简化计算机操作,支持应用软件的运行并提供相关服务,通常包括操作系统、语言处理程序等。

17.什么是逻辑地址?他由哪两部分组成?计算机存储器中给每个逻辑段编址的地址称逻辑地址。

逻辑地址是在程序中使用的地址,他由段地址和偏移地址两部分构成。

18.一个完整的汇编源程序由那些逻辑段组成?各逻辑段的主要作用是什么?一般情况下汇编语言源程序应该由以下3个逻辑段组成:①数据段:用来在内存中建立一个适当容量的工作区,以存放常数,变量等程序需要对其进行操作的数据;②堆栈段:用来在内存中建立一个适当容量的堆栈区,以便在中断、子程序调用时使用;③代码段:包括了许多以符号表示的指令,其内容就是程序需要执行的具体操作。

19. DMA数据传送方式的特点是什么?DMA数据传送方式把外设与内存交换信息的操作与控制交给DMA控制器,简化了CPU对数据交换的控制,数据传送速度快,但这种方式电路结构复杂,硬件开销大。

汇编语言程序设计练习题

汇编语言程序设计练习题

汇编语言程序设计练习题汇编语言程序设计练习题1. 逆序输出字符串“BASED ADDRESSING”。

2. 从键盘上输入2个一位数,求出它们的和(假设和不超过1位)。

3. 试编写一段程序,要求在长度为100H字节的数组中,找出大于42H的无符号数的个数并存入字节单元UP中;找出小于42H的无符号数的个数并存入字节单元DOWN中。

4. 试编写一段程序,要求把键盘输入的小写字母用大写字母显示出来,其他字符保持不变。

5. 编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。

6. 编写程序,将一个包含有20个数据的数组M分成2个数组:正数数组P和负数数组N,并分别把这两个数组中数据的个数显示出来。

7. 试编写一段程序,求出首地址为DATA的100D字数组中的最小偶数,并把它存放在AX中。

8. 试编写一段程序,要求比较两个字符串string1和string2所含字符是否相等,如相等则显示“MATCH”, 若不相同则显示“NO MATCH”。

9. 试编写一段程序,从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二进制数。

10. 从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示计数结果。

11.有一个首地址为mem的100个字的数组,试编制程序删除数组中所有为零的项,并将后续项向前压缩,最后将数组的剩余部分补上零。

12.从键盘上输入一串字符(用回车键结束,使用10号功能调用。

)放在STRING中,试编制一个程序测试字符串中是否存在数字。

如有,则把CL的第5位置1,否则将该位清0。

13.在首地址为DATA的字数组中,存放了100H个16位补码数,试编写一个程序,求出它们的平均值放在AX寄存器中;并求出数组中有多少个数小于此平均值,将结果放在BX 寄存器中。

14. 已知数组A包含15个互不相等的整数,数组B包含20个互不相等的整数。

试编制一个程序,把既在A中又在B中出现的整数存放于数组C中。

华中师大《汇编语言程序设计》练习测试题库及答案

华中师大《汇编语言程序设计》练习测试题库及答案

华中师范大学网络教育学院《汇编语言程序设计》练习测试题库及答案一 .选择题(只有一个正确答案,填在题干前的括号里)1.一台完整的计算机系统包括_________。

A.硬件系统和软件系统B.系统硬件和系统软件C.控制器、运算器、存储器、输入设备和输出设备D.操作系统、机器语言、汇编语言、高级语言2.汇编程序属于_________。

A.硬件系统B.软件系统C.系统软件D.用户软件3.简单的汇编语言程序可以通过_________来建立A.连接程序B.调试程序C.汇编程序D.编辑程序4.8086/8088微处理器包含有两个独立的部件_________和_________。

A.R和ALUB.CS和IPC.BIU和EUD.CPU和I/0设备5 .进行汇编语言编程时,设计者应该考虑一些基本的要求,下列叙述不正确的是____。

A.程序应该结构化B.程序应该执行速度快C.程序应该占用空间大D.程序应该简明、易读、易懂6 .一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是____。

A.12C5BHB.12B6BHC.12C59HD.12BFEH7 .字符串HOLLO的ASCII代码表示为____.A.484F4C4C4FHB.484F4D4D4FHC.494F4C4C4FHD.494F4D4D4FH8.如果内存中某一单元的物理地址是20B4CH,那么它的逻辑地址是_________:212CH。

A. IEA2HB. IEB2HC. IFA2HD. IFB2H9,现有段地址和偏移地址为1025H:0F2AH,那么它所对应存储单元中的物理地址是_________。

A. 1107AHB. 01F4FHC. 11F4FHD. 1117AH10.一个有16个字的数据区,它的起始地址是1000H:117AH,请指出这个数据区最末一个字单元的物理地址是_________。

《汇编语言》各章习题答案

《汇编语言》各章习题答案

汇编语言各章习题答案习题一答案:1.1无符号数: 11010011=211=D3H,01110111=119=77H,10000011=131=83H,00101111=47=2FH,10101010=170=AAH带符号数:11010011= -45=D3H,01110111=+119=77H,10000011= -125=83H,00101111=+47=2FH,10101010= -86=AAH1.2 5E8AH,0BE6H,3DEH,4940H1.3 00011101+00110101=01010010=52H=8201001001+11101000=00110001=31H=4910111110+01010010=00010000=10H=1610011010+11110001=10001011=8BH= -1171.4 00101001+01010011=01111100+00000110=10000010=82H=8201110011-00100100=01001111-00000110=01001001=49H=4901100110+00011000=01111110+00000110=10000100=84H=840000000100110010+01110101=0000000110100111+00000110=0000001000000111=0207H=2071.5 000020A3H,FF94H,00003456H,007FH,FFFFEC00H1.6无符号数:0~65535,0000H~FFFFH;带符号数:-32768~+32767,8000H~7FFFH 1.7 (1) 38H等于十进制数56,是十进制数56的补码,数字8的ASCII码,十进制数38的压缩BCD码(2) FFH等于十进制数-1,是带符号数-1的补码,无符号数为255(3) 5AH等于十进制数90,是十进制数90的补码,大写字母Z的ASCII码(4) 0DH等于十进制数13,是十进制数13的补码,回车符的ASCII码1.8(1) 108=01101100B=6CH,补码01101100B,压缩BCD码0000000100001000,ASCII码313038H(2) 46=00101110B=2EH,补码00101110B,压缩BCD码01000110,ASCII码3436H(3) –15=11110001B=F1H,补码11110001B,ASCII码2D3135H(4) 254=0000000011111110B=00FEH,补码0000000011111110B,压缩BCD码0000001001010100,ASCII码323534H1.9(1) 56+63=01110111B,CF=0,SF=0,ZF=0,OF=0(2) 83-45=00100110B,CF=0,SF=0,ZF=0,OF=0(3) -74+29=11010011B,CF=0,SF=1,ZF=0,OF=0(4) -92-37=01111111B,CF=1,SF=0,ZF=0,OF=11.10回车、换行、响铃、ESC键、空格键、@、P、p习题二答案:2.9最少划分为16个逻辑段,最多划分为65536个逻辑段(每段16个字节)2.10CS:IP,DS:BX、SI、DI,ES:BX、SI、DI,SS:SP、BP2.11字节单元保存8位数,字单元保存16位数。

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

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

汇编语言程序设计习题及答案汇编语言程序设计习题及答案汇编语言是一种底层的计算机语言,它直接操作计算机的硬件资源。

虽然在现代计算机编程中,高级语言如C、Java等更为常见,但了解汇编语言的基本原理和编程技巧对于理解计算机底层工作原理和进行性能优化非常重要。

本文将介绍一些汇编语言程序设计的习题及其答案,帮助读者巩固和提升汇编语言编程能力。

一、基础习题1. 编写一个汇编程序,将存储器中的某个字节的值加1,并将结果存回原位置。

答案:```assemblyMOV AL, [地址]INC ALMOV [地址], AL```2. 编写一个汇编程序,计算存储器中一个数组的和,并将结果存放在指定的寄存器中。

答案:```assemblyMOV CX, 数组长度MOV BX, 数组首地址MOV AX, 0LOOP_START:ADD AX, [BX]ADD BX, 2LOOP LOOP_START```二、进阶习题1. 编写一个汇编程序,实现字符串的逆序输出。

答案:```assemblyMOV SI, 字符串首地址MOV DI, 字符串尾地址MOV CX, 字符串长度DEC CXREVERSE:MOV AL, [SI]MOV AH, [DI]MOV [DI], ALMOV [SI], AHINC SIDEC DILOOP REVERSE```2. 编写一个汇编程序,实现两个16位无符号整数的相乘,并将结果存放在指定的寄存器中。

答案:```assemblyMOV AX, 第一个数MOV BX, 第二个数MUL BX```三、挑战习题1. 编写一个汇编程序,实现一个简单的计算器,支持加法、减法、乘法和除法运算。

答案:```assemblyREAD_INPUT:; 读取用户输入; ...PARSE_INPUT:; 解析用户输入,获取操作数和运算符; ...CALCULATE:; 根据运算符进行相应的计算; ...DISPLAY_RESULT:; 将计算结果显示给用户; ...LOOP:; 循环执行计算器程序; ...```2. 编写一个汇编程序,实现一个简单的迷宫游戏,玩家通过键盘控制角色在迷宫中移动,并找到出口。

《汇编语言程序设计》考试练习题及答案

《汇编语言程序设计》考试练习题及答案

《汇编语言程序设计》考试练习题及答案一、单选题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分,共15分).1将下列二进制数0111,1111,1111 转换为16进制数和10进制数是()A.07FFH 3021DB. 6FEH 1021DC. 07FFH 2012DD. 07FFH 2047D2. 在1BM Pc机的IN和OUT 指令中,I/o端口号通常是由Dx寄存器来提供的,但有时也可以在指令中用一个字节来表示端口号。

试问可以直接由指令指定的I/o端口号有多少个?( )A. 127DB.255DC. 256DD.128D3. 设MYDAT是一个字变量,下列指令中,错误的是()A.MOV BX,10100BB.MOV DS,AXC.ADD BX,[10100H]D.MOV BX,MYDAT[SI]4.设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(20202)=0B7H,(21203)=65H,试指出:MOV AX,1100h[BX]指令执行后,AX寄存器内是()A.5678HB.4C2AHC.2A4CHD.7856H5.一台微型计算机的字长为16位,如果采用字节编址,那么它可以访问的最大存储空间是多少字节( ),试用16进制数表示该机的地址范围()A.1M 0~FFFFFHB.64K 0~FFFFHC.128K 0~FFFFHD.128K –FFH~FFH6. 如果在一个程序段开始执行之前,(cs)=0A7F0H,(1P)=2B40H,试问该程序段的第一个字的物理地址是()A.BAA40HB.AAB40HC.AAA40HD.0D603H7.下列指令哪个是错误的(设OP1,OP2 是已经用DB定义的变量名)( )A.CMP BL,OP1B.MOV [BX],111001BC. INC OP2D.SAR AX,CL8.假定(DX)=10111001B,(CL)=05,(CF)=1试确定:RCL DL,CL 指令执行后,DX中的值是()A.00CEHB.009DHC.00B9HD.003BH9. 有符号定义语句如下:BUFF DB 1,2,3,‘123’EBUFF DB 0L EQU EBUFF - BUFF问L的值为多少( )A.6DB.7DC.3DD.5D.10. IBMPC机中下列那些寄存器可以用来存储存储器地址()A、BX,BP,SP,CXB、AX,SI,DI,DXC、BX,SI,DI,SPD、DX,SI,DI,SP11.下列指令中正确的是()A.MOV [BX],[SI]B.MOV AX,[SI][DI]C.MOV BX,OFFSET NAME[SI]D.MOV BYTE PTR [100],10012下列程序段执行后,寄存器BX中的内容是什么()MOV CL , 3MOV BX , 0B7HROL BX , 1RCR BX , CLA、0EDHB、0DEHC、0CDHD、0CCH13JB指令的测试条件是( )A. CF=0B. CF=1 C .OF∨CF=1 D.OF=114在DEBUG中()命令用来汇编一句汇编语言语句15 A 、A B、U C 、E D、D16. 指令STI 的功能是( )17(A)允许中断(B)不允许中断(C)允许单步(D) 不允许单步二.不定项选择题,漏错多选不得分。

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

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

习题一1.1 把下列2、8、16进制数转换成为十进制数(1)(1011011)2(2)(0.10110)2(3)(111111.01)2(4)(1000001.11)2(5)(377)8(6)(0.24)8(7)(3FF)16(8)(2A.4)16解:(1)(1011011)2=64+16+8+2+1=91另解:原式=(5B)16=5×16+11=91(2)(0.10110)2=0.5+0.125+0.0625=0.6875(3)(111111.01)2=32+16+8+4+2+1+0.25=63.25另解:原式=(1000000-1+0.01)2=64-1+0.25=63.25(4)(1000001.11)2=64+1+0.5+0.25=65.75(5)(377)8=3×64+7×8+7=255另解:原式=(400-1)8=4×64-1=255(6)(0.24)8=2×0.125+4×0.015625=0.3125(7)(3FF)16=3×256+15×16+15=1023另解:原式=(400-1)16=4×256-1=1023(8)(2A.4)16=2×16+10+4×0.0625=42.25另解:原式=2×16+10+4÷16=42.251.2 把下列十进制数转换为2、16进制数(1)(127)10(2)(33)10(3)(0.3)10(4)(0.625)10(5)(1023.5)10(6)(377)10(7)(1/1024)10(8)(377/32)10解:(1)(127)10 =64+32+16+8+4+2+1= (111 1111)2=(7F)16另解:原式=(128-1)10=(1000 0000-1)2=(111 1111)2=(7F)16(2)(33)10 =32+1= (10 0001)2=(21)16(3)(0.3)10 = (0.0100 1100 1……)2=(0.4CCC……)16(4)(0.625)10= 0.5+0.125=(0.101)2=(0.A)16(5)(1023.5)10 = 512+256+128+64+32+16+8+4+2+1+0.5=(11 1111 1111.1)2=(3FF.8)16(6)(377)10 =256+64+32+16+8+1=(1 0111 1001)2=(179)16(7)(1/1024)10=(0.0000 0000 01)2=(0.004)16(8)(377/32)10=(256+64+32+16+8+1)÷(32)=(101111001)2÷(100000)2=(1011.11001)2=(0B.C1)161.3 把下列二进制数转换为十六进制数(1)(100011)2(2)(0.11101)2(3)(11111.11)2(4)(0.00101)2解:(1)(100011)2=(10’0011)2=23H(2)(0.11101)2=(0.1110’1000)2=0.E8H(3)(11111.11)2=(1’1111.1100)2=1F.CH(4)(0.00101)2=(0.0010’1000)2=0.28H1.4 把下列十六进制数转换为二进制数(1)(3B6)16(2)(100)16(3)(80.2)16(4)(2FF.A)16解:(1)(3B6)16 =(0011 1011 0110)2(2)(100)16 =(0001 0000 0000)2(3)(80.2)16 =(1000 0000.0010)2(4)(2FF.A)16 =(0010 1111 1111.1010)21.5 如果用24b储存一个无符号数,这个数的范围是什么?如果储存的是一个补码表示的有符号数,那么这个数的范围又是什么?答:如果用24b储存一个无符号数,这个数的范围应为:0~224-1如果用24b储存一个补码表示的有符号数,这个数的范围应为:-223~+223-11.6 两个无符号数,它们的大小等于十进制数210和303,用N位二进制存储时,相加产生了进位,用N+1位二进制存储时,相加没有产生进位。

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

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

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。

汇编语言程序设计习题

汇编语言程序设计习题

汇编语言程序设计习题1. 介绍汇编语言的基本概念与作用汇编语言是一种底层的计算机语言,它是由机器语言演变而来的,直接操作计算机硬件的指令集。

汇编语言的编写通常需要了解计算机体系结构,包括CPU、寄存器、内存等基本部件。

它可以更加精确地控制计算机的运行,并提供了更高的执行效率。

2. 汇编语言的基本语法和指令格式在汇编语言中,指令使用助记符(Mnemonic)表示,如MOV、ADD、SUB等。

每条指令由操作码(Opcode)和操作数(Operand)组成,操作码表示执行的操作类型,操作数表示操作的对象。

指令的格式主要包括以下几种:- 无操作数指令:如RET、NOP,不需要操作数。

- 单操作数指令:如INC、DEC,只有一个操作数,用于对寄存器或内存中的值进行加减。

- 双操作数指令:如MOV、ADD,有两个操作数,用于在寄存器之间或寄存器和内存之间进行数据传输或运算。

3. 汇编语言的寄存器与内存管理寄存器是计算机内部的一种存储单元,是CPU内存的一部分。

在汇编语言中,可以使用多种寄存器来存储和操作数据,如通用寄存器(AX、BX、CX、DX)、段寄存器(CS、DS、ES、SS)等。

内存管理是汇编语言程序设计中的重要部分,通过使用地址寻址方式,可以对内存中的数据进行读写操作。

同时,还有特殊的指令用于访问和操作特定的内存区域,如堆栈指令(PUSH、POP)和跳转指令(JMP、CALL)等。

4. 汇编语言的程序流程控制汇编语言中的程序流程控制主要由条件跳转指令和循环指令来实现。

条件跳转指令根据设置的条件判断结果,选择性地转移到程序的其他部分。

循环指令用于重复执行一段代码,直到满足指定条件后终止。

5. 汇编语言的常见应用汇编语言广泛应用于嵌入式系统、驱动程序、操作系统等底层开发领域。

它可以直接操作底层硬件资源,提供更高的执行效率和灵活性。

此外,对于对计算机体系结构和指令集有较深理解的人员来说,使用汇编语言进行程序设计还能更好地优化代码,提升整体性能。

汇编语言程序设计习题集

汇编语言程序设计习题集

第四章汇编语言程序设计习题集一、单项选择题1. 用高级语言编写的程序()。

A. 只能在基本种计算机上运行B. 无需经过编译或解释,即可被计算机直接执行C. 具有通用性和可移植性D. 几乎不占用内存空间2. 一般地,我们将计算机指令的集合称为()。

A.机器语言 B. 汇编语言 C. 模拟语言 D. 仿真语言3. 我们通常所说的“裸机”指的是()。

A. 只装备有操作系统的计算机B. 不带输入输出设备的计算机C. 未装备任何软件的计算机D. 计算机主机暴露在外4. 计算机的软件系统一般分为()两大部分。

A. 系统软件和应用软件B. 操作系统和计算机语言C. 程序和数据D. DOS和Windows5.计算机系统软件中的汇编程序是一种()。

A. 汇编语言程序B. 编辑程序C. 翻译程序D. 将高级语言转换成汇编程序的程序6. 假设V1和V2是用DW定义的变量,下列指令中正确的是:()A. MOV V1,20HB. MOV V1,V2C. MOV AL,V1D. MOV 2000H,V27. PC机所使用的标准键盘向主机发送的代码是()A . ASCII码B . 扫描码 C. BCD码 D. 格雷码8. 8086CPU中断号为8的中断矢量存放在()。

A. 0FFFFH:0008HB. 0000H:0008HC. 0000H:0020HD. 0020H:0000H9. 已知变量VAR为字型,则TYPE VAR=()。

A. 1B. 2C. 3D. 410.汇编语言源程序经MASM汇编后可直接生成的文件是()。

A. .LSTB. .CRFC. .EXED. .OBJE. .ASMF. .MAP11. 段定义语句以( B )语句结束。

A.ENDB.ENDSC.ENDPD.ENDM 12.若主程序段中数据段名为DA TA,对数据段的初始化操作应为()。

A. MOV AX,DATAB. MOV AX,DA TAMOV ES,AX MOV DS,AXC. PUSH DSD. MOV DS,DATA13..EXE文件产生在()之后。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

16.提示下列指令序列执行后的正确结果是( A )。

MOV BX,OFFFCHMOV CL,2SAR BX,CLA.3FFFH B.0FFFH C.0FFFCH D.0FFF5H19. 指令SCAS的寻址方式是()。

A 源操作数为寄存器寻址,目的操作数为寄存器间接寻址B 源操作数为寄存器间接寻址,目的操作数为寄存器间接寻址C 源操作数为寄存器间接寻址,目的操作数为寄存器寻址D 源操作数为寄存器寻址,目的操作数为寄存器寻址22. 下列指令中不合法的指令是(C)。

A IN AX, 03F8HB MOV BX, AXC REP CMPSBD SHR BX, CL23. 下列指令中正确的是()。

A MOV SS, 2400HB MOV SS, [2400H]C MOV SS, DSD MOV SS, SP24. 下列指令中正确的是(A)。

A XCHG AH, ALB XCHG AL, 20HC XCHG DS, AXD XCHG SP, [20H]29. 下列程序段执行完后,BX寄存器中的内容是( C )。

MOV CL, 3MOV BX, 0B7HROL BX, 1ROR BX, CLA 002DHB 00EDHC C02DHD 000DH30. 执行下列程序:MOV AX, 0MOV BX, 1MOV CX, 100A: ADD AX, BXINC BXLOOP AHLT执行后的结果为:(AX)= ( C ),(BX)= ( ).A 5050,99B 2500,100C 5050,101D 2550,10235. 逻辑位移指令SHR用于(D),而算术位移指令SAR用于带符号数除2。

A 带符号数减2B 带符号数除2C 无符号数乘2D 无符号数除239. 执行下列指令后:MOV AX, 1234HMOV CL, 4ROL AX, CLDEC AXMOV CX, 4MUL CX寄存器AL的值是( B )。

A 60HB 00HC 04HD 08DH43. 对于下列程序段:AGAIN: MOV ES:[DI],ALINC DILOOP AGAIN可用指令( )完成相同的功能。

A REP MOVSB B REP LODSBC REP STOSBD REPE SCASB45. 使得JB指令执行转移操作的条件是( )。

A CF=1B CF=1且ZF=0C ZF=0D CF=0或ZF=146. 在“先判断后工作”的循环程序结构中,循环执行的次数最少是( )。

A 1B 0C 2D 不定47. 下列指令中,指令( )先执行CX-1赋给CX操作,然后再根据CX 的值决定是否转移、循环或进行重复操作。

A JNCB REPC JCXZD LOOP48. 指令LOOPZ的循环执行条件是( )。

A CX≠0并且ZF=0B CX=0或ZF=0C CX≠0并且ZF=1D CX=0或ZF=151. 运算型指令的寻址和控制转移型指令的寻址,其不同点在于( )。

A 前者取操作数,后者决定程序的转移地址B 后者取操作数,前者决定程序的转移地址C 两者都是取操作数D 两者都是决定程序的转移地址53. 汇编语言语句格式中的名字项,下列哪一个不正确?( )A. FFFFFHB. @VariableC. 0FFFFHD. Third_street二、填空11.已知:(AX)=01CDH,(BX)=0AFH,(CX)=0BE02H,CF=1,写出单步执行每条指令时CF,ZF及相关寄存器的内容。

TEST AX,BX ;AX=01CDH,BX=0AFH;CF= ,ZF= ,(AX)= H,(BX0= HROL BX,CL ;(BX)=2BC H,(CL)=02H;CF= ,ZF= ,BX= H,CL= H13.对于字除法指令,目的操作数存放在 AX 中,指令执行后,商放在 AL ,余数在 AH 中。

15. 在除法指令IDIV BX中,被除数隐含为 AX或DX:AX 。

16. 在乘法指令MUL WORD PTE[BX]中,被乘数隐含为 AX ,乘积在DX:AX 中。

17. 执行XLAT指令前,要将表的首地址放在 BX 中,表内偏移地址放在 AL 。

18. 若AL=34H,CL=4,CF=0,执行SAL AL, CL指令后,AL= 40H , CF= 1 。

20. 若DF=1,执行指令LODSB后,SI的内容会自动。

22. 利用指令JO实现转移的条件为。

23. 利用指令JZ后,程序顺序执行下一条指令的条件是。

28. 试分析下列程序段:ADD AX,BXJNO L1JNC L2SUB AX,BXJNC L3JNO L4JMP SHORT L5如果AX和BX的内容给定如下,问该程序执行完后转向哪里?AX BX⑴ 147B 80DC 转向 L1 。

⑵ B568 54B7 转向 L5 。

⑶ 42C8 608D 转向 L1 。

⑷ D023 9FD0 转向 L5 。

⑸ 94B7 B568 转向 L5 。

我也不会30. 条件转移指令的目标地址应在本条件转移指令的下一条指令地址的字节范围内。

32. 一个有16个字的数据区,它的起始地址为70A0:DDF6,那么该数据区的最后一个字单元的物理地址为 H。

33.假设(DS)=B000H,(BX)=080AH,(0B080AH)=05AEH,(0B080CH)=4000H,执行指令“LES DI,[BX]”后,(DI)= , (ES)= 。

36. 令(AL)=98H, (BL)=12H, 则执行指令MUL BL后,(AX)=。

37. 假设(SS)=2250H,(SP)=0140H,如果在堆栈中存入5个数据,则栈顶的物理地址为。

38. 对于字节乘法指令,其目的操作数存放在中,而其源操作数可以用除立即数以外的任一种寻址方式。

其乘积为位,应存放在中。

44.下面程序段完成将字变量OPR1转换成反码和补码分别存入自变量COMP和NEGA单元,将语句补充完整。

OPR1 DW -XXXXXDCOMP DW ?NEGA DW ?MOV AX,OPR1(1)MOV COMP,AX(2)MOV NEGA,AXHLT54.分析下面程序段,回答指定问题:XOR AL,ALCALL SUBROUTMOV BL,ALCALL SUBROUTRCR AL,1HLTSUBROUT PROC NEARNOT ALJS NEXTSTCNEXT: RETSUBROUT ENDP问:程序运行后,AL= ,BL= ?55.分析下面程序段,回答指定问题。

BUF DB 0CHMOV AL,BUFCALL FAR PTR HECA HECA PROC FARCMP AL,10JC K1ADD AL,7K1: ADD AL,30HMOV DL,ALMOV AH,2INT 21HRETHECA ENDP问: 程序执行后,DL= ,屏幕上显示输出的字符是 。

三、问答()16. 若8086执行SUB AH,AL后的结果是(AH)=85H,OF=1,问:(1)执行前AH和AL内的数哪个大?(2)AH中原存的是正数还是负数?其理由是什么?(3)结果(AH)=85H是否正确?理由是什么?23.下列语句中,哪些是无效的汇编语言指令?并指出无效指令中的错误。

(9) INC [BX](14) MOV AX,[BX*7]24.若数组ARRAY在数据段中已作以下定义ARRAY DW 100 DUP(?)试指出下列语句中操作数中的各操作符的作用,指令执行后各寄存器产生了什么变化?MOV BX,OFFSET ARRAYMOV CX,LENGTH ARRAYMOV SI,0ADD SI,TYPE ARRAY26.执行下列程序段前,BUFFER存储区的数据为:DB 1,2,3,4,5,6请给出执行下面程序段后BUFFER存储区中的数据。

MOV SI,OFFSET BUFFERMOV CX,5XOR AL,ALAGAIN: SHL [SI],1INC SYTE PTR[SI]ADD AL,[SI]INC SILOOP AGAINMOV [SI],AIHLT28.假设VAR1和VAR2为自变量,LAB为程序中的一个标号,试找出下列指令的错误之处。

(1)ADD VAR1,VAR2(2)SUB AL,VAR1(3)JNZ VAR1(4)JMP LAB[SI](5)JMP NEAR LAB31. 指出下列每一对伪指令语句的区别。

(1) X1 DB 76 X2 EQU 76(4) X1 DW 3678H X2 DB 36H,78H五、应用。

4. 试编写一程序段,要求在长度为100H字节的数组ARRAY中,找出大于42H的无符号数的个数并存入字节单元UP中;找出小于42H的无符号数的个数并存入字节单元DOWN中。

5. 试编写一个程序求出双字节数的绝对值。

双字长数在A和A+2单元中,结果存放在B和B+2单元中。

6. 编写程序段,把字符串STRING中的第一个‘&’字符用空格符代替。

STRING DB ‘The date is FEB&03’7. 下列ASCⅡ码串(包括空格符)依次存储在起始地址为CSTRING的字节单元中:CSTRING DB ‘BASED ADDRESSING’请编写指令将字符串中的第1个和第7个字符传送给DX寄存器。

8. 若地址偏移量为2000H~2003H有一个4字节的数,现要把该数左移1位,写出完成该操作的程序段。

(要求不超过5条指令)9. 写出对存放在DX和AX中的双字长数求负的指令序列。

10. 用其他指令完成和下列指令一样的功能。

(1) REP MOVSB (2) REP STOSB(3) REPNE SCASB (4) REPE CMPSB12. 编写一程序段,比较两个5字节的字符串OLDS和NEWS,如果OLDS字符串不同于NEWS字符串则执行NEW_LESS;否则顺序执行程序。

13. 已知在N到N+I的存储区中有一组ASCⅡ码字符串(共I+1个),试编写一个汇编语言程序,将此字符串传送到NI到NI+I单元中,并使字符串的顺序与原来的顺序相反。

16. 已知DATA单元为一个16位带符号数的原码形式,试用补码形式表示该数。

17. 在内存的数据段中存放了若干个8位带符号数,数据块的长度为COUNT(不超过255),首地址为TABLE,试统计其中正元素、负元素及零元素的个数,并分别将个数存入PLUS、MINUS和ZERO单元中。

18. 编写程序将ELEMS中的100个字节数据的位置颠倒过来(即第一个字节和第100个字节的内容交换,第二个字节和第99个字节的内容交换……)。

程序设计题2.测定ALPHA字节变量单元中的ASCⅡ码字符,进行如下操作:(1)若为数字字符,送入NUM字节单元中。

相关文档
最新文档