32位汇编习题04

合集下载

汇编语言习题

汇编语言习题

汇编语言习题一、单项选择题1. 汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( )。

A、名字项B、操作项C、操作数项D、注释项2. 在汇编语言程序中,对END语句的叙述正确的是()。

A、是一可执行语句B、表示程序执行到此结束C、表示源程序到此结束D、在汇编后要产生机器码3. 汇编语言源程序中,每个语句可由四项组成,其中名字项是一个符号,下面列出的有效名字是()A、VariableB、First & ldC、0FFFFHD、'Memphis'4.用一条指令仅实现将BX+SI=>AX的方法是()A、XCHG AX,[BX][SI]B、MOV AX,[BX+SI]C、LEA AX,BX[SI]D、LEA AX,[BX][SI]5.设 SP初值为2000H,执行指令"PUSH AX"后,SP的值是()A、1FFFHB、1998HC、2002HD、1FFEH6.条件转移指令JC产生程序转移的条件是()A、CF=1B、CF=0C、CF=1和ZF=1D、CF=1和ZF=07.选用串操作指令时,错误的操作是()A、置方向标志位B、根据串操作指令设置重复次数并送入CXC、设置源操作数及目的操作数指针D、源操作数和目的操作数都可以加段超越8.设AL=20H,SI=0500H,DS=3000H,(30500H)=0C0H,CF=1。

执行SBB AL,[SI]后,正确的结果是()A、AL=5FH SF=1 CF=1B、AL=60H SF=1 CF=0C、AL=5FH SF=0 CF=1D、AL=60H SF=0 CF=09.设AX=1000H,执行NOT AX指令后,正确的结果是()A、AX=1001HB、AX=0EFFHC、AX=1000HD、AX=0111H10. 设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( )A、85B92HB、86192HC、BB690HD、12169H11. 可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是()A、AX,BX,CX,DXB、DS,ES,CS,SSC、SP,BP,IP,BXD、SI,DI,BP,BX12. 循环指令LOOPNZ终止循环的条件是( )。

32位汇编语言习题及答案(全部)(钱晓捷版)

32位汇编语言习题及答案(全部)(钱晓捷版)

简答题1.1 简答题-1 (1)哪个处理器的指令系统成为Intel 80x86系列处 哪个处理器的指令系统成为Intel 80x86系列处 理器的基本指令集? 理器的基本指令集? • 8086 什么是通用寄存器? (3)什么是通用寄存器? • 一般指处理器最常使用的整数寄存器,可用于保存 一般指处理器最常使用的整数寄存器, 整数数据、 整数数据、地址等 最高有效位MSB是指哪一位? MSB是指哪一位 (6)最高有效位MSB是指哪一位? • 数据的最高位,例如对8、16、32位数据,MSB依次 数据的最高位,例如对8 16、32位数据 MSB依次 位数据, 指D7、D15和D31位
DS是数据段寄存器名 DS是数据段寄存器名 6364b 6364b是数字开头 @data是汇编语言使用预定义符号 是汇编语言使用预定义符号, @data是汇编语言使用预定义符号,表示数据段地址 flat是表示平展存储模型的关键字 flat是表示平展存储模型的关键字
10
习题解答
习题1.16 习题1.16
32位汇编语言习题解答 32位汇编语言习题解答
课件制作: 课件制作: 钱晓捷
钱晓捷,32位汇编语言程序设计,机械工业出版社 钱晓捷,32位汇编语言程序设计, 位汇编语言程序设计
第1章习题:汇编语言基础 章习题:
简答题( 1.1 简答题(1、3、6、7、8) 判断题( 1.2 判断题(1、6、7、8、9) 填空题 10) 1.3 填空题(3、4、5、7、10) 13、 15、 1.9、1.13、1.15、1.16
3
习题解答
简答题1.1 简答题-2 (7)汇编语言中的标识符与高级语言的变量和常量名 的组成原则有本质的区别吗? 的组成原则有本质的区别吗? • 没有 汇编语言的标识符大小写不敏感意味着什么? (8)汇编语言的标识符大小写不敏感意味着什么? • 表示字母大小写不同、但表示同一个符号 表示字母大小写不同、

16 32位微机原理、汇编语言及接口技术(第二版)陈涛 钱晓捷 2-3章课后习题答案

16 32位微机原理、汇编语言及接口技术(第二版)陈涛 钱晓捷 2-3章课后习题答案

第二章2.5 1M=220 因为最小的一个段的大小为16个字节(一个小段),所以 最多有220/24=216(1) 0FFFFH:0 物理地址为 0FFFF0H(2) 40H:17H 物理地址为 400H+17H=417H(3) 2000H:4500H 物理地址为200000H+4500H=24500H(4) 0B821H:4567H 物理地址为 0B8210H+4567H=0BC777H2.9 (1) CX 16位 DL 8位 操作数宽度不一样(类型不一致)(2) IP 不能作为源操作数,也不能作为目的操作数(3) 立即数不能直接赋给段寄存器(4)段寄存器间不能直接赋值(5) 类型不一致,立即数300超过8位,不能赋给8位寄存器AL(6) 寄存器间接寻址方式不能使用sp 寄存器(7)+作为算术运算符,它的操作数为常量(8)20h 为立即数不能作为目的操作数2.12 (1) ADD DX, BX(2) ADD AL,BYTE PTR [BX+SI] 或ADD AL,BYTE PTR [BX][SI](3) ADD [BX+0B2H],CX(4)ADD WORD PTR [0520H],3412H(5)ADD AL,0A0H21203h 20100h20101h 20102h 20103h 21201h 21201h 21202h2.16(1)1256H (2)20A1H+1256H+20000H=232F7H又[232F7H]=3280H所以EA=3280H 2.17(1)当AX=1E1EH时(2)当AX的D7和D0位不同时为0时(3)无符号数cx<64H时3.9 (1) 67h (2) 133h (3) 230h (4)41h (5)7654H3.11(1) my1b db 'Personal Computer'(2) my2b db 20(3) my3b db 14h(4)my4b db 00010100B(5) my5w dw 20 dup (?)(6) my6c equ 100(7)my7c = 'Personal Computer'3.14109h 10ah 113h114hAX=114H AX=6AX=0DH AX=02H 100h。

第4章 汇编语言程序设计习题解答

第4章 汇编语言程序设计习题解答

习题4.10 习题
• 下面程序段是实现从键盘输入十个一位 进制数后 下面程序段是实现从键盘输入十个一位10进制数后 累加,最后累加和以非压缩BCD码形式存放在 码形式存放在AH 累加,最后累加和以非压缩 码形式存放在 高位) 低位) (高位)和AL (低位)中。试把程序段中所空缺 的指令填上。 的指令填上。 XOR BX ,BX ;BX清零 清零 MOV CX,10 ; 传送数据长度 LOP:MOV AH,01H;中断 中断INT 21H的01H号调用 中断 的 号调用 INT 21H ;中断调用 中断调用P172, 键入值送入 中 键入值送入AL中 中断调用 MOV AH,BH ;将BH的内容传 的内容传AH 将 的内容传 ADD AL,BL ;BL与AL的值相加 结果在 中 的值相加,结果在 与 的值相加 结果在AL中 AAA ;非压缩 非压缩BCD码加法调整 非压缩 码加法调整 MOV BX,AX ;累加结果送 累加结果送BX 累加结果送 LOOP LOP ;CX-1→CX,判断 判断CX≠0,下列要求在数据段中依次书写各数据定义语句: 试按下列要求在数据段中依次书写各数据定义语句: 为首字节的连续存储单元中存放20H个重 (1)以DA1为首字节的连续存储单元中存放 ) 为首字节的连续存储单元中存放 个重 复的数据序列: , , 个 ,一个7。 复的数据序列:2,3,10个4,一个 。 为字符串变量, (2)DA2为字符串变量,用字变量(DW)设置一字 ) 为字符串变量 用字变量( ) 符串; 符串;‘STUDENTS’(按次顺序存放在各单元中)。 (按次顺序存放在各单元中)。 赋值以DA1为首地址 (3)用等值语句给符号 )用等值语句给符号COUNT赋值以 赋值以 为首地址 的数据区共占有的字节数, 的数据区共占有的字节数,此等值语句必须放在最 后一语句。 后一语句。 解答: 解答: ),7) (1)DA1 DB 20H DUP(2,3,10 DUP(4), ) ) ( , , ( ), (2)DA2 DW ‘TS’, ‘DU’,‘NE’,’ST’, ) , , , , (3) COUNT EQU DA2- DA1 )

