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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

第1章汇编语言基础知识习题解答.docx

1、第1章汇编语言基础知识习题解答第1章 汇编语言基础知识习题解答1.1 什么是汇编语言?汇编语言的特点是什么?答:为了克服机器语言难以记忆、表达和阅读的缺点,人们采用具有一定含义的符号作为助忆符,用指令助忆符、符号地址等组成的符号指令称为汇编格式指令(或汇编指令)。汇编语言是汇编指令集、伪指令集和使用它们规则的统称。矚慫润厲钐瘗睞枥庑赖。矚慫润厲钐瘗睞枥庑赖賃。汇编语言的特点是:(1)执行速度快。(2)程序短小。(3)可以直接控制硬件。(4)可以方便地编译。(5)辅助计算机工作者掌握计算机体系结构。(6)程序编制耗时,可读性差。(7)程序可移植性差。1.2 把下列十进制数转换成二进制数、八进制数

2、、十六进制数。1271021 0.875 6.25答: 1111111B;177Q;7FH1111111101;1775Q;3FDH0.111 B;0.7Q;0.EH110.01B;6.2Q;6.4H1.3把下列二进制数转换成十进制数。 1001.11 101011.10011 111.011 1011.1答:9.75D 43.59375D 7.375D 11.5D1.4 把下列八进制数转换成十进制数。573.06 75.23 431.7 123.45答:379.09375D61.296875D281.87583.5781251.5 把下列十六进制数转换成十进制数。0D5.F48BA.7C0B

3、2E.3A6EC.2D答:213.953125D2234.4843752862.22656251772.17578125聞創沟燴鐺險爱氇谴净。聞創沟燴鐺險爱氇谴净祸。1.6 把下列英文单词转换成ASCII编码的字符串。UpperBlowComputerWhat答:55H,70H,70H,65H,72H53H,6CH,6FH,77H43H,6FH,6DH,70H,75H,74H,65H,72H 57H,68H,61H,74H1.7求下列带符号十进制数的8位基2码补码。 +127 2 128 +2答:01111111B 11111110B10000000B00000010B1.8求下列带符号十进制

4、数的16位基2码补码。 +628 9 1234 +3249答:110100B1111111111110111B11111B110010110001B1.9 下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。 68+(53) 6853 68(53)(68)53答:0FH0FH0A1H87H1.10汉字在输入、存储、输出过程中所使用的汉字编码是否一样?使用的是什么编码?答:在汉字的输入、存储、输出过程中所使用的汉字编码是不一样的,输入时有输入编码,存储时有汉字机内码,输出时有汉字字形码。残骛楼諍锩瀨濟溆塹籟。残骛楼諍锩瀨濟溆塹籟婭。第2章 IBM-PC系统结构习题

5、解答2.1什么是微型计算机?微型计算机主要由哪几部分组成?其主要功能是什么?答:微型计算机是指以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件控制器和运算器的微处理器为核心所构造出的计算机系统。酽锕极額閉镇桧猪訣锥。酽锕极額閉镇桧猪訣锥顧。微型计算机主要由微处理器、存储器、系统总线、I/O接口电路和I/O设备组成。微处理器用来执行程序指令,完成所有的算术和逻辑运算及全机的控制工作;存储器用来存放程序和数据;系统总线是计算机各功能部件之间进行信息传输的通道;I/O设备是指微型计算机配备的输入输出设备,也称外围设备(简称外设),用来提供具体的输入输出手段。彈贸摄尔霁毙攬砖卤庑。彈贸摄尔

