《汇编语言程序设计》第2次作业
- 格式:doc
- 大小:354.00 KB
- 文档页数:18
第五章 微型计算机中的存储器5.17 某系统的存储器配备两种芯片,即32K*8位的EPROM 和32K*8位的SRAM ,采用74LS138译码器输出作片选信号。
如图所示。
(1)确定每一片存储器芯片的地址范围。
解:各存储单元的存储映像分析如下图所示A 19A 18 A 17A 16 A 15 A 14A 13A 12 A 11A 10A 9A 8 A 7A 6A 5A 4 A 3A 2A 1A 0地址号芯片1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80000H 1#EPROM 1 0 0 0 0..................... 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 87FFFH1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 88000H2# 1 0 0 0 1.....................1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 8FFFFH 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 90000H 3#1 0 0 1 0............... ...... 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 97FFFH 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 98000H 4# SRAM1 0 0 1 1..................... 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9FFFFH 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0A0000H 5# 1 0 1 0 0..................... 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 A7FFFH 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A8000H 6# 1 0 1 0 1..................... 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 AFFFFH 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0B0000H 7# 1 0 1 1 0..................... 1 01 1 0 1 1 1 1 1 1 11 1 1 1 1 1 1 1B7FFFH1#存储器芯片的地址范围:80000H~87FFFH 2#存储器芯片的地址范围:88000H~8FFFFH 3#存储器芯片的地址范围:90000H~97FFFH 4#存储器芯片的地址范围:98000H~9FFFFH 5#存储器芯片的地址范围:A0000H~A7FFFH 6#存储器芯片的地址范围:A8000H~AFFFFH 7#存储器芯片的地址范围:B0000H~B7FFFH(2)编程将4#的32KB数据传送到7#存储区域。
《汇编语言程序设计》教案附:习题参考答案《IBM-PC汇编语言程序设计》(第2版)沈美明、温冬婵编著教案编写时间:2007年8月18日前言1.汇编语言是计算机能提供给用户的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。
2.汇编语言程序设计是高等院校电子计算机硬、软件及应用专业学生必修的核心课程之一。
它不仅是计算机原理、操作系统等其它核心课程的必要先修课,而且对于训练学生掌握程序设计技术、熟悉上机操作和程序调试技术都有重要作用。
3.本教材共有十一章,其内容安排如下:(1).第一、二章为汇编语言所用的基础知识。
(2).第三章详细介绍80x86系列CPU的指令系统和寻址方式。
(3).第四章介绍伪操作、汇编语言程序格式及汇编语言的上机过程。
(4).第五、六章说明循环、分支、子程序结构和程序设计的基本方法。
(5).第七章说明宏汇编、重复汇编及条件汇编的设计方法。
(6).第八章叙述输入/输出程序设计方法,重点说明中断原理、中断过程及中断程序设计方式。
(7).第九章说明BIOS和DOS系统功能调用的使用方法。
(8).第十~十一章分别说明图形显示、发声及磁盘文件存储的程序设计方法,同时提供各种程序设计方法和程序实例。
附:教学参考书1.沈美明、温冬婵编著,IBM–PC汇编语言程序设计(第2版),清华大学出版社,2001年(教材)2.沈美明、温冬婵编著,IBM–PC汇编语言程序设计,清华大学出版社,1991年3.沈美明、温冬婵编著,IBM–PC汇编语言程序设计—例题习题集,清华大学出版社,1991年6月4.沈美明、温冬婵、张赤红编著,IBM–PC汇编语言程序设计—实验教程,清华大学出版社,1992年5.周明德,微型计算机IBM PC/XT(0520系列)系统原理及应用(修订版),清华大学出版社,19916.郑学坚、周斌,微型计算机原理及应用(第二版),清华大学出版社,19957.王士元、吴芝芳,IBM PC/XT[长城0520] 接口技术及其应用,南开大学出版社,19908.杨素行,微型计算机系统原理及应用,清华大学出版社,19959.戴梅萼、史嘉权,微型计算机技术及应用—从16位到32位(第二版),清华大学出版社,199610.张昆藏,IBM PC/XT微型计算机接口技术,清华大学出版社,199111.孟绍光,李维星,高档微机组成原理及接口技术(80386/80486/Pentium),学苑出版社,199312.吴秀清,周荷琴,微型计算机原理与接口技术,中国科学技术大学出版社目录第 1 章基础知识 (5)1.1进位计数制与不同基数的数之间的转换 (5)1.2二进制数和十六进制数的运算 (6)1.3计算机中数和字符的表示 (7)1.4几种基本的逻辑运算 (7)第 2 章80X86计算机组织 (8)2.180X86微处理器 (8)2.2基于微处理器的计算机系统构成 (8)2.3中央处理机 (9)2.4存储器 (10)2.5外部设备 (11)第 3 章80X86的指令系统和寻址方式 (13)3.180X86的寻址方式 (13)3.2程序占有的空间和执行时间 (15)3.380X86的指令系统 (15)第 4 章汇编语言程序格式 (32)4.1汇编程序功能 (32)4.2伪操作 (32)4.3汇编语言程序格式 (36)4.4汇编语言程序的上机过程 (39)第 5 章循环与分支程序设计 (42)5.1循环程序设计 (42)5.2分支程序设计 (43)5.3如何在实模式下发挥80386及其后继机型的优势 (43)第 6 章子程序结构 (45)6.1子程序的设计方法 (45)6.2子程序的嵌套 (46)6.3子程序举例 (46)第7 章高级汇编语言技术 (48)7.1宏汇编 (48)7.2重复汇编 (49)7.3条件汇编 (50)第8 章输入/输出程序设计 (51)8.1I/O设备的数据传送方式 (51)8.2程序直接控制I/O方式 (52)8.3中断传送方式 (52)第9 章BIOS和DOS中断 (55)9.1键盘I/O (55)9.2显示器I/O (57)9.3打印机I/O (58)9.4串行通信口I/O (59)第10 章图形与发声系统的程序设计 (60)10.1显示方式 (60)10.2视频显示存储器 (60)10.3EGA/VGA图形程序设计 (61)10.4通用发声程序 (62)10.5乐曲程序 (63)第11 章磁盘文件存取技术 (64)11.1磁盘的记录方式 (64)11.2文件代号式磁盘存取 (65)11.3字符设备的文件代号式I/O (66)11.4BIOS磁盘存取功能 (67)附录:《IBM—PC汇编语言程序设计》习题参考答案 (68)第一章.习题 (68)第二章.习题 (69)第三章.习题 (70)第四章.习题 (83)第五章.习题 (88)第六章.习题 (107)第七章.习题 (120)第八章.习题 (126)第九章.习题 (131)第十章.习题 (134)第十一章.习题 (145)第 1 章 基础知识【教学目的】本章内容是本课程的基础,通过本章学习,使学生明确汇编语言程序设计的学科性质、基本内容和学习意义,掌握数制的转换、数据的编码,了解本门课程的教学要求和学习方法。
中国石油大学北京网络学院
汇编语言程序设计-第二次在线作业
参考答案
1.(
2.5分)下列叙述正确的是:
A、对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS 指令
B、对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP 指令
C、对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL 指令
D、对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB 指令
我的答案:C 此题得分:2.5分
2.(2.5分)在下列指令的表示中,不正确的是:
A、MOV AL,[BX+SI]
B、JMP SHORT DONING
C、DEC [BX]
D、MUL CL
我的答案:C 此题得分:2.5分
3.(2.5分)在进行二重循环程序设计时,下列描述正确的是:。
大工13春<汇编语言程序设计>在线作业2及答案一、单选题(共10道试题,共50分。
)V1.子程序建立堆栈的参数传送方法中,实现参数传送的过程是(A)。
A.变量地址入栈、原始BP入栈、SP值给BPB.原始SP入栈、变量地址入栈、SP值给BPC.SP值给BP、原始BP入栈、变量地址入栈满分:5分2.数据定义伪操作中,变量定义用符号地址表示,那么他和符号地址及标号有什么区别么(C)。
A.没有区别B.仅仅是变量后面不带冒号的符号地址和标号C.变量就是可以重新赋值的符号地址,因此和符号地址及标号有本质区别满分:5分3.伪指令是汇编语言的组成部分,它是写给哪个程序看的(B)。
A.汇编语言B.汇编程序C.计算机系统满分:5分4.关于分支程序的说法正确的是(B)。
A.分支程序结构可以有三种形式B.分支程序的运行方向是向前的C.可以执行多个分支D.程序的分支一般用地址传送指令产生满分:5分5.下列伪操作中,哪个不是对准伪操作(C)。
A.EVEN伪操作伪操作C.EQU伪操作D.ALIGN伪操作满分:5分6.数据定义中ARRAY DB5DUP(0,2DUP(1,2,3),0,7)的第六个存储单元的内容为(C)。
A.00hB.01hC.02hD.03h满分:5分7.pentium提供的新指令是(D)。
A.SET ccB.MOVSXC.OUTSD.CMPXCHG8B满分:5分8.源程序经汇编程序汇编后,得到的是(B)。
A.可执行文件B.目标文件C.源文件D.链接表满分:5分9.指令END START的作用是(A)。
A.结束汇编及从START处开始执行程序B.结束START程序C.结束汇编及结束START程序满分:5分10.不属于循环程序结构的是(D)。
A.循环初始状态B.循环控制条件C.循环体D.程序终止满分:5分二、多选题(共5道试题,共30分。
)V1.子程序的参数区和局部变量区在堆栈段的情况描述正确的是(AD)A.返回地址和参数地址位于BP指针的正偏移区B.返回地址和参数地址位于BP指针的负偏移区C.局部变量位于BP指针的正偏移区D.局部变量位于BP指针的负偏移区满分:6分2.下列哪种伪操作能定义变量(AB)。
汇编语言程序设计第四版【课后习题答案】--囮裑為檤第2章8086的指令系统〔习题2.1〕已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12 34 56 78H,[21200H]~[21203H]依次存放2A 4C B7 65H,说明下列每条指令执行完后AX寄存器的内容。
(1)mov ax,1200h(2)mov ax,bx(3)mov ax,[1200h](4)mov ax,[bx](5)mov ax,[bx+1100h](6)mov ax,[bx+si](7)mov ax,[bx][si+1100h]〔解答〕(1)AX=1200H(2)AX=0100H(3)AX=4C2AH ;偏移地址=bx=0100h(4)AX=3412H ;偏移地址=bx=0100h(5)AX=4C2AH ;偏移地址=bx+1100h=1200h(6)AX=7856H ;偏移地址=bx+si=0100h+0002h=0102h(7)AX=65B7H ;偏移地址=bx+si+1100h=0100h+0002h+1100h=1202h〔习题2.2〕指出下列指令的错误(1)mov cx,dl(2)mov ip,ax(3)mov es,1234h(4)mov es,ds(5)mov al,300(6)mov [sp],ax(7)mov ax,bx+di(8)mov 20h,ah〔解答〕(1)两操作数类型不匹配(2)IP指令指针禁止用户访问(3)立即数不允许传给段寄存器(4)段寄存器之间不允许传送(5)两操作数类型不匹配(6)目的操作数应为[ SI ](7)源操作数应为[BX+DI](8)立即数不能作目的操作数〔习题2.3〕已知数字0 ~ 9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以table为首地址(设为200H)的连续区域中。
汇编语言程序设计试卷2答案注意:答案全部写在最后一张试卷纸上,要求表明题号,字迹清楚,答在试卷上不给分一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题2分,共20分)1.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。
(A) 无符号十进制数136(B) 带符号十进制数-120(C) 压缩型BCD码十进制数88(D) 8位二进制数-8的补码表示2.指令指针寄存器是()。
(A) IP(B) SP(C) BP(D) PSW3.当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是()。
(A) 表示结果中含1的个数为偶数(B) 表示结果中含1的个数为奇数(C) 表示该数为偶数(D) 表示结果中低八位含1的个数为偶数4.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是()。
(A) MOV AL,00H(B) AND AL,00H(C) XOR AL,AL(D) SUB AL,AL5.下列指令执行后总是使CF=0,OF=0的是()。
(A) AND(B) NEG(C) NOT(D) INC6.完成同指令XCHG AX,BX相同功能的指令或指令序列是()。
(A) MOV AX,BX(B) MOV BX,AX(C) PUSH AXPOP BX(D) MOV CX,AXMOV AX,BXMOV BX,CX7.设AH=0,AL=06H,BL=09H,执行指令ADD AL,BLAAA之后,其结果应是()。
(A) AH=01,AL=05(B) AH=1 AL=15(C) AH=0 AL=0FH(D) AH=0 AL=058.设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为()。
(A) OF=1,CF=0(B) OF=1,CF=1(C) OF=0,CF=0(D) OF=0,CF=19.在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()。
一、单项选择题(只有一个选项正确,共10道小题)1. 若PORT_VAL<5,则执行指令MOV BX,((PORT_VAL LT 5) AND 20) OR ((PORT_VAL GE 5) AND 30)后BX的内容是:()。
(A) 20(B) 30(C) 5(D) 10正确答案:A解答参考:2. 假设(AL)=10010010,MOV CL,4SHL AL,CL执行上述指令后CF和AL的内容是()。
(A) AF=1,(AL)=00001001(B) AF=0,(AL)=00001001(C) AF=1,(AL)=00100000(D) AF=0,(AL)=00100000正确答案:C解答参考:3. 下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为()。
TEST BH,01H_____K1(A) JNE(B) JZ(C) JS(D) JC正确答案:A解答参考:4. 已知标号NEXT与指令MOV AX,TYPE NEXT在同一个段内,则AX的值为()。
(A) 0(B) 1(C) 2(D) -1正确答案:B解答参考:5. DATA SEGMENTBUF DB 1,2,3,4,5COUNT EQU -BUFDATA ENDS在以上数据段中COUNT的值为( )(A) 3(B) 5(C) 4(D) 6正确答案:B解答参考:6. 下列是8位二进制数的补码,其中真值最大的是()。
(A) 10001000(B) 11111111(C) 00000000(D) 00000001正确答案:D解答参考:7. 16位有符号数的补码所表示的十进制数的范围是()。
(A) -32767~+32768(B) -32768~+32767(C) -65535~+65536(D) 0~65535正确答案:B解答参考:8. 下面的XCHG指令中,语法正确的是( )。
(A) XCHG AL,DS(B) XCHG BL,[BX](C) XCHG AL,0FH(D) XCHG BUF1,BUF2正确答案:B解答参考:9. LDS SI,ES:[2000H]指令的全部功能是( )。
汇编语言程序设计第02次作业汇编语言程序设计第02次作业1、写出下列用逻辑地址表示的存储单元的物理地址(1) 1234H:5678H(2) 2F34H:2F6H(3) 576AH:1024H(4) 2FD0H:100H2、列表写出下列指令中目标操作数、源操作数的寻址方式,如果有非法的内存操作数请改正,并写出CPU所寻址的逻辑段。
(1) MOV BX,50(2) CMP [BX],100(3) ADD [SI],1000(4) MOV BP,SP(5) MOV BX,[BP+4](6) MOV AX,[BX+DI+5]3、以216为模,将C678H分别和下列各数相加,列表写出十六进制和的值,以及A、C、O、P、S、Z等6种状态标志的值。
(1) CF23H(2) 6398H(3) 94FBH(4) 65E2H4、分别用一条指令完成:(1) AH高4位置1,低4位不变;(2) BH高4位取反,低4位不变,BL高4位不变,低4位取反;(3) CX低4位清0,其它位不变。
5、把AH低4位和AL低4位拼装成一个字节(AH的低4位为拼装后字节的高4位),存入AH中。
6、将AL中的8位二进制数,按倒序的方式重新排列。
即若AL原来为D7~D0(例如5CH),则倒序后AL=原D0~D7(3AH)。
7、现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)= 34H, (20102H) =56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=6 5H,(21203H)=0B7H,试说明下列各条指令单独执行完后,相关寄存器或存储单元的内容。
(1) MOV AX, [1200H](2) ADD BX, [BX](3) SUB BH, BYTE PTR [BX+1100H](4) XCHG BX, [BX+SI](5) SAR WORD PTR [BX+SI+1100H],18、已知下列程序段:ADD AL,BLJO L1JC L2CMP AH,BHJG L3JB L4JMP L5若给定AX和BX的值如下,说明程序的转向。
【石油大学】汇编语言程序设计-第二次在线作业试卷总分:100 得分:100第1题,1.(2.5分)下列叙述正确的是:A、对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令B、对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令C、对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令D、对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令正确答案:C第2题,2.(2.5分)在下列指令的表示中,不正确的是:A、MOV AL,[BX+SI]B、JMP SHORT DONINGC、DEC [BX]D、MUL CL正确答案:C第3题,3.(2.5分)在进行二重循环程序设计时,下列描述正确的是:A、外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内B、外循环初值应置外循环之内;内循环初值应置内循环之内C、内、外循环初值都应置外循环之外D、内、外循环初值都应置内循环之外,外循环之内正确答案:A第4题,4.(2.5分)条件转移指令JNE的测试条件为:A、ZF=0B、CF=0C、ZF=1D、CF=1正确答案:A第5题,5.(2.5分)下列指令执行时出错的是:A、ADD BUF1,BUF2B、JMP DWORD PTR DAT [BX]C、MOV AX,[BX+DI] NUMD、TEST AL,08H正确答案:A第6题,6.(2.5分)在下列指令中,执行会影响条件码中的CF位的指令是:A、JMP NEXTB、JC NEXTC、INC BXD、SHL AX,1正确答案:D第7题,7.(2.5分)用户为了解决自己的问题,用汇编语言所编写的程序,称为:A、目标程序B、源程序C、可执行程序D、汇编程序正确答案:B第8题,8.(2.5分)用一条指令仅实现将BX+SI=>AX的方法是:A、XCHG AX,[BX][SI]B、MOV AX,[BX+SI]C、LEA AX,BX[SI]D、LEA AX,[BX][SI]正确答案:D第9题,9.(2.5分)设SP初值为2000H,执行指令“PUSHAX”后,SP的值是:A、1FFFHB、1998HC、2002HD、1FFEH正确答案:D第10题,10.(2.5分)CBW指令的功能是:A、把源操作数的符号位扩展到目的操作数中B、把AL中的符号位扩展到AH中C、把AH中的符号位扩展到AL中D、把AX中的符号位扩展到DX中正确答案:B第11题,11.(2.5分)循环指令LOOPNZ终止循环的条件是:A、CX=0,且ZF=0B、CX=0,或ZF=1C、CX≠0,且ZF=0D、CX≠0,或ZF=1正确答案:B第12题,12.(2.5分)下列传送指令中有语法错误的是:A、MOV CS,AXB、MOV DS,AXC、MOV SS,AXD、MOV ES,AX正确答案:A第13题,13.(2.5分)与MOVBX,OFFSETVAR指令完全等效的指令是:A、MOV BX,VARB、LDS BX,VARC、LES BX,VARD、LEA BX,VAR正确答案:D第14题,14.(2.5分)MOVSP,3210HPUSHAX执行上述指令序列后,SP寄存器的值是:A、3211HB、320EHC、320FHD、3212H正确答案:B第15题,15.(2.5分)汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是:A、名字项B、操作项C、操作数项D、注释项正确答案:B第16题,16.(2.5分)使计算机执行某种操作的命令是:A、伪指令B、指令C、标号D、助记符正确答案:B第17题,17.(2.5分)若AX=3500H,CX=56B8H,当ANDAX,CX指令执行后,AX=A、1400HB、77F8HC、0000HD、0FFFFH正确答案:A第18题,18.(2.5分)下面XCHG指令语句中,语法正确的是:A、XCHG AX,DSB、XCHG AX,[BX]C、XCHG AX,CSHD、XCHG[SI],[DX]正确答案:B第19题,19.(2.5分)设数据段有:DA1DBXX;是任一数据DA2DBOFEH下列两条指令:MOVDL,DA1ORDL,DA2执行后,DL中的内容可能是:A、.0FFH或0FEHB、只能是0FEHC、只能是0FFHD、只能是01H正确答案:A第20题,20.(2.5分)ORG100HNUMEQU8042HDA1DB56HMOVBX,0FFSETDA1上述程序段执行后BX 中的值是:A、56HB、100HC、101HD、102H正确答案:B第21题,21.(2.5分)指令JMPFARPTRDONE属于:A、段内转移直接寻址B、段内转移间接寻址C、段间转移直接寻址D、段间转移间接寻址正确答案:C第22题,22.(2.5分)将DX的内容除以2,正确的指令是:A、DIV 2B、DIV DX,2D、SHL DX,1正确答案:C第23题,23.(2.5分)AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是:A、指令XOR AX,AX执行后,AX内容不变,但设置了标志位B、指令OR DX,1000H执行后,将DX最高位置1,其余各位置0C、指令AND AX,OFH执行后,分离出AL低四位D、NOT AX,执行后,将AX清0正确答案:C第24题,24.(2.5分)完成对CL寄存器的内容乘以4的正确操作是:A、ROL CL,1ROL CL,1B、MUL 4C、SHL CL,1SHL CL,1D、MOV CL,2SHL CL,CL正确答案:C第25题,25.(2.5分)下面各传送指令中,正确的是:A、MOV [DI],[SI]B、MOV [DX+DI],ALC、MOV WORD PTR [BX],0100HD、MOV AL,BX正确答案:C第26题,26.(2.5分)比较两个带符号的数A、B,当A=B时程序转移,测试的条件为:A、ZF=1B、ZF=0C、SF=1D、SF=0正确答案:A第27题,27.(2.5分)汇编源程序时,出现语法错误的语句是:A、MOV [BX+SI],BXB、MOV CL,[BP+DI]C、MOV CS,AX正确答案:C第28题,28.(2.5分)设AL=57H,BL=24H,执行指令SUBAL,BL后,寄存器内容为:A、AL=57H,BL=24HB、AL=33H,BL=24HC、AL=57H,BL=33HD、AL=33H,BL=0正确答案:B第29题,29.(2.5分)设CL=8,AL=0C8H,执行SARAL,CL后,AL中的数据是:A、0FFHB、80HC、00HD、0FEH正确答案:A第30题,30.(2.5分)已知BX=028AH,SI=0294H,(DS:051EH)=5432H。
一、单项选择题(只有一个选项正确,共12道小题)1.若PORT_VAL<5,则执行指令MOV BX,((PORT_VAL LT 5) AND 20) OR ((PORT_VAL E 5) AND 30)后BX的内容是:()。
(A) 20(B) 30(C) 5(D) 102.假设(AL)=10010010,MOV CL,4SHL AL,CL执行上述指令后CF和AL的内容是()。
(A) AF=0,(AL)=00100000(B) AF=0,(AL)=00001001(C) AF=1,(AL)=00001001(D) AF=1,(AL)=001000003.下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为()。
TEST BH,01H_____K1(A) JNE(B) JS(C) JZ(D) JC4.已知标号NEXT与指令 MOV AX,TYPE NEXT在同一个段内,则AX的值为()。
(A) 2(B) -1(C) 0(D) 15.DATA SEGMENTBUF DB 1,2,3,4,5COUNT EQUDATA ENDS在以上数据段中COUNT的值为( )(A) 4(B) 6(C) 5(D) 36.下列是8位二进制数的补码,其中真值最大的是()。
(A) 00000001(B) 00000000(C) 11111111(D) 100010007.16位有符号数的补码所表示的十进制数的范围是()。
(A) -32768~+32767(B) -65535~+65536(C) 0~65535(D) -32767~+327688.下面的XCHG指令中,语法正确的是( )。
(A) XCHG AL,DS(B) XCHG AL,0FH(C) XCHG BL,[BX](D) XCHG BUF1,BUF29.LDS SI,ES:[2000H]指令的全部功能是( )。
(A) 把地址2000H字单元内容送DS,把2002H字单元内容送SI(B) 把地址2000H字单元的内容送SI(C) 把地址2000H字单元内容送SI,把2002H字单元内容送DS(D) 把地址2000H送SI10.数据定义如下:BUF1 DB 10BUF2 DW 20 DUP(?)实现将BUF1单元的内容与BUF2开始的第三个字节单元内容相比较的指令是()。
(A)MOV AL,BUF1CMP AL,BUF2+2(B)MOV AL,BUF1CMP AL BUF2+3(C) MOV AL,BUF1CMP AL,BYTE PTR BUF2+2(D) CMP BUF1,BYTE PTR BUF2+311.某数据段如下:DATA SEGMENTORG 20HX DB 12HY DW 789AHDATA ENDS则Y 单元的偏移址是( )。
(A) 20H(B) 21H(C) 12H(D) 012.MOV AL,-1NEG ALXOR AL,65上述程序段执行后,AL中的内容是( )。
(A) 61H(B) 01H(C) 64H(D) 40H二、主观题(共21道小题)(主观题请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。
在线只需提交客观题答案。
) 13.在0624H单元内有一条二字节JMP SHORT OBJ指令,如其中位移量为(1) 27H,(2) 6BH,(3) 0C6H,试问转向地址OBJ的值是多少?14.假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据段中变量名VAL的偏移地址为0050H,试指出下列源操作数字段的寻址方式是什么?其物理地址值是多少?(1) MOV AX, 0ABH (2) M OV AX, BX(3) MOV AX, [100H] (4) MOV AX, VAL(5) MOV AX, [BX] (6) MOV AX, ES:[BX](7) MOV AX, [BP] (8) MOV AX, [SI](9) MOV AX, [BX +10] (10) MOV AX, VAL[BX](11) MOV AX, [BX][SI] (12) MOV AX, VAL[B X][SI]15.设(DS)=1B00H,(ES)=2B00H,有关存储单元的内容如上右图所示。
请写出两条指令把字变量X装入AX寄存器。
16.求出以下各十六进制数与十六进制数62A0H之和,并根据结果设置标志位SF、ZF、CF和OF的值。
(1) 1234H (2) 4321H (3) CFA0H (4) 9D60H17.指出下列指令的错误:(1) MOV AH, BX ;(2) MOV [BX], [SI] ;(3) MOV AX, [SI][DI] ;(4) MOV MYDAT [BX][SI], ES:AX ;(5) MOV BYTE PTR [BX], 1000 ;(6) MOV BX, OFFSET MYDAT [SI] ;(7) MOV CS, AX ;(8) MOV ECX, AX ;18.下面哪些指令是非法的?(假设OP1,OP2是已经用DB定义的变量)(1) CMP 15, BX ;(2) CMP OP1, 25(3) CMP OP1, OP2 ;(4) CMP AX, OP1 ;19.假设下列指令中的所有标识符均为类型属性为字的变量,请指出下列哪些指令是非法的?它们的错误是什么?(1) MOV BP, AL ;(2) MOV WORD_OP [BX+4*3][DI], SP(3) MOV WORD_OP1, WORD_OP2 ;(4) MOV AX, WORD_OP1[DX] ;(5) MOV SAVE_WORD, DS(6) MOV SP, SS:DATA_WORD [BX][SI](7) MOV [BX][SI], 2 ;(8) MOV AX, WORD_OP1+WORD_OP2(9) MOV AX, WORD_OP1-WORD_OP2+100(10) MOV WORD_OP1, WORD_OP1-WORD_OP220.假设VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处:(1) ADD VAR1, VAR2 ;(2) SUB AL, VAR1 ;(3) JMP LAB [SI] ;(4) JNZ VAR1 ;(5) JMP NEAR LAB ;21.有符号定义语句如下:BUFF DB 1, 2, 3, ‘123’EBUFF DB 0L EQU EBUFF - BUFF问L的值是多少?22.假设程序中的数据定义如下:LNAME DB 30 DUP (?)ADDRESS DB 30 DUP (?)CITY DB 15 DUP (?)CODE_LIST DB 1, 7, 8, 3, 2(1) 用一条MOV指令将LNAME的偏移地址放入AX。
(2) 用一条指令将CODE_LIST的头两个字节的内容放入SI。
(3) 用一条伪操作使CODE_LENGTH的值等于CODE_LIST域的实际长度。
23.试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。
24.试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。
25.编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。
26.下面的程序段有错吗?若有,请指出错误。
CRAY PROCPUSH AXADD AX, BXRETENDP CRAY27.写一段子程序SKIPLINES,完成输出空行的功能。
空出的行数在AX寄存器中。
28.编写一条宏指令CLRB,完成用空格符将一字符区中的字符取代的工作。
字符区首地址及其长度为变元。
29.写出分配给下列中断类型号在中断向量表中的物理地址。
(1) INT 12H (2) INT 830.用CALL指令来模拟实现INT 21H显示字符T的功能。
31.写出指令将一个字节数据输出到端口25H。
32.写出指令将一个字数据从端口1000H输入。
33.在ADDR单元中存放着数据Y,试编写一程序把Y中1的个数存入COUNT单元中。
参考答案:本次作业是本门课程本学期的第2次作业,注释如下:一、单项选择题(只有一个选项正确,共12道小题)1.若PORT_VAL<5,则执行指令MOV BX,((PORT_VAL LT 5) AND 20) OR ((PORT_VAL E 5) AND 30)后BX的内容是:()。
(A) 20(B) 30(C) 5(D) 10正确答案:A解答参考:2.假设(AL)=10010010,MOV CL,4SHL AL,CL执行上述指令后CF和AL的内容是()。
(A) AF=1,(AL)=00001001(B) AF=0,(AL)=00001001(C) AF=1,(AL)=00100000(D) AF=0,(AL)=00100000正确答案:C解答参考:3.下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为()。
TEST BH,01H_____K1(A) JNE(B) JZ(C) JS(D) JC正确答案:A解答参考:4.已知标号NEXT与指令 MOV AX,TYPE NEXT在同一个段内,则AX的值为()。
(A) 0(B) 1(C) 2(D) -1正确答案:B解答参考:5.DATA SEGMENTBUF DB 1,2,3,4,5COUNT EQUDATA ENDS在以上数据段中COUNT的值为( )(A) 3(B) 5(C) 4(D) 6正确答案:B解答参考:6. 下列是8位二进制数的补码,其中真值最大的是()。
(A) 10001000(B) 11111111(C) 00000000(D) 00000001正确答案:D解答参考:7.16位有符号数的补码所表示的十进制数的范围是()。
(A) -32767~+32768(B) -32768~+32767(C) -65535~+65536(D) 0~65535正确答案:B解答参考:8.下面的XCHG指令中,语法正确的是( )。
(A) XCHG AL,DS(B) XCHG BL,[BX](C) XCHG AL,0FH(D) XCHG BUF1,BUF2正确答案:B解答参考:9.LDS SI,ES:[2000H]指令的全部功能是( )。
(A) 把地址2000H送SI(B) 把地址2000H字单元的内容送SI(C) 把地址2000H字单元内容送SI,把2002H字单元内容送DS(D) 把地址2000H字单元内容送DS,把2002H字单元内容送SI正确答案:C解答参考:10.数据定义如下:BUF1 DB 10BUF2 DW 20 DUP(?)实现将BUF1单元的内容与BUF2开始的第三个字节单元内容相比较的指令是()。