汇编语言程序设计(第四版)【课后答案】

汇编语言程序设计(第四版)【课后答案】

汇编语言程序设计第四版【课后习题答案】第1章汇编语言基础知识〔习题1.1〕简述计算机系统的硬件组成及各部分作用。

〔解答〕CPU:包括运算器、控制器和寄存器组。

运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为处理单元提供所需要的数据。

存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。

外部设备:实现人机交换和机间的通信。

〔习题1.2〕明确下列概念或符号:主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB。

〔解答〕主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。

辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速度慢。

RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电后能保存信息。

存储器由大量存储单元组成。

为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常称做I/O端口。

KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。

〔习题1.3〕什么是汇编语言源程序、汇编程序、目标程序?〔解答〕用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编译通过的程序就是目标程序。

〔习题1.4〕汇编语言与高级语言相比有什么优缺点?〔解答〕汇编语言与高级语言相比的优点:由于汇编语言本质就是机器语言,它可以直接地、有效地控制计算机硬件,因而容易产生运行速度快,指令序列短小的高效目标程序,可以直接控制计算机硬件部件,可以编写在“时间”和“空间”两方面最有效的程序。

16。32位微机原理、汇编语言及接口技术(第二版)第三章课后习题答案。

16。32位微机原理、汇编语言及接口技术(第二版)第三章课后习题答案。

第3章3.1:汇编语言有什么特点解:汇编语言是一种以处理器指令系统为基础的低级程序设计语言,它采用助记符表达指令操作码,采用标识符号表示指令操作数,可以直接、有效地控制计算机硬件,因而容易创建代码序列短小、运行快速的可执行程序3.2编写汇编语言源程序时,一般的组成原则是什么?解:(1)完整的汇编语言源程序由段组成(2)一个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列(3)需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点(4)所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内(5)通常,程序还需要一个堆栈段3.3 MODEL伪指令是简化段定义源程序格式中必不可少的语句,它设计了哪7种存储模式?各用于创建什么性质的程序?解:3.4如何规定一个程序执行的开始位置,主程序执行结束应该如何返回DOS,源程序在何处停止汇编过程?解:开始位置:用标号指明返回DOS:利用DOS功能调用的4CH子功能来实现汇编停止:执行到一条END伪指令时,停止汇编3.5逻辑段具有哪些属性?解:段定位、段组合和段类型。

3.6给出采用一个源程序格式书写的例题3.1源程序例题3.1:创建一个在屏幕上显示一段信息的程序……解:stack segment stackdb 1024(0)stack endsdata segmentstring db 'Hello,Assembly!',0dH,0aH,‘$’data endscode segment 'code'assume cs:code,ds:data,ss:stackstart: mov dx,offset stringmov ah,9int 21hcode endsend start3.7DOS支持哪两种可执行程序结构,编写这两种程序时需要注意什么?解:(1). EXE程序程序可以有多个代码段和多个数据段,程序长度可以超过64KB通常生成EXE结构的可执行程序(2). COM程序只有一个逻辑段,程序长度不超过64KB需要满足一定条件才能生成COM结构的可执行程序(MASM 6.x需要采用TINY模式)3.8举例说明等价“EUQ”伪指令和等号“=”伪指令的用途解:符号定义伪指令有“等价EQU”和“等号=”:符号名 EQU 数值表达式符号名 EQU <字符串>符号名=数值表达式EQU用于数值等价时不能重复定义符号名,但“=”允许有重复赋值。

