ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:34.02KB ,
资源ID:12119642      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12119642.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《汇编语言程序设计》作业习题.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、汇编语言程序设计作业习题汇编语言程序设计作业习题第1章 汇编语言基础知识习 题1.1 什么是汇编语言?汇编语言的特点是什么?1.2 把下列十进制数转换成二进制数、八进制数、十六进制数。 127 1021 0.875 6.251.3 把下列二进制数转换成十进制数。1.4 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 Blo

2、w Computer What1.7 求下列带符号十进制数的8位基2码补码。 +127 2 128 +21.8 求下列带符号十进制数的16位基2码补码。 +628 9 1234 +3249 1.9 下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。68+(53) 6853 68(53) (68)531.10 汉字在输入、存储、输出过程中所使用的汉字编码是否一样?使用的是什么编码?第2章 IBM-PC系统结构习 题2.1什么是微型计算机?微型计算机主要由哪几部分组成?其主要功能是什么?2.2 8086/8088CPU由哪两部分组成?它们的主要功能是什么?2.3

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。请问:段地址、偏移地址和物理地址分别为多少?存放段地址和偏移地址的寄存器是哪两个?第3章_80868088寻址方式和指令系统寻址方式和指令

4、系统习题一、填空3.1 指出下列指令源操作数的寻址方式: MOV AX,ARRAYSI ; MOV AX,ES:BX ; MOV AX,100 ; MOV AX,BX+DI ; MOV AX,BX ; MOV AX,2000H ; MOV AX,ARRAYBXSI ; MOV AX,DI+20H ; 3.2 假设(SP)=100H,(SS)=1000H,执行PUSH BP指令后,栈顶的物理地址是 。3.3 段地址和偏移地址为3FFFH:1234H,它的物理地址是 ,段地址和偏移地址为1000H:000FH,它的物理地址是 。3.4 若要测试AL寄存器中操作数的第0,3,4,7位是否均为0,然后

5、根据测试结果实现条件转移,可使用 指令,以产生转移条件。这条指令执行后将影响的标志位是 。3.5 现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21203H)=65H,下列指令执行后AX寄存器的内容: MOV AX,1200H ;(AX)= MOV AX,BX ;(AX)= MOV AX,1200H ;(AX)= MOV AX,BX ;(AX)= MOV AX,1100HBX ;(AX)=

6、 MOV AX,BXSI ;(AX)= MOV AX,1100HBX+SI ;(AX)= 3.6 设(BX)=101H,(DS)=2100H ,(CS)=1900H,内存中(21101H)=0C7H,(21102H)=0FFH,(21103H)=00H,(21104H)=0F0H,执行如下指令后CS和IP寄存器的值是多少? JMP BX ;(CS)= ,(IP)= JMP BX ;(CS)= ,(IP)= JMP WORD PTRBX+1 ;(CS)= ,(IP)= JMP DWORD PTRBX ;(CS)= ,(IP)= 3.7 试根据以下要求写出相应的汇编语言指令。把BX寄存器和DX寄存

7、器内容相加,结果存入DX寄存器中,汇编语言指令: ;用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。汇编语言指令: ;用寄存器BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和CX寄存器内容相加,并把结果送回到存储器中。汇编语言指令: ;用位移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加,并把结果送回存储单元中。汇编语言指令: ;把数0B5H与AL寄存器内容相加,并把结果送回AL寄存器中。汇编语言指令: ;3.8 指令SAR可用来 除2,而指令SHR可用来 除2。3.9 条件转移指令的目标地址应在本条指令的

8、下一条指令的 个字节范围内。3.10 执行指令XOR AX,AX的含义是 和 。3.11 一个有16个字的数据区,它的起始地址为70A0H:DDF6H,那么该数据区的最后一个字单元的物理地址为 H。3.12 串处理指令规定源寄存器使用 ,源串在 段中;目的寄存器使用 ,目的串必须在 段中。3.13 执行加法指令时,如果两个操作数的符号相同,而结果的符号与之相反,则OF ;执行减法指令时,如果两个操作数的符号相反,而结果的符号与减数相同,则OF= 。3.14 数据串传送指令执行前应做 、 、 、 四项准备工作。二、选择题(可多选)3.15 基址寄存器的内容、变址寄存器的内容以及指令中指定的位移量