6、霁毙攬砖卤庑诒。2.2 8086/8088CPU由哪两部分组成?它们的主要功能是什么?答:8086/8088CPU由总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)两部分组成。总线接口部件BIU是8086与系统总线的接口,负责CPU与存储器、IO端口传送数据;执行部件EU负责指令的执行和数据的运算。謀荞抟箧飆鐸怼类蒋薔。謀荞抟箧飆鐸怼类蒋薔點。2.3 8086/8088CPU有哪些寄存器?各有什么用途?答:8086/8088内部的寄存器可分为通用寄存器、专用寄存器和段寄存器。8086/8088有8个16位的通用寄存器,包括4个数据寄存器(

7、AX、BX、CX、DX)、2个变址寄存器(SI和DI)和2个指针寄存器(BP和SP)。它们均可以用于保存算术逻辑运算中的操作数和运算结果,但每个寄存器又有各自规定的专门用途。AX通常称为累加器(Accumulator),用于算术运算、逻辑运算以及与外设传送信息等,它是汇编编程中使用频率最高的一个寄存器。BX称为基址寄存器(Base Address Register),常用来存放存储器地址。CX称为计数寄存器(CountRegister),常用来保存计数值。DX称为数据寄存器(DataRegister),常用来存放双字长数据的高16位,也用于存放I/O的端口地址。SI称为源变址(Source I

8、ndex)寄存器,DI称为目的变址(Destination Index)寄存器,主要用于存储器寻址方式时提供偏移地址。SI和DI一般与数据段寄存器DS联用,用来确定数据段中某存储单元的地址。在串操作指令中,还有专用的用法:SI和数据段寄存器DS联用,DI和附加段寄存器ES联用,分别用来寻址数据段中的源操作数和附加段的目的操作数。BP称为基址指针(Base Pointer)寄存器,SP称为堆栈指针(Stack Pointer)寄存器,它们主要用于指向堆栈段中的存储单元。BP与堆栈段寄存器SS联用,用来确定堆栈段中某存储单元的地址,BP主要用于给出堆栈中基地址,用它可直接存取堆栈中的数据;SP与堆

9、栈段寄存器SS联用,用来确定堆栈段中栈顶的地址,SP保存堆栈栈顶的偏移地址,用它只可访问栈顶。厦礴恳蹒骈時盡继價骚。厦礴恳蹒骈時盡继價骚卺。IP(Instruction Pointer)为指令指针寄存器,用来存将要执行的指令在代码段中的偏移地址。它和代码段寄存器CS一起可以确定下一条的指令的物理地址。标志寄存器FLAGS也被称为程序状态寄存器PSW,用来存放状态标志和控制标志的寄存器。茕桢广鳓鯡选块网羈泪。茕桢广鳓鯡选块网羈泪镀。8086/8088有4个16位段寄存器,分别为代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES。段寄存器是根据内存分段的管理模式而设置的,专门用

10、于存放段地址。CS(Code Segment Register)称为代码段寄存器,用来存放代码段的段地址;DS(Data Segment Register)称为数据段寄存器,用来存放数据段的段地址;ES(Extra Segment Register)称为附加段寄存器,用来存放附加段的段地址;SS(Stack Segment Register)称为堆栈段寄存器,用来存放堆栈段的段地址。鹅娅尽損鹌惨歷茏鴛賴。鹅娅尽損鹌惨歷茏鴛賴縈。2.4 8086/8088CPU哪些寄存器可以用来指示存储器地址?答:BX、SI、DI、BP、SP、IP、CS、DS、ES、SS。2.5标志寄存器中有哪些状态标志和控制

11、标志?它们每一位所表示的含义是什么?答:标志寄存器中有6个状态标志(CF、PF、AF、ZF、SF、OF)和3个控制标志(TF、IF、DF)。状态标志用来记录程序运行结果的状态信息,它们是根据有关指令的执行结果由CPU自动设置的,常用作条件转移指令的转移控制条件。CF(Carry Flag)进位标志,主要用来反映运算是否产生进位或借位,如果运算结果的最高位有效位产生进位或借位时,进位标志置1,即CF1,否则置0。PF(Parity Flag)奇偶标志,用于反映运算结果中“1”的个数的奇偶性,当运算结果最低字节中“1”的个数为零或偶数时,PF1,否则PF0。AF(Auxiliary carry F

12、alg)辅助进位标志,记录运算时第3位(低半字节)产生的进位值,辅助进位标志一般在BCD码运算中作为是否进行十进制调整的判断依据。ZF(Zero Flag)零标志,用来反映运算结果是否为0,运算结果为0时ZF位置1,否则置0。SF(Sign Flag)符号标志,记录运算结果的符号,它与运算结果的最高位相同,结果为负时置1,否则置0。OF(Overflow Flag)溢出标志,用于反映有符号数运算结果是否溢出,在运算过程中,如操作数超出了机器能表示的范围,则称为溢出,此时OF位置1,否则置0。籟丛妈羥为贍偾蛏练淨。籟丛妈羥为贍偾蛏练淨槠。控制标志用于控制处理器的操作,可根据需要用指令设置。TF(

13、Trap Flag)追踪标志,也称单步标志,当追踪标志TF为1时,CPU进入单步方式即CPU每执行一条指令后,产生一个单步中断,通常用于程序的调试;当追踪标志TF为0时,处理器正常工作。IF(Interrupt Flag)中断标志,当IF=1时,CPU可以响应可屏蔽中断请求;当IF=0时,CPU不响应CPU外部的可屏蔽中断发出的中断请求。DF(Direction Flag)方向标志,用于在串处理指令中控制地址的变化方向,当DF位为1时,每次操作后变址寄存器SI和DI自动减少,串处理从高地址向低地址方向处理;当DF为0时,则使SI和DI自动增加,使串处理从低地址向高地址方向处理。預頌圣鉉儐歲龈讶