汇编第四章 习题及参考答案

汇编第四章 习题及参考答案

第四章习题及参考答案1. 在8086CPU中,如果SS的内容设置为1A4BH,堆栈的长度为100H字节,问:SP寄存器的初始化值为多少?SP初始指向哪个主存物理地址?参考答案:SP寄存器的初始化值为:100HSP初始指向的主存物理地址是:1A5B0H2.分别指出下列指令源操作数与目的操作数的寻址方式:(1)MOV ES, AX(2)ADD DS:[12H],AL(3)SUB BX,1200H(4)SHR AX,1(5)AND -28H[BP][DI], AX(6)MOV CX,LAB1[BX](7)SBB AX, [BX](8) OR DX,-360H[SI](9) ADC VAR1,CX(10) XOR [DI],AX参考答案:(1)寄存器,寄存器(2)直接, 寄存器(3)寄存器,立即(4)寄存器,立即(5)基址变址,寄存器(6)寄存器,相对(7)寄存器,寄存器间接(8)寄存器,相对(9)直接,寄存器(10)寄存器间接,寄存器3.指出下列指令的语法是否错误,若错误请改正。

(1)MOV DS, 1234H(2)ADD AH,AL(3)SUB CS,AX(4)MOV BX,[BX][SI](5)ADC VAR1,[BP][DI](6) SBB [BX][BP],AX(7)PUSH 5678H(8)SHL [BP][SI],CL(9)ROR AX,2(10)NEG AX,BX(11)LEA CS,AX(12)MOV AL,BX(13)ADD DS:200H,AX(14)AND [BX][BP],AH(15)OR BH,-16H[BP](16)CLC AX(17)MUL AX,BX(18)DIV 12H参考答案:(1) 错误,立即数不能直接传送到段寄存器中(2) 正确(3) 错误,不能对CS直接操作(4) 正确(5) 错误,两个操作数不能同时都在存储器中(6) 错误, 基址变址寻址方式中不能两个寄存器都是基址寄存器(7) 错误,立即数不能作为源操作数直接压入堆栈(8) 错误,目的操作数没有明确指明是字还是字节(9) 错误,移位次数大于1时,需将其提前存入CL中(10) 错误,操作数个数错误(11) 错误,目的操作数只能是16位通用寄存器(12) 错误, 操作数位数不一致(13) 正确(14) 错误, 基址变址寻址方式中不能两个寄存器都是基址寄存器(15) 正确(16) 错误,操作数个数错误(17) 错误,操作数个数错误(18) 错误,源操作数不能是立即数4. MOV BX, 2345HMOV CX, 2HCLROL BX,0FFHAND BX,CMP BX,045H执行上述程序段后,(BX)= 14H , ZF= 0 . 5. XOR AX, AX5HMOV AL,9HMOV BL,BLADD AL,AAA执行上述程序段后,(AX)= 104H , CF= 1 .6. 假设(DS)=1234H,(SI)=124H,(12464)=30ABH,(12484H)=464H,有以下程序段:[SI]LEA SI,[SI]MOV AX,1200HMOV [SI+22H],[SI+20H]LDS SI,[SI]ADD AX,执行上述程序段后,(AX)= 6156H , (SI)= 464H .7. MOV AX, 0EF23H0B5A7HMOV BX,INC AXNEG AXDEC BXNEG BX执行上述程序段后,(AX)= 10DCH ,(BX)= 4A5AH .。

汇编语言第3-4章平时练习题(四川农业大学)

汇编语言第3-4章平时练习题(四川农业大学)

3.知识点:0403(汇编语言程序格式) *后产生的文件的扩展名是(B)。

程序汇编汇编汇编语言源程序经A)MAP选项B)OBJ选项C)ASM选项D)EXE选项4.知识点:0403(汇编语言程序格式) *语言的什么文件经链接(汇编LINK)后产生可执行文件?(D)A)EXE选项B)OBJ选项C)MAP选项D)LST选项7. 知识点:0401(汇编程序功能)*汇编语言源程序是(A)程序。

A)不可直接执行的选项行的连接后就可直接执选项B)经编后就可执行的程序汇汇编C)经选项行的D)可直接执选项14 知识点:0302(程序占有的空间和执行时间) **(C)标0,则如果指令的运算结果为志位为1。

A)SF选项选项B)CFC)ZF选项D)OF选项15 知识点:0302(程序占有的空间和执行时间) **果中有奇数个1,则(如果指令的运算结C)标志位为0。

A)OF选项B)CF选项C)PF选项D)SF选项16. 知识点:0301(80x86 的寻址方式) *D)是编址的。

IBM PC机的内存是按(A)位选项B)双字选项C)字选项D)字节选项23 知识点:0301(80x86 的寻址方式80x86 的寻址方式) **辑地址为(C):0345H。

它的逻元的物理地址为12345H。

则如果内存的某一单A)0120H选项B)12000H选项C)1200H选项D)0012H选项24 知识点:0301(80x86 的寻址方式80x86 的寻址方式) ***如果一个字变量中存放16 个字,该字量数据变字变量的起始地址为1000H:2000H,则该区中的最末一个字单元的物理地址为(D)。

A)12020H选项B)12000H选项C)1201FH选项D)1201EH选项25 知识点:0301(80x86 的寻址方式80x86 的寻址方式) **取22000H 字单12H、34H,若要读元中的数据,设22000H、22001H单存放的数据为元分别读出的数据是(A)。

