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

合集下载

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

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

习题一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位二进制存储时,相加没有产生进位。

汇编语言复习题(带答案)

汇编语言复习题(带答案)

汇编语言期末复习题第1章:基础知识1、在汇编语言程序的开发过程中使用宏功能的顺序是( C )。

DXA、宏定义,宏调用B、宏定义,宏展开C、宏定义,宏调用,宏展开D、宏定义,宏展开,宏调用2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( B )。

DXA、名字项B、操作项C、操作数项D、注释项3、可屏蔽中断就是它的请求是否被CPU响应要受( IF )的控制。

DX4、使用LINK连接命令,执行后可生成文件的扩展名为( EXE )。

DX5、在寄存器间接寻址中,如果指令中指定的寄存器为BP,则操作数在堆栈段中,段地址在 SS 寄存器中。

TK6、注释项用于说明程序段或是一条和几条指令的功能,一般用;(或分号) 表示注释的开始。

TK7、DOS系统功能调用方式为:(1)置入口参数;(2)中断程序编号送 AH 寄存器后执行INT 21H。

TK8、通常主程序和子程序间参数传送的方法有三种:用寄存器传递、用存储单元传递、用堆栈传递(顺序可调换)。

TK9、中断是CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该事务处理完后能自动恢复执行原先程序的过程。

在此,称引起紧急事务的事件为中断源。

TK10、在字符串操作指令中,DS∶ SI 指向源串,ES∶ DI 指向目的串。

TK11、计算机系统通过接口与外围设备通信。

TK12、键盘I/O、显示I/O和打印I/O分别对应 16H 、 10H 和 17H 号中断。

TK13、字符显示模式缓冲区中的一个字对应于屏幕上的一个字符。

每个字的第一个字节为显示字符的 ASCII码,第二个字节为显示字符的属性。

TK14、简述上机运行汇编语言程序的过程。

JD答:首先打开未来汇编,新建一个空的汇编文件,后缀为.asm,然后输入汇编程序代码,保存,再编译成机器指令,然后连接成可执行文件,即exe文件,最后再运行。

15、简述程序中指令和伪指令的区别。

汇编语言程序设计复习2(带答案)1

汇编语言程序设计复习2(带答案)1

汇编语言程序设计练习题2一、单项选择题(答案BDDBA BDADC CCAC CBBDA BDADA BCCB )1、使计算机执行某种操作的命令是( )A.宏指令B.指令C.伪指令D.语句2、某存储单元的物理地址是12345H,可以作为它的段地址有()。

A.2345H B.12345HC.12340H D.1234H3、8088/8086存储器分段,每个段不超过()A.64K个字B.32K个字节C.1兆个字节D.64K个字节4、计算机能直接识别并执行的语言是( )A.汇编语言B.机器语言C.高级语言D.低级语言5. 8086/8088系统执行传送指令MOV时()A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志6、以下各个指令中正确的是()。

A. MOV CS, DXB. MOV DS, BPC. IN 20H,ALD. MOV AH, BX7、下列对OUT指令的叙述正确的是()。

A. 实现从端口中读出数据B. 能直接访问的端口范围是0~1KBC. 能访问的端口为64KBitD. 只能用DX做为间接寻址的寄存器8、已有汇编语句“V AR EQU 1220H”,则语句“mov AX, V AR”中源操作数的寻址方式为()。

A. 立即寻址B. 直接寻址C. 寄存器间接寻址D. 基址寻址9、与MOV BX,OFFSET DATA1指令完全等效的指令是()。

A.MOV BX,DATA1B.LDS BX,DATA1C.LES BX,DATA1D.LEA BX,DATA110、下列指令中段默认为堆栈段的是()A.MOV AX,[BX+SI+10]B.ADD AX,ES:[SI]C.SUB BX,[BP][DI]D. MOV DX,[1000H]11、已知DS=2000H,ES=1000H, SI = 0800H,内存10880H开始的两个单元中存放5678H,内存20880H开始的两个单元中存放8765H,则语句“LEA BX,[SI+80H]”执行后BX 的值为()。

四川大学汇编语言程序设计期末试题附答案

四川大学汇编语言程序设计期末试题附答案