14、骅籴。預頌圣鉉儐歲龈讶骅籴買。2.6有两个16位数3A4BH和10EFH分别存放在20XXH和20XXH存储单元中,请用图表示出它们在存储器里的存放情况。渗釤呛俨匀谔鱉调硯錦。渗釤呛俨匀谔鱉调硯錦鋇。答:20XXH4BH20XXH3AH20XXH20XXH20XXHEFH20XXH10H2.7一个存储单元的物理地址、段地址、偏移地址三者之间有何关系?答:20位的物理地址由16位的段地址和16位的段内偏移地址组成。物理地址PA(Physical Address)的计算方法如下:铙誅卧泻噦圣骋贶頂廡。铙誅卧泻噦圣骋贶頂廡缝。物理地址PA=段地址10H+偏移地址2.8在DEBUG程序中,一条指令语句

15、表示为20XX:0030 MOV AL,8。请问:段地址、偏移地址和物理地址分别为多少?存放段地址和偏移地址的寄存器是哪两个?擁締凤袜备訊顎轮烂蔷。擁締凤袜备訊顎轮烂蔷報。答:段地址:20XXH。偏移地址:0030H。物理地址:20XX0H。存放段地址的寄存器是CS。存放偏移地址的寄存器是IP。贓熱俣阃歲匱阊邺镓騷。贓熱俣阃歲匱阊邺镓騷鯛。第3章8086/8088寻址方式和指令系统习题解答一、填空3.1 指出下列指令源操作数的寻址方式:MOV AX,ARRAYSI ; MOV AX,ES:BX ; MOV AX,100 ; MOV AX,BX+DI ; MOV AX,BX ; MOV AX,2

16、0XXH ; MOV AX,ARRAYBXSI ;MOV AX,DI+20H ;答:寄存器相对寻址;寄存器间接寻址;直接寻址;基址变址寻址;寄存器寻址;立即数寻址;相对基址变址寻址;寄存器相对寻址。坛摶乡囂忏蒌鍥铃氈淚。坛摶乡囂忏蒌鍥铃氈淚跻。3.2 假设(SP)=100H,(SS)=1000H,执行PUSH BP指令后,栈顶的物理地址是。答:10102H3.3 段地址和偏移地址为3FFFH:1234H,它的物理地址是,段地址和偏移地址为1000H:000FH,它的物理地址是。蜡變黲癟報伥铉锚鈰赘。蜡變黲癟報伥铉锚鈰赘籜。答:41224H,1000FH3.4 若要测试AL寄存器中操作数的第0,

17、3,4,7位是否均为0,然后根据测试结果实现条件转移,可使用指令,以产生转移条件。这条指令执行后将影响的标志位是。買鲷鴯譖昙膚遙闫撷凄。買鲷鴯譖昙膚遙闫撷凄届。答:TEST AL,0A9H;SF,ZF,PF3.5 现有(DS)=20XXH,(BX)=0100H,(SI)=0002H,(20XX0H)=12H,(20XX1)=34H,(20XX2H)=56H,(20XX3H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21203H)=65H,下列指令执行后AX寄存器的内容:綾镝鯛駕櫬鹕踪韦辚糴。綾镝鯛駕櫬鹕踪韦辚糴飙。MOV AX,1200H ;(

18、AX)=MOV AX,BX ;(AX)=MOV AX,1200H ;(AX)= MOV AX,BX ;(AX)= MOV AX,1100HBX ;(AX)= MOV AX,BXSI ;(AX)= MOV AX,1100HBX+SI ;(AX)=答:1200H,0100H,4C2AH,3412H,4C2AH,7856H,65B7H3.6 设(BX)=101H,(DS)=2100H ,(CS)=1900H,内存中(21101H)=0C7H,(21102H)=0FFH,(21103H)=00H,(21104H)=0F0H,执行如下指令后CS和IP寄存器的值是多少?驅踬髏彦浃绥譎饴憂锦。驅踬髏彦浃绥譎