16、32位微机原理、汇编语言和接口技术教程课后习题答案解析

16、32位微机原理、汇编语言和接口技术教程课后习题答案解析

《16/32 位微机原理、汇编语言及接口技术教程》部分习题参考解答第1 章微型计算机系统概述〔习题1.2 〕什么是通用微处理器、单片机(微控制器)、芯片、嵌入式系统?〔解答〕通用微处理器:适合较广的应用领域的微处理器,例如装在机、笔记本电脑、工作站、服务器上的微处理器。

单片机:是指通常用于控制领域的微处理器芯片,其内部除外还集成了计算机的其他一些主要部件,只需配上少量的外部电路和设备,就可以构成具体的应用系统。

芯片:称数字信号处理器,也是一种微控制器,其更适合处理高速的数字信号,内部集成有高速乘法器,能够进行快速乘法和加法运算。

嵌入式系统:利用微控制器、数字信号处理器或通用微处理器,结合具体应用构成的控制系统,其典型的特点是把计算机直接嵌入到应用系统之中。

〔习题1.5 〕说明微型计算机系统的硬件组成及各部分作用。

〔解答〕:也称处理器,是微机的核心。

它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。

存储器:存储器是存放程序和数据的部件。

外部设备:外部设备是指可与微机进行交互的输入()设备和输出()设备,也称设备。

设备通过接口与主机连接。

总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。

习题1.6 〕什么是总线?微机总线通常有哪3 组信号?各组信号的作用是什么?〔解答〕总线:传递信息的共用通道,物理上是一组公用导线。

3 组信号线:数据总线、地址总线和控制总线。

(1)地址总线:传输将要访问的主存单元或端口的地址信息。

(2)数据总线:传输读写操作的数据信息。

(3)控制总线:协调系统中各部件的操作。

习题1.7 〕简答如下概念:(1)计算机字长(2)取指-译码-执行周期(3)(4)中断(5)总线解答〕(1)处理器每个单位时间可以处理的二进制数据位数称计算机字长。

(2)指令的处理过程,即指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。

第4章_3 汇编语言程序习题

第4章_3 汇编语言程序习题

P144 17
设有两个8个字节长的 设有两个 个字节长的BCD码 个字节长的 码 数据BCD1与BCD2.BCD1数 数据 与 数 惟1000H为首址在内存中顺 为首址在内存中顺 序存放; 序存放;BCD2数2000H为首 数 为首 址在内存中顺序存放。 址在内存中顺序存放。要求相 加后将结果顺序存放在以 2000H为首地址的内存区中 为首地址的内存区中 设结果BCD数仍不超过 个 数仍不超过8个 (设结果 数仍不超过 字节长) 字节长)试编写出完成上述功 能的汇编语言程序。 能的汇编语言程序。
课后作业: 课后作业:
1. 229 11
CMP1: CMP JBE MOV MOV NEXT: INC INC LOOP MOV INT CODE ENDS END
DX,AX NEXT AX,DX MAX,DX BX BX LOP AH,4CH 21H STRAT
P229 10 设有一个有符号数数组,共M个字,试编制一程序求其中最大的数。 设有一个有符号数数组, 个字, 个字 试编制一程序求其中最大的数。 (1)若需求绝对值最大的数。程序应如何修改? )若需求绝对值最大的数。程序应如何修改? (2)若数组无素为元符号数。求最大数的程序应如何修改? )若数组无素为元符号数。求最大数的程序应如何修改? DATA SEGMENT BUF1 DW 12H,………… M=$-BUF1 MAX DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV DX,DATA MOV DS,DX MOV CX,M-1 LEA BX,BUF1 MOV AX,[BX] LOP: CMP AX,[BX+2] JBE NEXT MOV AX,[BX+2] NEXT: INC BX INC BX LOOP LOP

计算机组成原理第五版-白中英(详细)第4章习题参考答案

计算机组成原理第五版-白中英(详细)第4章习题参考答案

第4章习题参考答案1.ASCII码是7位,如果设计主存单元字长为32位,指令字长为12位,是否合理为什么答:不合理。

指令最好半字长或单字长,设16位比较合适。

一个字符的ASCII 是7位,如果设计主存单元字长为32位,则一个单元可以放四个字符,这也是可以的,只是在存取单个字符时,要多花些时间而已,不过,一条指令至少占一个单元,但只占一个单元的12位,而另20位就浪费了,这样看来就不合理,因为通常单字长指令很多,浪费也就很大了。

2.假设某计算机指令长度为32位,具有双操作数、单操作数、无操作数三类指令形式,指令系统共有70条指令,请设计满足要求的指令格式。

答:字长32位,指令系统共有70条指令,所以其操作码至少需要7位。

双操作数指令单操作数指令无操作数指令3.指令格式结构如下所示,试分析指令格式及寻址方式特点。

15 10 !9 8 7 4 3 0答:该指令格式及寻址方式特点如下:(1) 单字长二地址指令。

》(2) 操作码字段OP可以指定26=64种操作。

(3) 源和目标都是通用寄存器(可分指向16个寄存器)所以是RR型指令,即两个操作数均在寄存器中。

(4) 这种指令结构常用于RR之间的数据传送及算术逻辑运算类指令。

4.指令格式结构如下所示,试分析指令格式及寻址方式特点。

15 10 9 8 7 4 3 015 10 9 8 7 4 3 0答:该指令格式及寻址方式特点如下:(1)双字长二地址指令,用于访问存储器。

(2)操作码字段OP可以指定26=64种操作。

(3)RS型指令,一个操作数在通用寄存器(选择16个之一),另一个操作数在主存中。

有效地址可通过变址寻址求得,即有效地址等于变址寄存器(选择16个之一)内容加上位移量。