9、三者之和作为操作数的有效地址,它的寻址方式是 。A、直接寻址方式 B、寄存器相对寻址方式C、基址变址寻址方式 D、相对基址变址寻址方式3.16 完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是 。A、MOV AL,00H B、AND AL,00H C、XOR AL,AL D、SUB AL,AL3.17 指令TEST AL,02H的含义是 。A、测试AL是否等于02H B、测试AL第二位的状态C、测试AL第一位的状态 D、将AL的第一位和02单元的各位进行测试3.18 8086CPU在执行8位有符号数运算后,产生溢出是结果超出了 。A、0255 B、+128-128 C、+255-2

10、56 D、+127-1283.19 不能改变8086程序计数指针IP的指令是 。A、RET B、PUSH AX C、CALL D、JBE3.20 不影响8086堆栈指针SP值的指令是 。A、JMP B、PUSH AX C、POP CX D、INT 21H3.21 8086中执行指令RET 04H表示 。A、返回到04H单元 B、作段间返回C、返回到当前地址后第4个单元 D、完成RET指令后SP加43.22 下列不正确的指令是(DATA已定义) 。A、MOV 4DI,02H B、MOV BYTE PTR4DI,02HC、MOV 4DI,AL D、MOV DATADI,02H3.23 假设V1和V

11、2是用DW定义的变量,下列指令中正确的是 。A、MOV V1,20H B、MOV V1,V2C、MOV AL,V1 D、MOV 2000H,V23.24 下列哪条指令不合法? A、INT AX,0278H B、ROR DX,CL C、CMPSB D、RET 43.25 下列指令中,有语法错误的是 。A、MOV SI,DI B、IN AL,DXC、JMP WPRD PTRBX D、PUSH WORD PTR 20BX+SI-23.26 下列4条指令中, 是错误的。A、MOV DS,2000H B、ADD DX,BPC、MOV AX,200 D、MOV AX,ARRAYSI+23.27 运算型指令

12、的寻址和转移型指令的寻址,其不同点在于 。A、前者取操作数,后者决定程序的转移地址B、后者取操作数,前者决定转移地址C、两者都是取操作数D、两者都是决定程序的转移地址3.28 下列指令中操作数在代码段中的是 。A、MOV AL,25H B、ADD BH,AL C、INC DS:25H D、CMP AL,BL3.29 设(BL)=5,要使结果(BL)=0AH,应执行指令是 。A、AND BL,0FH B、NOT BL C、XOR BL,0FH D、OR BL,0FH3.30 指令JMP DWORD PTRBXSI属于 寻址。A、寄存器间接寻址 B、相对基址变址寻址C、段内转移直接寻址 D、段间转

13、移间接寻址3.31 在下列指令中, 指令的执行会影响条件码的CF位。A、JMP NEXT B、JC NEXT C、INC BX D、SHL AX,13.32 将累加器AX的内容清零的正确指令是 。A、OR AX,0 B、XOR AX,AX C、TEST AX,AX D、CMP AX,AX三、简答题3.33 PUSH和POP指令有什么特点?3.34 算术移位指令和逻辑移位指令有什么不同?3.35 串处理指令有什么特殊规定?简述REPZ CMPSB指令的执行过程。3.36 完成下列操作,选用什么指令?将AX的内容减去0520H和上次运算的借位;将变量名TABL的段地址送AX;3.37 条件转移指令

14、和无条件转移指令有什么不同?第4章 80868088汇编语言(格式)习题一、填空题4.1有关操作数的伪指令中,算术运算符有,逻辑运算符有,关系操作符有,数值运算符有,属性操作符。4.2下列两个语句的区别在于,。 X1 EQU 1000H X2=1000H4.3 假设 (DS)=3000HORG 3100HTABLE DB 10,3*4,10HADDRESS DD TABLEARRAY DW 2 DUP(675AH,?)写出下列各单元的内容。(3100H)= (3101H)= (3102H)= (3103H)= (3104H)= (3105H)= (3106H)= (3107H)= (3108H

15、)= (3109H)= (310AH)= (310BH)= (310CH)= (310DH)= (310EH)= 4.4 对于下面的数据定义,各条MOV指令单独执行后,请写出相关寄存器的内容。FLDB DB ?TABLEA DW 20 DUP(?)TABLEB DB ABCD(1)MOV AX, TYPE FLDB ;(AX)= (2)MOV AX, TYPE TABLEA ;(AX)= (3)MOV CX, LENGTH TABLEA ;(CX)= (4)MOV DX, SIZE TABLEA ;(DX)= (5)MOV CX, LENGTH TABLEB ;(CX)= 4.5 设X1、X2