19、饴憂锦諑。 JMP BX ;(CS)=,(IP)= JMP BX ;(CS)=,(IP)=JMP WORD PTRBX+1 ;(CS)=,(IP)= JMP DWORD PTRBX ;(CS)=,(IP)=答:1900H,0101H;1900H,0FFC7H;1900H,0FFH;0F000H,FFC7H3.7 试根据以下要求写出相应的汇编语言指令。把BX寄存器和DX寄存器内容相加,结果存入DX寄存器中,汇编语言指令:;用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。汇编语言指令:;猫虿驢绘燈鮒诛髅貺庑。猫虿驢绘燈鮒诛髅貺庑献。用寄存器

20、BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和CX寄存器内容相加,并把结果送回到存储器中。汇编语言指令:;锹籁饗迳琐筆襖鸥娅薔。锹籁饗迳琐筆襖鸥娅薔嗚。用位移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加,并把结果送回存储单元中。汇编语言指令:;構氽頑黉碩饨荠龈话骛。構氽頑黉碩饨荠龈话骛門。把数0B5H与AL寄存器内容相加,并把结果送回AL寄存器中。汇编语言指令:;答:(1)ADD DX,BX (2)ADD AL,BYTE PTR BXSI (3)ADD BX+0B2H,CX輒峄陽檉簖疖網儂號泶。輒峄陽檉簖疖網儂號泶蛴。(4)ADD 0524H,2A59H (5

21、)ADD AL,0B5H3.8 指令SAR可用来除2,而指令SHR可用来除2。答:带符号数,无符号数3.9 条件转移指令的目标地址应在本条指令的下一条指令的个字节范围内。答:23.10 执行指令XOR AX,AX的含义是。答:将AX清零3.11 一个有16个字的数据区,它的起始地址为70A0H:DDF6H,那么该数据区的最后一个字单元的物理地址为H。尧侧閆繭絳闕绚勵蜆贅。尧侧閆繭絳闕绚勵蜆贅瀝。答:7E814H3.12 串处理指令规定源寄存器使用,源串在段中;目的寄存器使用,目的串必须在段中。答:SI,数据段,DI,附加段3.13 执行加法指令时,如果两个操作数的符号相同,而结果的符号与之相反

22、,则OF;执行减法指令时,如果两个操作数的符号相反,而结果的符号与减数相同,则OF=。答:1,13.14 数据串传送指令执行前应做、四项准备工作。答:置源串首地址、置目的串首地址、置串长、置方向标志二、选择题(可多选)3.15基址寄存器的内容、变址寄存器的内容以及指令中指定的位移量三者之和作为操作数的有效地址,它的寻址方式是。识饒鎂錕缢灩筧嚌俨淒。识饒鎂錕缢灩筧嚌俨淒侬。A、直接寻址方式 B、寄存器相对寻址方式C、基址变址寻址方式 D、相对基址变址寻址方式3.16完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是。A、MOV AL,00H B、AND AL,00H C、XOR AL,

23、AL D、SUB AL,AL凍鈹鋨劳臘锴痫婦胫籴。凍鈹鋨劳臘锴痫婦胫籴铍。3.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-256 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

24、 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和V2是用DW定义的变量,下列指令中正确的是。A、MOV V1,20H B、MOV V1,V2C、MOV AL,V1 D、MOV 20XXH,V23.24下列哪条指令不合法?A、INT AX,0278H B、ROR DX,CL C、CMPSB D、RET 4

25、3.25下列指令中,有语法错误的是。A、MOV SI,DI B、IN AL,DXC、JMP WPRD PTRBX D、PUSH WORD PTR 20BX+SI-23.26下列4条指令中,是错误的。A、MOV DS,20XXH B、ADD DX,BPC、MOV AX,200 D、MOV AX,ARRAYSI+23.27运算型指令的寻址和转移型指令的寻址,其不同点在于。A、前者取操作数,后者决定程序的转移地址B、后者取操作数,前者决定转移地址C、两者都是取操作数D、两者都是决定程序的转移地址3.28下列指令中操作数在代码段中的是。A、MOV AL,25H B、ADD BH,AL C、INC DS