|5.指令格式结构如下所示,试分析指令格式及寻址方式特点。

15 12 11 9 8 6 5 3 2 0答:该指令格式及寻址方式特点如下:(1)该指令为单字长双操作数指令,源操作数和目的操作数均由寻址方式和寄存器构成,寄存器均有8个,寻址方式均有8种。

汇编习题——精选推荐

汇编习题——精选推荐

汇编习题填空题1.在寻址⽅式中,可作基址寄存器的有__________、_________。

BX,BP2.累加器专⽤传送指令IN间接访问I/O端⼝,端⼝号地址范围为__________。

0-655353.指令MOV AX,[DI-4]中源操作数的寻址⽅式是______________。

寄存器相对寻址⽅式(相对寄存器寻址⽅式)选择题1.8086中8位算术运算指令执⾏后,结果为10010001B,则ZF和SF标志位的值为_A_____。

A)ZF=0 SF=1 B)ZF=0 SF=0 C)ZF=1 SF=1 D)ZF=0 SF不确定2.可以充当端⼝指针的寄存器是_______D____。

A) BX B) DI C) SI D) DX3.在指令MOV ES:[SI],AX 中,⽬的操作数为___D____寻址⽅式。

A)寄存器 B)直接 C)基址变址 D)寄存器间接简答题1.写出6种常⽤的寻址⽅式。

⽴即寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址2.在⽆超越说明时,通⽤数据读写、⽬的数据串、源数据串、堆栈操作和取指令操作分别⾃动选择哪些段寄存器搭配产⽣物理地址?通⽤数据读写⾃动选择数据段寄存器(DS)⽬的数据串⾃动选择附加数据段寄存器(ES)源数据串⾃动选择数据段寄存器(DS)堆栈操作⾃动选择堆栈段寄存器(SS)取指令操作⾃动选择代码段寄存器(CS)3.什么叫寻址⽅式?常⽤的寻址⽅式有哪些?指令中获取操作数或操作数地址的⽅法。

常⽤的寻址⽅式有:⽴即寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址等。

4.IBM-PC有哪些寄存器可⽤来指⽰存储器的地址?SP、BP、SI、DI、IP、BX、ES、DS、CS、SS填空题1.已知(BX)=2000H,(DI)=3000H,(SS)=4000H,(DS)=6000H,(SS)=5000H,66000H单元的内容为28H,则指令MOV AL,[BX+DI+1000H]的执⾏结果是_______________。

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

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

汇编语言各章习题答案习题一答案: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位数。

16/32位微机原理、汇编语言及接口技术第2版-第五章-习题答案

16/32位微机原理、汇编语言及接口技术第2版-第五章-习题答案

P151第五章部分习题参考答案
5.2 答:随机存取存储器丢失只读存储器读取不丢失8 13 8
5.4 答:应该有12个地址引脚和4个数据引脚。

需安排的控制引脚有:片选CS,读控制OE,写控制WE。

5.5 答:位片结构结构是每片有1位数据线;字片结构是每片有多位数据线。

2114是字片结构,4116是位片结构。

5.7 答:用多个芯片来扩充存储数据的位宽度,这种扩充称为位扩充。

用多个芯片在地址方向上进行扩充,这种扩充称为字扩充。

用2114(1K*4)组成32KB需64片,用4116(16K*1)组成32KB需16片。

5.9 答:每个存储单元会同时拥有16个地址。

5.10 答:
5.11 答:
5.12 答:
5.13 答:2764 8K*8 EPROM 片内A 12—A 0 32KB 空间 使用4片,因为存储空间在8088系统地址最高端的32KB ,所以地址范围为 F8000H —FFFFFH
+5V
D 7-D 0
A 19
A 16A 17A 18。

汇编语言程序设计(第二版)课后习题答案-精品资料

汇编语言程序设计(第二版)课后习题答案-精品资料

汇编语言程序设计(第二版)课后习题答案第二章1.解答:有256个2.解答:如下图.第一个络子为000B0H字单元,注意,是字单元,第五个格子为000B3H字单元E51E3C2A3.解答:30022H字节单元内容:ABH30024H字节单元内容:EFH30021H字单元内容:AB34H30022H字单元内容:CDABH4.解答:这三个物理地址都是3017AH,说明了不同的段地址和偏移地址对应同一物理地址5.解答:CS+IP第一个字的物理地址为:0AAA40H6.解答:条件标志OF,SF,ZF,CF,的值依次为:0,0,0,07.下列操作可使用那些寄存器?(1)加法和减法AX,BX,CX,DX,当然,还有这几个通用寄存器的高低位了,如AH,AL等(2)循环计数CX(3)乘法和除法DX,AX,AH,AL(4)保存段地址CS,DS,ES,SS(5)表示运算结果为O FLAGS(6)将要执行的指令地址IP(7)将要从堆栈取出数据的地址BP,SP,SS8.可以用来指示存储器地址的寄存器有:BX,SP,BP,DI,CS,DS,SI,ES,SS,IP9.一一对应;5--A4--B2--C3--D12--E9--F11--G10--H13--I8--J7--K6---L1--M15--N14--O第三章1.(1)立即寻址没有(2)直接寻址7237H(3)使用BX的寄存器寻址没有(4)使用BX的间接寻址637DH(5)使用BX的寄存器相对寻址0D5B4H(6)基址变址寻址8E18H(7)相对基址变址004FH2.根据下列要求,写出相应的汇编指令。