四川大学期末考试试题(闭卷)考生承诺我已认真阅读并知晓《四川大学考场规则》和《四川大学本科学生考试违纪作弊处分规定(修 订)»,郑重承诺:1、 已按要求将考试禁止携带的文具用品或与考试有关的物品放置在指定地点;2、 不带手机进入考场;3、 考试期间遵守以上两项规定,若有违规行为,同意按照有关条款接受处理。

考生签名:2.以下标志位中,哪一个不属于状态标志位?((A ) CF ( B ) OF ( C IF ( D ) AF 3. 以下寄存器中,哪一个用于指示堆栈的栈顶位置? (A ) IP ( B ) SI ( C SP (D ) BX 4. 以下寄存器中,哪一个用于提供代码段的段基值? (A ) SS ( B ) DS ( C CS ( D ) AX 5.以下指令中,不影响标志位的是哪一条?( D (A ) INC ( B ) AND ( C ) SUB ( D ) XCHG第 1 页,共10页 试卷编号:)一、 单项选择题(本大题共20小题,每小题1分,共20分)提 示:在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在下面的表格中。

错选、多选或未选均无分。

(20152016学年第 1学期)课程号: 适用专业年级:课序号: 学生人数:课程名称: 印题份数:任课教师: 学号:成绩: 姓名:1.以下寄存器中,哪一个不属于地址指针寄存器?( (A ) AX ( B ) BX ( C ) SI ( D ) DI13.假设(AL) =05H,执行指令 ADD AL,0 后,(A) 0(B) 1(C) 2( D)6.SF 标志位的含义是如下哪一个?( A )(A)符号标志(B)零值标志 (C)补码溢出标志 (D) 进位标志7.LOOP 指令隐含使用如下哪一个寄存器作为计数器?( (A) AX(B) BX (C CX (D) DX 8.以下指令中,哪一条一定会访问堆栈段? ( D (A) DEC (B) ADD (C) MOV (D) CALL 9.以下伪指令中,用于结束一个段定义的是哪一个?( (A) END (B) SEGMENT ( C) ENDP D (D) ENDS 10.以下伪指令中,用于分配 一个字节空间的是哪一个? ( B (A) DB(B) DW (C) DD (D) EQU11.假设(AL) (A) 3FH =354 执行指令 AND AL,0FH 后, (AL) = ( D (B)F5H (C) 30H ( D) 05H12.假设(AL)(A) 0 =02H,执行指令 INC AL 后,CF = ( D )与执行INC 指令前一致 (B) 1 (C) 2 (D) 14.假设(AL) =88H,执行指令 SUB AL,90H 后,OF = ( A (A) 0 (B) 1(C) 2 ) (D)与执行ADD 旨令前一致 15.假设(AL) (A) 0 =68H (B) 1执行指令 ADD AL,08H 后, AF =( B ) (C) 2 ( D)与执行ADD 旨令前一致 16.假设(AL) (A) 80H =81H, (B) 18H (C) 03H 执行指令 ROL AL,1 后,(AL) = ( C )(D) 0C0H 17.假设(AL) (A) 0 =93H 执行指令SHL AL,1 (B) 1(C) 2后,OF= ( b(D) )与执行ADD 旨令前一致18.假设(SF) (A) 0058H =0060H 执行指令 pUSH AX 后, (B) 005EH (C) 0062H (D)(SP =( b 0060H19.假设CF=1,以下哪一条转移指令一定会转移至目标地址?( (A) JC(B) JNC (C) JS (D) JNZ 20.假设(BL) (A) 00H=04IH 执行指令 XOR BL,0FH 后,(BL) = ( D (B) 0FH (C) 04H ( D) 0BH 第2页,共10页PF = ( B ) 与执行SUB旨令前一致'在下表中。

汇编语言程序设计复习题

汇编语言程序设计复习题

汇编语言程序设计复习题汇编语言程序设计复习题汇编语言是一种低级语言,它直接操作计算机的硬件,具有高效性和灵活性。

在计算机科学和工程领域,汇编语言程序设计是一门重要的课程。

下面将给出一些汇编语言程序设计的复习题,帮助读者巩固和加深对该领域的理解。

1. 请写出一段汇编语言代码,实现将一个字节的数据存储到内存地址0x100处。

答案:```assemblyMOV [0x100], AL```2. 请写出一段汇编语言代码,实现将寄存器AX中的值加1。

答案:```assemblyINC AX```3. 请写出一段汇编语言代码,实现将两个寄存器BX和CX中的值相加,并将结果存储到寄存器DX中。

答案:```assemblyADD DX, BXADD DX, CX```4. 请写出一段汇编语言代码,实现将一个字节的数据从内存地址0x200处读取,并存储到寄存器AL中。

答案:```assemblyMOV AL, [0x200]```5. 请写出一段汇编语言代码,实现将寄存器AX中的值存储到内存地址0x300处。

答案:```assemblyMOV [0x300], AX```6. 请写出一段汇编语言代码,实现将寄存器AX中的值与寄存器BX中的值比较,并根据比较结果设置标志位。

答案:```assemblyCMP AX, BX```7. 请写出一段汇编语言代码,实现将两个寄存器CX和DX中的值相乘,并将结果存储到寄存器AX中。

答案:```assemblyMUL CX, DX```8. 请写出一段汇编语言代码,实现将两个寄存器BX和CX中的值相减,并将结果存储到寄存器AX中。

答案:```assemblySUB AX, BXSUB AX, CX```9. 请写出一段汇编语言代码,实现将一个字节的数据从内存地址0x400处读取,并存储到寄存器AL中,然后将AL中的值移位1位,最后将结果存储到内存地址0x500处。

答案:```assemblyMOV AL, [0x400]SHL AL, 1MOV [0x500], AL```10. 请写出一段汇编语言代码,实现将寄存器AX中的值与寄存器BX中的值相除,并将商存储到寄存器DX中,余数存储到寄存器AX中。

《汇编语言程序设计》复习资料

《汇编语言程序设计》复习资料

《汇编语言程序设计》复习资料一、基本概念1、8088/8086CPU内部寄存器有__14____个,其中的AX、BX、CX、DX是通用寄存器,SP、BP、DI、SI 是基址和变址寄存器,CS、DS、ES、SS、是段寄存器,此外还有指令指针寄存器 IP 和标志位寄存器 FLAGS 两个控制寄存器,所有寄存器都是 16 _位寄存器,每个寄存器可以存放 16 位二进制数。

2、8088/8086CPU的标志位寄存器中有9个标志位,其中的DF、IF、TF是控制标志,OF、SF、ZF、CF、AF、PF 是状态标志。

3、8088/8086CPU有三组总线,它们是数据总线、控制总线和地址总线;地址总线是 20 条,因此它可以寻址的范围是 1M 字节。

通常将 1024 字节称为1K,将 1024K 字节称为1M。

4、8088/8086CPU的存储器采用分段方式管理,每个段最多可以有 64K 字节,全部存储空间可以分成 16 个大小为64K且互相不重叠的段。

5、采用分段方式管理的存储单元的地址分成物理地址和逻辑地址两种,逻辑地址由段地址和偏移地址两部分构成,段地址是每个存储器段的起始地址;偏移地址则是相对于每个段第一个存储单元的偏移值。

段地址存放在段寄存器中,由于8088/8086CPU的段寄存器是16位寄存器,因此在段寄存器中存放的是段地址的 16 位;而CPU对数据的存取是按物理地址进行的,物理地址和逻辑地址间的关系是__ 物理地址=段地址 16D(或10H)+ 偏移地址___。

6、存储器中,数据是以字节为单位存放的,它是一个 8位二进制数,16位二进制数是 2个字节,又称为字;每个存储单元可以存放一个字节;一个字则占用两个存储单元,存放时要将低字节放在地址较小的存储单元中。

7、计算机的指令由操作码字段和操作数字段构成,它们分别给出计算机所要执行的操作和执行操作所要的操作数。

8、指令操作数通常可以存放在指令中,也可以存放在CPU的寄存器中,大多数存放在存储器中,它们分别称为立即数、寄存器操作数和存储器操作数。

汇编语言期末复习题.docx

汇编语⾔期末复习题.docx汇编语⾔期末复习题第1章:基础知识1、在汇编语⾔程序的开发过程⼩使⽤宏功能的顺序是(c )。

A、宏定义,宏调⽤B、宏定义,宏展开C、宏定义,宏调⽤,宏展开D、宏定义,宏展开,宏调⽤2、汇编语⾔源程序中,每个语句由四项组成,如语句耍完成⼀定功能,那么该语句中不对省略的项是(B )。

A、名字项B、操作项C、操作数项D、注释项3、nJ屏蔽中断就是它的请求是否被CPU响应要受(IF )的控制。

4、使⽤LTNK连接命令,执⾏后可⽣成⽂件的扩展名为(EXE )。

5、在寄存器间接寻址⼬,如果指令⼬指定的寄存器为BP,则操作数在堆栈段⼩,段地址在SS寄存器中。

6、注释项⽤于说明程序段或是⼀条和⼉条指令的功能,-?般⽤;(或分号)表⽰注释的开始。

7、DOS系统功能调⽤⽅式为:(1)置⼊⼝参数;(2)中断程序编号送AH 寄存器后执⾏INT 21H。

8、通常主程序和了程序间参数传送的⽅法启三种:⽤寄存器传递、⽤存储单元传递、⽤堆栈传递(顺序可调换)。

9、中断是CPU暂停当前程序的执⾏,转⽽执⾏处理紧急事务的程序,并在该事务处理完后能⾃动恢复执⾏原先程序的过程。

在此,称引起紧急事务的事件为中断源。

10、在字符串操作指令中,DS :S1 指向源串,ES : D1 指向⽬的串。

11、计算机系统通过览与外围设备通信。

TK12、键盘I/O、显⽰I/O和打印I/O分别对应 _______ 16H 、10H 和号中断。

13、字符显⽰模式缓冲区中的⼀个字对应于屏幕上的⼀个字符。

每个字的第⼀个字节为显⽰字符的ASCIT码, 第⼆个字节为显⽰字符的属性。

TK14、简述上机运⾏汇编语⾔程序的过程。

JD答:⾸先打开未來汇编,新建⼀个空的汇编⽂件,后缀为.asm,然后输⼊汇编程序代码,保存,再编译成机器指令,然后连接成可执⾏⽂件,即exe⽂件,最后再运⾏。

15、简述程序中指令和伪指令的区别。

答:能被计算机识别并执⾏的⼆进制代码,它规定了计算机能完成的某⼀操作。

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

《汇编语言程序设计》必考试题及答案一、选择题1. 汇编语言属于 ____。

A. 高级语言B. 机器语言C. 低级语言D. 自然语言答案:C. 低级语言2. 在汇编语言中,寄存器eax主要用于 ____。

A. 存储返回值B. 存储函数参数C. 存储局部变量D. 存储全局变量答案:A. 存储返回值3. 汇编语言中,jmp指令用于 ____。

A. 设置循环条件B. 调用子程序C. 跳转到指定地址D. 返回主程序答案:C. 跳转到指定地址二、简答题1. 请简述汇编语言与高级语言的区别。

汇编语言是一种低级语言,使用助记符来代表机器指令,每条汇编指令对应一条机器指令。

而高级语言更加抽象,采用更接近人类自然语言的表达方式,通过编译器将高级语言编写的程序转换为机器语言。

2. 请列举汇编语言常用的寄存器及其作用。

汇编语言常用的寄存器包括:- eax:主要用于存储返回值。

- ebx、ecx、edx:通用寄存器,用于暂存计算结果。

- esi、edi:源操作数寄存器和目的操作数寄存器,用于存储数据传输时的源地址和目的地址。

- ebp、esp:用于管理函数调用过程中的栈帧。

- eip:指令指针寄存器,存储下一条将要执行的机器指令的地址。

三、编程题请编写汇编语言程序,实现从键盘输入两个数,并将其相加后输出的功能。

```assemblysection .dataprompt db '请输入两个数,以空格分隔:', 0result db '两数相加的结果为:%d', 0section .bssnum1 resb 4num2 resb 4section .textglobal _start_start:; 输出提示信息mov eax, 4mov ebx, 1mov ecx, promptmov edx, 20int 0x80; 输入第一个数mov ebx, 0mov ecx, num1 mov edx, 4int 0x80; 输入第二个数 mov eax, 3mov ebx, 0mov ecx, num2 mov edx, 4int 0x80; 将两个数相加 mov eax, [num1] mov ebx, [num2] add eax, ebx; 输出结果mov ebx, eaxmov eax, 1mov ecx, resultint 0x80; 退出程序mov eax, 1xor ebx, ebxint 0x80```以上为一个简单的汇编语言程序,实现了从键盘输入两个数,并将其相加后输出的功能。

汇编语言程序设计复习题

汇编语⾔程序设计复习题2008/2009下学期《汇编语⾔程序设计》复习题⼀、单项选择题1、使计算机执⾏某种操作的命令是( )A.宏指令B.指令C.伪指令D.语句2、换码指令的助记符是( )A. XCHGB. LEAC. XLATD. MOV3、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是()。

A.AX,BX,CX,DXB.BX,BP,SI,DIC.SP,IP,BP,DXD.CS,DS,ES,SS4、计算机能直接识别并执⾏的语⾔是( )A.汇编语⾔B.机器语⾔C.⾼级语⾔D.低级语⾔5. 堆栈的⼯作⽅式是( )A.先进先出B.随机读写C.只能读出,不能写⼊D.后进先出6、以下各个指令中正确的是()。

A. MOV CS, DXB. MOV DS, BPC. IN 20H,ALD. MOV AH, BXB. 能直接访问的端⼝范围是0~1KBC. 能访问的端⼝为64KBitD. 只能⽤DX做为间接寻址的寄存器8、已有汇编语句“V AR EQU 1220H”,则语句“mov AX, V AR”中源操作数的寻址⽅式为()。

A. ⽴即寻址B. 直接寻址C. 寄存器间接寻址D. 基址寻址9、与MOV BX,OFFSET VAR指令完全等效的指令是()。

A.MOV BX,V ARB.LDS BX,V ARC.LES BX,V ARD.LEA BX,V AR10、指令INC⼀定不会修改的标志是()。

A. 溢出标志OFB. 符号标志SFC. 进位标志CFD. 奇偶标志PF11、已知DS=2000H,ES=1000H, SI = 0800H,内存10880H开始的两个单元中存放5678H,内存20880H开始的两个单元中存放8765H,则语句“LEA BX,[SI+80H]”执⾏后BX 的值为()。

A. 5678HB. 1000HC. 0880HD. 8765H12、汇编结束语句有()种格式,为()。

A.1,END B.1,END 程序的启动地址标号C.2,END和END 程序的启动地址标号D.以上都不正确13、指令“CALL FAR PTR SUM”执⾏时将会向堆栈中顺次压⼊()。

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

汇编语言程序设计》期末复习题及答案一、选择( 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中。

参见P402 .与指令“ NEG AX”功能等效的两条指令依次是NOT AX和INC AX。

参见 P85、94、843 .语句“ VAR DB 3 DUP ( 3, 3 DUP ( 3))”经过汇编后应分配12 个字节单元。

参见P584 .指令“ MOV AX, SEG VAR'的执行,是把变量VAR的段地址送到AX中。

参见P625 .设(DS =1000H, (ES) =2000H, (SS) =3000H, (BP) =4000H。

计算下列各指令中源操作数的物理地址:MOV AX [1000H] 物理地址 11000H __________MOV AX ES: [BP] 物理地址 24000H __________参见P296 .变量和标号均具有三种属性,即: 段属性偏移属性类型属性放在寄存器DI中,并且目的串必须在附加段中,执行串处理指令时,用方向标SI ____ 中,目的串首地址存参见P31、32三、判断题(15题)1 . SHL AL, 22. INC 23. ADD BX 1 214 ,当把它参见P56 597 •在做乘法运算时,如果是做字运算,乘积放在DX 和AX_两个寄存器中,做除法运算时,若做字节运算,余数放在AH中,商放在 AL中。

参见P86、87&用以访问存储器操作的地址表达式中,只要出现BP寄存器,系统就默认以段寄存器SS的内容作为存储器操作数的段地址。

参见P40H 449 •在数据段或代码段的最开始,常用伪指令“ ORG n”来定义本段的偏移地址初值,该初值的范围是 OOOOH ~FFFFH参见P66 2810 •指令“ CWD能实现对某寄存器中内容进行扩展,该寄存器是:AX参见P8911. 8088/8086CPU能寻址的最大存储空间为1MB因此CPU的地址总线是 J0_条。

参见P2812 .在应用串处理指令 MOVS时,源串首地址存放在寄存器志位DF控制地址自动增减,数据串的长度存放在寄存器CX中。

参见 P125 12613 .程序状态字 PSW中的ZF位,当结果为0时,ZF= _________ ,结果为1时,ZF=_0参见P3314•十六进制数0D6H当把它看作无符号数时,它表示的十进制正数为看作带符号数时,它表示的十进制负数为-42 。

参见P22、2315 . IBM PC机中用来存放段地址的段寄存器有四个:CS、DS、SS 、ES(错)参见P95 2 改为CL(错)参见P84、83 不能用立即数(对)参见P834. MOV [SI][DI] , BX ( 对 ) 参见 P 445. SUB BX CL ( 错 ) 参见 P 84 BX 与CL 数据宽度不一 16. OUT34H AL ( 对 ) 参见 P 1707. IN AL , 0AH ( 对 ) 参见 P 1698. MOV CX [SP] ( 错 ) 参见 P 42 SP 不能做间址寄存器 9. MUL AL ( 对 ) 参见 P 86、 8710 .SUB BX, BP( 对) 参见 P 8411.MOV DS SEG VARY( 错 )参见 P62、46 SEG VARY 是立即数, 而 DS 不能接受立即数12.MOV VARY[SI] , ES: BL(错 )参见P40 对寄存器不能使用段跨越前缀13 .CMP BLOCK [100H](错 )参见P85不能对两个内存单元直接进行比较14 .宏调用时实元和哑元的个数可以不一致改。

( 对 )参见P161 15 .REP STOSB(对 )参见P127四、写程序段(9题)1.计算8*9,并将乘积送 SI 。

(参见P87,例5.10,考查对乘法指令的掌握情况) mov al,8mov bl,9 mul bl mov si,ax2 •计算35/6,商存于BL 中,余数存于 CL 中。

(参见P88,例5.13,考查对乘法指令的掌握情况) mov ax,35 mov bl,6 div bl mov cl,ah3 .输入一个字母,然后输出它的后继字母(不考虑输入字母是 Z 的情况)。

(参见P102第6题及P186,考查对1号、2号功能调用的掌握) mov ah,O1h int 21h inc almov dl,almov ah,02hint 21h4•从端口 35H读入一个字节数据,将该数的第3位置1后(其余位不变),再写回端口35H。

(说明:最低位为第 0位)(参见P178,第2道问答题,考查对I/O指令的掌握)in al,35hor al,08hout 35h,al5 •定义数据段 NUM数据段中的数据按下列要求依次存储:(1)变量X,类型为字节,初值为 17 ;(2)数组变量M,类型为字,所占空间为 100H个单元;(3)变量 MSG存储字符串"LUCKY"。

(参见P79,问答题的第2小题及P181,考查对段定义伪操作的掌握)NUM segmentX db 17M dw 100h dup(?)MSG db ‘LUCKY'NUM ends6•寄存器BX中存放着一个带符号数,求出其绝对值,结果还放在BX中。

(参见P107,例6.3,考查对 CMP NEG指令的掌握)cmp bx,0jg L1neg bxL1:…7 •对存放在(DX , AX )中的双字数据作求补运算。

(参见P83,例5.2及P85,例5.7,考查对双精度数的操作)not dxnot axadd ax,1adc dx,0&计算5!,结果存于寄存器 SI中。

(参见P107,例6.4,考查对循环指令的掌握)mov cx,5mov al,1mov bl,1L1:mul blinc blloop L1mov si,ax9 .定义一个名字为 ADDXYZ的宏,实现 W X+Y+Z。

(注:所有数据均为字类型)(参见P166,编程题第4题及P201,考查对宏定义的掌握)ADDXYZ MACRO X,Y,Z,Wmov ax,xadd ax,yadd ax,zmov w,axendm五、写程序(9题)1•从键盘输入一个字符串(长度不超过30),统计字符串中非数字的个数,并将统计的结果存入字单元COUNTS,用EXE格式实现。

(参见P152〜P154,考查字符数组、比较指令、循环等)data segme ntstr db 30,?,30 dup⑺count db 0data endscode segme ntassume cs:code,ds:data mai n proc farstart: push dsmov ax,0push axmov ax,datamov ds,axlea dx,strmov ah,0ahint 21hmovcl,str+1mov ch,0mov si,2L3: cmpstr[si],30hjae L1inc countjmp L2L1:cmpstr[si],39hjbe L2inc count L2: incsiloop L3retmain endp code endsendstart2 •统计一个16位二进制数中1的个数,并将结果输出,用COM格式实现。

相关文档
最新文档