26、:25H D、CMP AL,BL恥諤銪灭萦欢煬鞏鹜錦。恥諤銪灭萦欢煬鞏鹜錦聰。3.29设(BL)=5,要使结果(BL)=0AH,应执行指令是。A、AND BL,0FH B、NOT BL C、XOR BL,0FH D、OR BL,0FH鯊腎鑰诎褳鉀沩懼統庫。鯊腎鑰诎褳鉀沩懼統庫摇。3.30指令JMP DWORD PTRBXSI属于寻址。A、寄存器间接寻址 B、相对基址变址寻址C、段内转移直接寻址 D、段间转移间接寻址3.31在下列指令中,指令的执行会影响条件码的CF位。A、JMP NEXT B、JC NEXT C、INC BX D、SHL AX,13.32将累加器AX的内容清零的正确指令是。A、

27、OR AX,0 B、XOR AX,AX C、TEST AX,AX D、CMP AX,AX答:3.15 D3.16 A3.17 C3.18 D3.19 B3.20 A3.21 D3.22 A3.23 A3.24 C3.25 A3.26 A3.27 A3.28 A3.29 C3.30 D3.31 D3.32 B三、简答题3.33 PUSH和POP指令有什么特点?答:这两条指令都不影响标志位,而且由于堆栈操作必需以字为单位,所以它们只能做字操作,不能使用立即寻址方式。硕癘鄴颃诌攆檸攜驤蔹。硕癘鄴颃诌攆檸攜驤蔹鸶。3.34算术移位指令和逻辑移位指令有什么不同?答:移位指令常用于乘2除2操作。其中,算术

28、移位用于带符号数;逻辑移位用于无符号数。3.35串处理指令有什么特殊规定?简述REPZ CMPSB指令的执行过程。答:源串必须在数据段中,目的串必须在附加段中,串处理指令隐含的寻址方式是SI和DI寄存器的间接寻址方式。源串允许使用段跨越前缀来指定段。阌擻輳嬪諫迁择楨秘騖。阌擻輳嬪諫迁择楨秘騖輛。REPZ CMPSB指令对两个字节型字符串比较,找到第一个不相等的字节结束。3.36完成下列操作,选用什么指令?将AX的内容减去0520H和上次运算的借位;将变量名TABL的段地址送AX;答:(1)sbb ax,0520H(2)3.37条件转移指令和无条件转移指令有什么不同?答:条件转移指令只能实现偏移

29、量为-128至+127字节范围的转移;无条件转移指令根据寻址方式可实现短转移(偏移量为-128至+127字节),段内转移,段间转移。氬嚕躑竄贸恳彈瀘颔澩。氬嚕躑竄贸恳彈瀘颔澩纷。第4章8086/8088汇编语言(格式)习题解答一、填空题 答:4.1有关操作数的伪指令中,算术运算符有+、-、*、/和MOD,逻辑运算符有AND、OR、XOR和NOT,关系操作符有EQ(相等)、NE(不等)、LT(小于)、GT(大于)、LE(小于或等于)、GE(大于或等于),数值运算符有TYPE、LENGTH、SIZE、OFFSET、SEG,属性操作符PTR、THIS、段属性前缀、SHORT、HIGH 和LOW。釷鹆

30、資贏車贖孙滅獅赘。釷鹆資贏車贖孙滅獅赘慶。4.2下列两个语句的区别在于X1不可以重复定义,X2可以重复定义。 X1 EQU 1000H X2=1000H4.3假设 (DS)=3000HORG 3100HTABLE DB 10,3*4,10HADDRESS DD TABLEARRAY DW 2 DUP(675AH,?)写出下列各单元的内容。(3100H)= 0AH (3101H)=0CH (3102H)=10H(3103H)=00H (3104H)=01H (3105H)=00H(3106H)=31H (3107H)=5AH (3108H)=67H(3109H)=00H (310AH)=00H (310BH)=5AH(310CH)=67H (310DH)=00H (310EH)=00H4.4对于下面的数据定义,各条MOV指令单独执行后,请写出相关寄存器的内容。FLDB DB ?TABLEA DW 20 DUP(?)TABLEB DB ABCD(1)MOV AX, TY

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

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