(1)ADD DX,BX(2)ADDAL,[BX][SI](3)ADD[BX][0B2H],CX(4)MOV AX,2A59H ADD[0524H],AX(5)ADDAL,0B5H3.(1)寄存器间接寻址MOVBX,OFFSET[BLOCK][0AH]MOV DX,[BX](2)寄存器相对寻址MOV SI,OAHMOVDX,[BLOCK][SI](3)基址变址寻址MOVBX,BLOCKMOVSI,OAHMOVDX,[BX][SI]4.现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(21200)=2AH,(20201)=4CH,(21202)=B7H,(21203)=65H,试说明下列各条指令执行完后,AX寄存器的内容。

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

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

《汇编语言程序设计》考试练习题及答案一、单选题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. 计算机一般由中央处理器、存储器和输入/输出子系统组成,其中()可以存放程序、数据、信息及中间结果。

微机原理与接口技术习题答案4

微机原理与接口技术习题答案4

第4章汇编语言程序设计1.已知在BUF的起始处保存有N个字符的ASCII码,编写汇编语言程序实现,将这组字符串传送到缓冲区BUFR中,并且使字符串的顺序与原来的顺序相反。

解:BUF DB "BONJOUR_BELLE"BUFR DB 100 DUP(?)MOV CX, NLEA SI, BUFLEA DI, BUFRADD DI,CXDEC DIL1:MOV AL,[SI]MOV [DI],ALINC SIDEC DILOOP L12.利用移位、传送和相加指令实现AX的内容扩大10倍。

解:将扩大后的结果放在DX:AX中,注意到10×AX=8×AX+2×AX。

XOR DX,DXSHL AX, 1RCL DX, 1MOV BX,AXMOV CX,DXSHL AX, 1RCL DX, 1SHL AX, 1RCL DX, 1ADD AX, BXADC DX, CX3.在缓冲区V AR中连续存放着3个16位的无符号数,编写程序实现将其按递增关系排列;如果V AR中保存的为有符号数,则再编写程序实现将其按递减关系排列。

解:V AR DW 1236,-432,3900XOR SI,,SIMOV AX,V AR[SI]CMP AX, V AR[SI+2]JAE L1XCHG AX, V AR[SI+2]L1:CMP AX, V AR[SI+4]JAE L2XCHG AX, V AR[SI+4]L2:MOV V AR[SI], AXMOV AX,V AR[SI+2]CMP AX, V AR[SI+4]JAE L3XCHG AX, V AR[SI+4]L3:MOV V AR[SI+2], AX4.编写程序段实现将AL和BL中的每一位依次交叉,得到的16位字保存在DX中,例如(AL)=01100101B,(BL)=11011010B,则得到的(DX)=10110110 10011001B。

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

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

一、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

)1.为在一连续的存储单元中,依次存放数据41H,42H,43H,44H,45H,46H,可选用的数据定义语句是(D)A.DB 41,42,43,44,45,46 B.DW 4142H,4344H,4546HC.DW ‘AB’,‘CD’,‘EF’D.DW ‘BA’,‘DC’,‘FE’2.DA2 DB‘AB’,‘CD’┇MOV AX,WORD PTR DA2+1上述语句执行后AX中的值是(D)A.‘AD’B.‘BC’C.‘DA’D.‘CB’3.下列数据定义语句中可实现留空20H个字节存储单元的是(D)A.DB 20 DUP(?) B.DW 20H DUP(?)C.DB 10H DUP(4 DUP(?)) D.DD 08H DUP(?)4.如某存储器分段时,表示偏移地址是17位二进制代码,那么一个段最多的存储单元数是(D)A.32K字节B.32K字C.64K字节D.64K字5.下列寄存器中用来指示堆栈中任意数据区的偏移地址的是(B)A.BX B.BPC.SI D.DI6.下列指令中有语法错误的是(C)A.PUSH AX B.PUSH [20H+SI+BX]C.POP CS D.PUSH CS7.执行PUSH BP指令时,目的操作数的物理地址表达式是(D)A.16*SS+BP B.16*DS+BPC.16*CS+IP D.16*SS+SP8.把BL中的数据输出到端口8CH中正确指令是(C)A.OUT 8CH,BL B.IN 8CH,BLC.MOV AL,BL D.MOV AL,BLOUT 8CH,AL IN 8CH,AL9.结果为零的条件转移指令,其测试条件是(A)A.ZF=1 B.ZF=0C.SF=l D.SF=010.下面程序段完成测试DA-BYTE字节单元中数是否为负数,若是则将全l送DH中,否则全0送DH中,那么程序段中方框里应填的语句是MOV CH,0MOV CH,0FFHZERO:MOV DH,CH(C)A.JNZ ZERO B.JS ZEROC.JZ ZERO D.JC ZERO11.汇编源程序时,出现语法错误的语句是(C)A.MOV [BX+SI],BX B.MOV CL,[BP+DI]C.MOV CS,AX D.MOV DS,AX12.设SP初值为3050H,执行指令PUSH BX后,SP的值是(B)A.304FH B.304EHC.3048H D.3049H13.串操作指令中,每次操作后使SI/DI为减量应设置(C)A.DF=0 B.TF=1C.DF=1 D.TF=014.设AL=57H,BL=24H,执行指令SUB AL,BL后,寄存器内容为(B)A.AL=57H,BL=24H B.AL=33H,BL=24HC.AL=57H,BL=33H D.AL=33H,BL=015. 当执行ADD AX ,BX 指令后,若AX的内容为4E52H 时,设置的奇偶标志位PF=0 ,下面的叙述正确的是( A)A. 表示结果中含 1 的个数是奇数B. 表示结果中含1 的个数是偶数C. 表示该数是奇数D. 表示结果中低8 位中含1 的个数是奇数16. 设物理地址(21000H)=20H, (21001H)=30H,(21002H)=40H 。

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

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

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

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

16/32位微机原理、汇编语言及接口技术课后习题答案

16/32位微机原理、汇编语言及接口技术课后习题答案

微机原理第一章解:五代,详细见书解:微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件——控制器和运算器的微处理器为核心,所构造出的计算机系统。