16、是两个已经赋值的变量,指令AND AX,X1 AND X2中,两个AND的区别是、。4.6 对于指令MOV BX,(X LT 10H) AND 40H)OR (X GE 10H) AND 50H),当X10H时,汇编结果为MOV BX,否则汇编结果为MOV BX,。4.7 数据定义语句BUF1 DW ?BUF2 EQU BYTE PTR BUF1当汇编后,PTR类型操作符使BUF2具有与BUF1相同的和,但类型为。4.8 是过程定义结束伪指令,与配套使用。是段定义结束伪指令,与配套使用,是一个源模块汇编结束伪指令。4.9 已知指令ARRAY DB 2 DUP(1 DUP(?),则该指令分配字节

17、单元,指令MOV AX,LENGTH ARRAY执行后,AX=;指令MOV AX,SIZE ARRAY执行后,AX=。4.10 汇编程序产生二进制的目标文件OBJ,但OBJ还必须使用转换成可直接执行的EXE文件。4.11 在指令和伪指令中可直接使用“$”表示地址计数器的当前值,ORG伪指令后给定的数值应是一个。4.12 DB伪指令以为单位分配存储;DD伪指令以为单位分配存储。故如下数据定义:X DB 4 DUP(2),2COUNT EQU 10Y DD COUNT DUP(?)为变量X分配个字节存储;为变量Y分配个字节存储。4.13 数据段中有以下定义:ARRAY1 EQU 20HARRAY2

18、 DW 20H指出下面两条指令的源操作数寻址方式:MOV AX,ARRAY1 ;寻址方式MOV AX,ARRAY2 ;寻址方式4.14 根据下面的指令序列,CX寄存器中的值应该是。X1 DW ABX2 DB 16 DUP(?)CNT EQU $-X1MOV CX,CNT4.15 假设ES段中有一个字符串12FG3LM5C,其名为ARRAY,下面的程序段CLDLEA DI,ES:ARRAYMOV AL, GMOV CX,9REPNE SCASB执行后CX的值是 二、选择题4.16表示源程序结束伪操作的格式为 。A、ENDSLABEL B、ENDLABEL C、ENDS D、END4.17一般地,

19、我们将计算机指令的集合称为 。A、机器指令 B、伪指令 C、宏指令 D、语句4.18在汇编语言程序设计中,伪指令OFFSET表达的含义是回送变量或标号的 。A、段地址值 B、偏移地址值 C、物理地址值 D、操作数4.19若定义DAT DW A,则DAT和DAT+1两个相邻的内存单元中存放的数据是。A、00H41H B、41H00H C、XXH41H D、41HXXH(选项C、D中的XX表示任意数据)4.20若定义DAT DW AB,则DAT和DAT+1两个相邻的内存单元中存放的数据是。A、42H41H B、41H42H C、62H61H D、61H62H4.21 表示一条指令的存储单元的符号地

20、址称为。A、标号 B、变量 C、偏移量 D、类型4.22 现用数据定义语句定义数据:BUF DB 4 DUP (0,2 DUP(1,0),定义后存储单元中有数据0100H的字单元个数是。A、4 B、3 C、8 D、124.23 下列语句中有语法错误的语句是。A、DB 45H B、DW 0ABCDH C、DW ABCD D、DD AB三、判断题4.24 MOV BYTE PTRBX,1000 ;4.25 JMPFAR PTR LAB;LAB是标号 ;4.25 JLEFAR PTR LAB;LAB是标号 ;4.27 JMP DWORD PTRBX+SI ;4.28 PUSH OFFSET VAL;

21、VAL是DB定义的变量 ;4.29 汇编语言程序中,符号地址和标号必须先定义后使用 ;4.30 在生成的可执行文件中,伪指令是不存在的 ;4.31 语句X=X-Y执行后按照减法规则影响标志位 ;4.32 ADD AX,BX与ADC AX,BX得到的结果总是不同 ; 4.33 JNZ AAA ; 第5章 基本程序设计习题5.1 简述编制一个汇编语言程序的步骤。5.2 简述判断汇编语言程序质量的标准。5.3 编写程序,将DATA_NUM起的4个压缩BCD码转换成十六进制数,并存放在DATA_NUM下面相邻字节中。5.4 试编写一程序,用查表法将一位十六进制数转换成与之对应的ASCII码。程序的数据

22、段如下:DATA SEGMENTTAB DB 30H, 31H, 32H, 33H, 34H, 35H, 36H, 37H DB 38H, 39H, 41H, 42H, 43H, 44H, 45H, 46HHEX DB 6ASC DB ?DATA ENDS5.5 试编程求解表达式S=(23000(X*Y+Z)/Z,其中X=600,Y=25,Z=2000。第5章 输入输出程序设计习题6.1 用指令实现如下功能:(1) 将一个字节输出到端口43H。(2) 将一个字节从48H端口输入。(3) 将一个在BUF单元的字节输出到端口2F0H。(4) 将一个字节从端口30H输入,存到内存ABC单元。(5)

23、将一个字从020FH单元输出。6.2 中断处理程序的典型结构包括哪几部分?6.3 增加一个新的软中断,应完成哪些操作?6.4 CPU与外设问的数据传送方式有哪几种?它们各有什么特点?6.5 类型号1DH的中断向量在存储器的哪些单元里?6.6 内存单元INT9开始放有一个中断服务程序,它所对应的中断类型号为9。试编写建立这一中断向量的程序段。6.7根据本章讲述的内容,试分析下面一段程序实现的功能。MOV AX, 0 MOV ES, AX MOV DI,36H*4MOV AX,OFFSET INTBUFSTOSW MOV AX,CS STOSW第6章 80868088循环程序设计习题一、 填空7.

24、1 下列程序完成的是将16位二进制数转换成4位16进制数的ASCII码,请完善程序。 DATA SEGMENT X DW 1234HCHAR DB 4 DUP(0)DATA ENDS LEA DI,CHARMOV CH,4MOV BX,XL1: MOV CL,4 MOV AL,BLAND AL,0FH CMP AL,9 ADD AL,7L2: ADD AL,30H MOV DI,AL INC DI DEC CH HLT7.2 以ARRAY为起始地址的字节表中存放着M个带符号数,找出其中的最大值和最小值,并分别送入到AH和AL中,请完善下列程序段。 MOV SI,OFFSET ARRAYMOV

25、CX,MCLDMOV BH,SIMOV BL,BHL1: CMP AL,BHJLE L2MOV BH,AL L2: CMP AL,BLJGE L3MOV BL,ALL3: MOV AX,BXHLT7.3 阅读下列程序段,并完善程序和回答问题。XOR AX,AXMOV BX,1 LOP:ADD AX,BXINC BXINC BXLOOP LOPHLT程序执行到HLT时,(AX)= ,(BX)= 。A、9 B、10 C、11 D、20 E、25 F、367.4 以STR1为起始地址的字节存储单元中存放着一个字符串,请统计该字符串中的每个字符含有“1”的个数,并将结果保存到以STR2为起始地址的个字

26、节存储单元中。请完善程序。STR1 DB FABCDFGHYTRJHKL9M EQU $-STR1STR2 DB M DUP(0)LEA SI,STR1LEA DI,STR2MOV CX,ML1: MOV AL,SIMOV DL,0L2: CMP AL,0 SHR AL,1JNC L3 L3: JMP L2L4: MOV DI,DLINC SIINC DI HLT二、 编程题7.5 试编制一程序,要求从键盘上接收一个4位的16进制数,并在屏幕上显示与它等值的二进制数。7.6 试编制一程序,将一个包含有20个字数据的数组ARRAY分成两个数组,正数数组M和负数数组N。7.7 试编制一程序,求出首

27、地址为DATA的100个字数组中的最小偶数,并将它存放在BX中。7.8 将30名学生的成绩存入以GRADE为首地址的字节数组中。另一个数组RANK为30名学生的名次表。编写一程序,根据GRADE中的学生成绩,将学生的名次填入RANK数组中。7.9 已知数组A包含15个互不相等的整数,数组B中包含20个互不相等的整数。试编一程序,将即在A中又在B中的整数存入数组C中。7.10 从键盘输入一系列字符串(以回车符结束),按字母、数字和其它字符分类计数,最后显示出这三类的计数结果。第7章8086、8088循环分支设计习题一、填空题8.1 下面的程序是将10个8位的无符号数按递减次序排序。请选择正确的答案将程序填充完整。DATA SEGMENTARRAY DB 05H,78H,0FFH,7BH,00HDB 8CH,20H,54H,7DH,19HN DB 9DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATAMAIN PROC FARSTART: PUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXLAB1: LEA SI,ARRAYMOV BL,0MOV CX,NAGAIN: MOV AL,SIINC SICMP AL,SI (1) MOV AH,SIMOV SI,ALMOV SI-1,AHMOV BL,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1