PC机:PC(Personal Computer)机就是面向个人单独使用的一类微机。

单片机:用于控制的微处理器芯片,内部除CPU外还集成了计算机的其他一些主要部件,如:ROM、RAM、定时器、并行接口、串行接口,有的芯片还集成了A/D、D/A转换电路等。

数字信号处理器DSP:主要面向大流量数字信号的实时处理,在宿主系统中充当数据处理中心,在网络通信、多媒体应用等领域正得到越来越多的应用解:微机主要有存储器、I/O设备和I/O接口、CPU、系统总线、操作系统和应用软件组成,各部分功能如下:CPU:统一协调和控制系统中的各个部件系统总线:传送信息存储器:存放程序和数据I/O设备:实现微机的输入输出功能I/O接口:I/O设备与CPU的桥梁操作系统:管理系统所有的软硬件资源解:系统总线:传递信息的一组公用导线,CPU通过它们与存储器和I/O设备进行信息交换。

好处:组态灵活、扩展方便三组信号线:数据总线、地址总线和控制总线。

其使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获得信号。

解:(1)用于数值计算、数据处理及信息管理方向。

采用通用微机,要求有较快的工作速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的维护、扩充手段。

(2)用于过程控制及嵌人应用方向。

采用控制类微机,要求能抵抗各种干扰、适应现场的恶劣环境、确保长时间稳定地工作,要求其实时性要好、强调其体积要小、便携式应用强调其省电。

解:解:I/O通道:位于CPU和设备控制器之间,其目的是承担一些原来由CPU处理的I/O任务,从而把CPU从繁杂的I/O任务中解脱出来。

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

4
习题解答
4.2 判断题 2)指令的相对寻址都是近转移。 指令的相对寻址都是近转移。 •对 JMP指令对应高级语言的GOTO语句 指令对应高级语言的GOTO语句, 4)JMP指令对应高级语言的GOTO语句,所以不能使用 • 错,需要使用 JA和JG指令的条件都是 大于” 指令的条件都是“ 6)JA和JG指令的条件都是“大于”,所以是同一个指 令的两个助记符。 令的两个助记符。 • 错,JA针对无符号数,JG针对有符号数 JA针对无符号数 JG针对有符号数 针对无符号数, JC和JB的条件都是CF= 的条件都是CF 所以是同一条指令。 7)JC和JB的条件都是CF=1,所以是同一条指令。 • 对。无符号小于(JB)必然借位(JC) 无符号小于(JB)必然借位(JC) 10) ECX= LOOP指令和JECX指令都发生转移 指令和JECX指令都发生转移。 10)若ECX=0,则LOOP指令和JECX指令都4.1 简答题-2 (9)如果循环体的代码量远超过128个字节,还能用 如果循环体的代码量远超过128个字节, 128个字节 LOOP指令实现计数控制循环吗 指令实现计数控制循环吗? LOOP指令实现计数控制循环吗? • 不能,因为LOOP指令的目标地址采用相对短转移, 不能,因为LOOP指令的目标地址采用相对短转移, LOOP指令的目标地址采用相对短转移 只能在-128~+127字节之间循环 ~+127 只能在-128~+127字节之间循环 (10)什么是“先循环、后判断”循环结构? 10)什么是“先循环、后判断”循环结构? • 指先执行循环体 , 然后判断是否继续循环的结构 , 指先执行循环体, 然后判断是否继续循环的结构, 这种结构通常至少执行一次循环体
10
习题解答
习题4.15习题4.15-2 4.15
• 编程实现指令CDQ,将EAX符号扩展到EDX 编程实现指令CDQ,将EAX符号扩展到EDX CDQ, 符号扩展到
(2)使用移位等指令进行优化编程。 使用移位等指令进行优化编程。 • 方法1: 方法1 mov edx,eax edx,31 sar edx,31 • 方法2: 方法2 eax,1 rol eax,1 edx,1 rcr edx,1 edx,31 sar edx,31 eax,1 ror eax,1
11
习题解答
习题4.17习题4.17-1 4.17
• 编写一个程序, 先提示输入数字“ Input 编写一个程序 , 先提示输入数字 “
Number: Number : 然后在下一行显示输入的数字, 结束; 0 ~ 9” , 然后在下一行显示输入的数字 , 结束 ; 如 果不是键入了0 数字, 就提示错误“ Error!”, 果不是键入了 0 ~ 9 数字 , 就提示错误 “ Error!” , 继续等待输入数字。 继续等待输入数字。 • 方法1:使用字符输入输出子程序 方法1 ;数据段 number(0 ',0 inmsg byte 'Input number(0~9): ',0 dh,0 again: ',0 ermsg byte 0dh,0ah,'Error! Input again: ',0 ;代码段 mov eax,offset inmsg ;提示输入数字 call dispmsg
32位汇编语言习题解答 32位汇编语言习题解答
课件制作: 课件制作: 钱晓捷
钱晓捷,32位汇编语言程序设计,机械工业出版社 钱晓捷,32位汇编语言程序设计, 位汇编语言程序设计
第4章习题:程序结构 章习题:
简答题( 10) 4.1 简答题(2、5、6、9、10) 判断题 10) 4.2 判断题(2、4、6、7、10) 填空题 4.3 填空题(2、3、4、5、6) 15、 17、 27、 4.4、4.7、4.15、4.17、4.27、4.29
没有该指令,编程实现该指令功能。 没有该指令,编程实现该指令功能。 按照符号扩展的含义编程, EAX最高为 最高为0 (1)按照符号扩展的含义编程,即:EAX最高为0, 则 EDX= EAX最高为 最高为1 EDX=FFFFFFFFH。 EDX=0;EAX最高为1,则EDX=FFFFFFFFH。 test eax,8000h ;测试最高位 eax,8000h 8000 next1 最高位为0 jz next1 ;最高位为0,转移 edx,0 mov edx,0ffffffffh 最高位为1 设置EDX EDX= ;最高位为1,设置EDX=FFFFFFFFH jmp done ;跳过另一个分支 next1 dx,0 设置EDX EDX= next1: mov dx,0 ;设置EDX=0 done: done:
简答题4.1 简答题-1 (2)数据的直接寻址和指令的直接寻址有什么区别? 数据的直接寻址和指令的直接寻址有什么区别? • 数据的直接寻址给出数据所在的存储器地址,指令 数据的直接寻址给出数据所在的存储器地址, 的直接寻址给出指令所在的存储器地址。 的直接寻址给出指令所在的存储器地址。 什么是奇偶校验? (5)什么是奇偶校验? • 数据通信时,数据的某一位用做传输数据的奇偶校 数据通信时, 验位,数据中包括校验位在内的“ 验位,数据中包括校验位在内的“1”的个数恒为奇 就是奇校验;恒为偶数, 数,就是奇校验;恒为偶数,就是偶校验 助记符JZ JE为什么表达同一条指令 JZ和 为什么表达同一条指令? (6)助记符JZ和JE为什么表达同一条指令? • 两个数相减,差值为0(JZ)与两个数相等(JE)是 两个数相减,差值为0 JZ)与两个数相等(JE) 一个含义
5
习题解答
填空题4.3 填空题-1 (2)MASM给短转移、近转移和远转移定义的类型名依 MASM给短转移、 给短转移 次是___ ___和___。 ___、 次是___、___和___。 • SHORT,NEAR,FAR SHORT,NEAR, 假设在平展存储模型下,EBX=1256H (3)假设在平展存储模型下,EBX=1256H,双字变量 TABLE 的偏移地址是 20A1H , 线性地址 32F7H 处存 放 20A 32F 3280H 执行指令“ EIP=_______, 3280H , 执行指令 “ JMP EBX” 后 EIP = _______ , 执 行指令“ TABLE[EBX]”后EIP=_______。 行指令“JMP TABLE[EBX]”后EIP=_______。 • 1256H,3280H 1256H 3280H
8
习题解答
习题4.7 习题4.7 4.
• 定义COUNT(假设为10)个元素的32位数组,输入元 定义COUNT( 假设为10) 个元素的32位数组, COUNT 10 32 位数组
素编号( COUNT利用DISPHD DISPHD子程序输出其 素编号 ( 0 ~ COUNT-1 ) , 利用 DISPHD 子程序输出其 地址、利用DISPSID子程序输出其值。 DISPSID子程序输出其值 地址、利用DISPSID子程序输出其值。
;数字 > 9?
erdisp: mov eax,offset ermsg call dispmsg jmp again done:
习题解答
13
习题4.17习题4.17-3 4.17
• 方法2:使用数字输入输出子程序 方法2
again: again: call readuid ;call readsid eax,0 cmp eax,0 ;数字 < 0? jb erdisp ;jl erdisp eax,9 cmp eax,9 ;数字 > 9? ja erdisp ;jg erdisp call dispuid ;call dispsid jmp done erdisp: erdisp: mov eax,offset ermsg call dispmsg jmp again
9
;输入N,小于10 输入N 小于10 EAX= ;EAX=地址 ;显示地址 EAX= ;EAX=变量值 ;显示数值
习题解答
习题4.15习题4.15-1 4.15
• IA-32处理器的指令 CDQ将 EAX符号扩展到 EDX。 假若 IA-32 处理器的指令CDQ 将 EAX 符号扩展到EDX 。 处理器的指令 CDQ 符号扩展到 EDX
7
习题解答
习题4.4 习题4.4
• 已知var1 、 var2 、 var3 和 var4 是 32位无符号整数 , 已知 var1 var2 var3 var4 32 位无符号整数, var 位无符号整数
用汇编语言程序片段实现如下C++语句: 用汇编语言程序片段实现如下C++语句: C++语句 var4=(var1 var2 )+var3 var4=(var1*6)/( var2-7)+var3 eax,var1 mov eax,var1 ebx,6 mov ebx,6 var1 mul ebx ;var1*6 ebx,var2 mov ebx,var2 ebx,7 var2 sub ebx,7 ;var2-7 (var1 var2 div ebx ;(var1*6)/( var2-7) eax,var3 (var1 var2 )+var3 add eax,var3 ;(var1*6)/( var2-7)+var3 var4 mov var4,eax
12
习题解答
习题4.17习题4.17-2 4.17
• 方法1:使用字符输入输出子程序 方法1
again: again: call readc al,' cmp al,'0' jb erdisp al,' cmp al,'9' ja erdisp call dispcrlf call dispc jmp done ;等待按键 ;数字 < 0?
6
习题解答
填空题4.3 填空题-2 ( 4 ) “ CMP EAX,3721H”指令之后是 JZ指令 , 发生转 EAX,3721H” 指令之后是JZ 指令, 3721H” 指令之后是 JZ 指令 移的条件是EAX ________,此时ZF _______。 EAX= ZF= 移的条件是EAX=________,此时ZF=_______。 • 3721H,1 3721H 执行“ EBX,4 指令后,JNC发生转移 发生转移, (5)执行“SHR EBX,4”指令后 , JNC发生转移, 说明 EBX的D3=_____。 EBX的 _____。 •0 ( 6 ) 在 EDX 等 于 0 时 转 移 , 可 以 使 用 指 令 “ CMP EDX,____”、 也可以使用“ EDX,_____”构成 EDX,____” 、 也可以使用 “ TEST EDX,_____” 构成 条件,然后使用JE指令实现转移。 JE指令实现转移 条件,然后使用JE指令实现转移。 • 0,EDX
相关文档
最新文档