微机原理与接口技术第四版课后习题答案.docx

上传人:H****o 文档编号:13038156 上传时间:2022-04-27 格式:DOCX 页数:25 大小:196.63KB
返回 下载 相关 举报
微机原理与接口技术第四版课后习题答案.docx_第1页
第1页 / 共25页
微机原理与接口技术第四版课后习题答案.docx_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《微机原理与接口技术第四版课后习题答案.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术第四版课后习题答案.docx(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精品名师归纳总结第 1 章 微型运算机系统 处理器每个单位时间可以处理的二进制数据位数称运算机字长。 总线信号分成三组,分别是数据总线、的址总线和掌握总线。 PC 机主存采纳DRAM 组成。 高速缓冲储备器Cache 是处理器与主存之间速度很快但容量较小的储备器。 ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS 的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS 中的很多功能。 中断是 CPU 正常执行程序的流程被某种缘由打断、并临时停止, 转向执行事先支配好的一段处理程序,待该处理程序终止后仍返回被中断的指令连续执行的过程。 主板芯片组是主板的核心部件,它供应主板上的关

2、键规律电路。 MASM 是微软开发的宏汇编程序。 指令的处理过程。处理器的“取指译码执行周期”是指处理器从主储备器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。 机器语言层,即指令集结构。(同学很多认为是:汇编语言层。前4 章主要涉及汇编语言,但本书仍有很多处理器原理等内容)习题 1.3 填空题 Central Processing Unit ,中心处理单元,处理器 1MB , 4GB 216, 64KB EXE ,COM Instruction Set Architecture 目录 MMX , SSE3 64 IBM ,DOS PCI习题

3、 1.4 说明微型运算机系统的硬件组成及各部分作用。解答CPU : CPU 也称处理器,是微机的核心。它采纳大规模集成电路芯片,芯片内集成了掌握器、运算器和如干高速储备单元(即寄存器)。处理器及其支持电路构成了微机系统的掌握中心,对系统的各个部件进行统一的和谐和掌握。储备器:储备器是存放程序和数据的部件。外部设备:外部设备是指可与微机进行交互的输入(Input )设备和输出( Output )设备,也称I/O 设备。 I/O 设备通过 I/O 接口与主机连接。总线:互连各个部件的共用通道,主要含数据总线、的址总线和掌握总线信号。习题 1.5 什么是通用微处理器、单片机(微掌握器)、DSP 芯片

4、、嵌入式系统?解答通用微处理器:适合较广的应用领域的微处理器,例如装在PC 机、笔记本电脑、工作站、服务器上的微处理器。单片机:是指通常用于掌握领域的微处理器芯片,其内部除CPU 外仍集成了运算机的其他一些主要部件,只需配上少量的外部电路和设备,就可以构成详细的应用系统。DSP 芯片:称数字信号处理器,也是一种微掌握器,其更适合处理高速的数字信号,内部集成有高速乘法器,能够进行快速乘法和加法运算。嵌入式系统:利用微掌握器、数字信号处理器或通用微处理器,结合详细应用构成的掌握系统。习题 1.7 区分如下概念:助记符、汇编语言、汇编语言程序和汇编程序。解答助记符: 人们采纳便于记忆、 并能描述指令

5、功能的符号来表示机器指令操作码,该符号称为指令助记可编辑资料 - - - 欢迎下载精品名师归纳总结符。汇编语言:用助记符表示的指令以及使用它们编写程序的规章就形成汇编语言。 汇编语言程序:用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序。汇编程序:汇编语言源程序要翻译成机器语言程序才可以由处理器执行。这个翻译的过程称为 “汇编”,完成汇编工作的程序就是汇编程序(Assembler)。习题 1.8 区分如下概念:路径、肯定路径、相对路径、当前目录。系统磁盘上存在某个可执行文件, 但在 DOS 环境输入其文件名却提示没有这个文件,是什么缘由?解答路径:操作系统以目录形式治理磁盘上的文件,文

6、件所在的分区和目录就是该文件的路径。肯定路径:从根目录到文件所在目录的完整路径称为“肯定路径”。是保证文件唯独性的标示方法。相对路径:从系统当前目录到文件所在目录的路径称为相对路径。当前目录:用户当前所在的目录就是当前目录。指明的路径不正确,或者执行了另外一个同名的文件。习题 1.10 冯诺依曼运算机的基本设计思想是什么?解答采纳二进制形式表示数据和指令。指令由操作码和的址码组成。将程序和数据存放在储备器中,运算机在工作时从储备器取出指令加以执行,自动完成运算任务。这就是“储备程序”和“程序掌握”(简称储备程序掌握)的概念。指令的执行是次序的,即一般依据指令在储备器中存放的次序执行,程序分支由

7、转移指令实现。运算机由储备器、运算器、掌握器、输入设备和输出设备五大基本部件组成,并规定了5 部分的基本功能。习题1.11 运算机系统通常划分为哪几个层次?一般运算机用户和软件开发人员对运算机系统的熟识一样吗?解答最上层是用户层。第 5 层是高级语言层。第 4 层是汇编语言层。第 3 层是操作系统层。第 2 层是机器语言层。第 1 层是掌握层。第 0 层是数字电路层。一般运算机用户和软件人员对运算机系统的熟识并不一样。一般运算机用户看到的运算机,也就是我们最熟识的运算机,属于用户层,而软件人员看到的属于高级语言层或是汇编语言层。第 2 章 处理器结构习题 2.1 简答题解答 ALU 是算术规律

8、运算单元,负责处理器所能进行的各种运算,主要是算术运算和规律运算。 取指是指从主存取出指令代码通过总线传输处处理器内部指令寄存器的过程。8086 分成总线接口单元和指令执行单元,可以独立操作。在执行单元执行一条指令的同时,总线接口单元可以读取下一条指令,等到执行时不需要进行取指了,所以称为预取。 Pentium 采纳分别的Cache结构,一个用做指令Cache,一个用做数据Cache。 堆栈的存取原就是先进后出(也称为后进先出)操作方式存取数据。 标志寄存器主要储存反映指令执行结果和掌握指令执行形式的有关状态。 执行了一条加法指令后,发觉ZF1,说明运算结果为0。可编辑资料 - - - 欢迎下

9、载精品名师归纳总结资料word 精心总结归纳 - - - - - - - - - - - - 没有。 汇编语言的标识符大小写不敏锐,即表示字母大小写不同、但表示同一个符号。 不会。 指令的操作数需要通过储备器的址或I/O 的址,才能查找到数据本身,故称数据寻址方式。习题 2.3 填空题 32, DX , DH 16 段的址,偏移的址,EIP, IP 00100110 , 0 73C00H , 73800H EBX ,ECX , ESI, EDI , EBP,ESP 实的址, 64KB ASM ,目标模块, FLAT 立刻数寻址、寄存器寻址和储备器寻址 DS,SS习题 2.4 处理器内部具有哪3

10、 个基本部分? 8086 分为哪两大功能部件?其各自的主要功能是什么?解答处理器内部有ALU 、寄存器和指令处理三个基本单元。8086 有两大功能部件:总线接口单元和执行单元。总线接口单元:治理着8086 与系统总线的接口,负责处理器对储备器和外设进行拜访。8086 全部对外操作必需通过BIU 和这些总线进行。执行单元 EU:负责指令译码、数据运算和指令执行。习题 2.6 什么是标志?什么是IA-32处理器的状态标志、掌握标志和系统标志?说明状态标志在标志寄存器EFLAGS 的位置和含义。解答标志: 用于反映指令执行结果或掌握指令执行形式的一个或多个二进制数位。例如, 有些指令执行后会影响有关

11、标志位。有些指令的执行要利用相关标志。状态标志:用来记录程序运行结果的状态信息。掌握标志: DF 标志,掌握字符串操作的的址方向。系统标志:用于掌握处理器执行指令的方式。状态标志在标志寄存器EFLAGS 中的位置和含义如下:可编辑资料 - - - 欢迎下载精品名师归纳总结3111109876543210可编辑资料 - - - 欢迎下载精品名师归纳总结OFSFZFAFPCF F习题 2.8 什么是 8086 中的规律的址和物理的址?规律的址如何转换成物理的址?请将如下规律的址用物理的址表达(均为十六进制形式): FFFF 0 40 17 20004500 B821 4567解答物理的址:在处理器

12、的址总线上输出的的址称为物理的址。每个储备单元有一个唯独的物理的址。 规律的址:在处理器内部、程序员编程时采纳规律的址,采纳“段的址:偏移的址“形式。某个储备单元可以有多个规律的址,即处于不同起点的规律段中,但其物理的址是唯独的。规律的址转换成物理的址:规律的址由处理器在输出之前转换为物理的址。将规律的址中的段的址左移二进制4 位(对应 16 进制是一位,即乘以16),加上偏移的址就得到20 位物理的址。 FFFFH:0 FFFF0H 40H:17H 00417H 2000H:4500H 24500H可编辑资料 - - - 欢迎下载精品名师归纳总结学习资料 名师精选 - - - - - - -

13、 - - -第 3 页,共 25 页 - - - - - - - - - -可编辑资料 - - - 欢迎下载精品名师归纳总结 B821H:4567H BC777H习题 2.9 IA-32 处理器有哪三类基本段,各是什么用途?解答IA-32 处理器有代码段、数据段、堆栈段三类基本段。代码段:存放程序的指令代码。程序的指令代码必需支配在代码段,否就将无法正常执行。数据段: 存放当前运行程序所用的数据。程序中的数据默认是存放在数据段,也可以存放在其他规律段中。堆栈段:主存中堆栈所在的区域。程序使用的堆栈肯定在堆栈段。习题 2.11 什么是实的址方式、爱护方式和虚拟8086 方式?它们分别使用什么储备

14、模型?解答实的址方式:与 8086 具有相同的基本结构, 只能寻址 1MB 物理储备器空间, 规律段最大不超过64KB 。但可以使用32 位寄存器、 32 位操作数和32 位寻址方式。相当于可以进行32 位处理的快速8086。实的址 工作方式只能支持实的址储备模型。爱护方式:具有强大的段页式储备治理和特权与爱护才能,使用全部32 条的址总线,可寻址4GB 物理储备器。爱护方式通过描述符实现分段储备治理,每个规律段可达4GB。处理器工作在爱护方式时,可 以使用平展或段式储备模型。虚拟 8086 方式:在爱护方式下运行的类似实方式的运行环境,只能在1MB 储备空间下使用“16 位段”。处理器工作在

15、虚拟8086 方式时,只能使用实的址储备模型。习题 2.12 汇编语句有哪两种,每个语句由哪4 个部分组成?解答汇编语句有两种:执行性语句(处理器指令)、说明性语句(伪指令)。 每个语句有:标号、指令助记符、操作数或参数、注释4 个部分组成。习题 2.16 说明以下指令中源操作数的寻址方式?假设VARD 是一个双字变量。( 1)mov edx,1234h( 2)mov edx,vard( 3)mov edx,ebx( 4)mov edx,ebx( 5)mov edx,ebx+1234h( 6)mov edx,vardebx( 7)mov edx,ebx+edi( 8)mov edx,ebx+e

16、di+1234h( 9)mov edx,vardesi+edi( 10) mov edx,ebp*4解答 立刻数 直接 寄存器 寄存器间接 寄存器相对 寄存器相对 基址变址 相对基址变址 相对基址变址 带比例寻址可编辑资料 - - - 欢迎下载精品名师归纳总结第 3 章 数据处理习题 3.1 简答题( 1)使用二进制8 位表达无符号整数,257 有对应的编码吗?( 2)字符“ F”和数值 46H 作为 MOV 指令的源操作数有区分吗?( 3)为什么可以把指令“MOV AX, 34 67H*3 ”中的数值表达式看成是常量?( 4)数值 500 ,能够作为字节变量的初值吗?( 5)为什么说“ XC

17、HG EDX,CX ”是一条错误的指令?( 6)都是猎取偏移的址,为什么指令“LEA EBX, ESI”正确,而指令“ MOV EBX, OFFSETESI”就错误?( 7)INC , DEC ,NEG 和 NOT 都是单操作数指令,这个操作数应当是源操作数仍是目的操作数?( 8)大小写字母转换使用了什么规律?( 9)乘除法运算针对无符号数和有符号数,有两种不同的指令。只有一种指令的加减法如何区分无符号数和有符号数运算?( 10)规律与运算为什么也称为规律乘?解答 没有。使用二进制8 位表达无符号整数,257 没有对应的编码。 字符“ F”的 ASCII 码就是数值 46H ,所以没有区分。

18、汇编程序在汇编过程中对数值表达式运算,得到一个确定的数值,故称数值表达式为常量。 不能。数值500 大于一个字节所能表达的数据量,所以不能为字节变量赋值。 源、目标寄存器位数不同,不能用该指令进行数据交换。 前者在指令执行时获得偏移的址,是正确的。但后者的OFFSET 只能在汇编阶段获得偏移的址,但此时寄存器内容是不行知的,所以无法获得偏移的址。 INC ,DEC , NEG 和 NOT 指令的操作数既是源操作数也是目的操作数。 大小写字母转换利用它们的ASCII 码相差 20H。 加减法不区分无符号数和有符号数,但依据运算结果分别设置标志寄存器的CF 和 OF 标志, 可利用 CF 和 OF

19、 进行区分。 规律与运算规章类似二进制的乘法,所以称其为规律乘。习题 3.3 填空题( 1)定义字节变量的伪指令助记符是 ,猎取变量名所具有的偏移的址的操作符是 。( 2)运算机中有一个“01100001 ”编码。假如把它认为是无符号数,它是10 进制数 。 假如认为它是BCD 码,就表示真值 。又假如它是某个ASCII 码,就代表字符 。( 3) C 语言用“ n”表示让光标回到下一行首位,在汇编语言中需要输出两个掌握字符:一个是回车,其ASCII码是 ,它将光标移动到当前所在行的首位。另一个是换行,其ASCII码是 ,它将光标移到下一行。( 4)数据段有语句“ H8843 DWORD 99

20、008843H ”,代码段指令“ MOV CX, WORD PTR H8843”执行后, CX 。( 5)用 DWORD 定义的一个变量XYZ ,它的类型是 ,用“ TYPE XYZ ”会得到数值为 。假如将其以字量使用,应当用 说明。( 6)数据段有语句 “ABC BYTE 1,2,3 ”,代码段指令“ MOV CL, ABC+2 ”执行后,CL 。( 7)例题 3-9 的 TAB 定义假如是“ 1234567890 ”,就显示结果是 。( 8)指令“XOR EAX, EAX”和“SUB EAX, EAX ”执行后,EAX ,CF OF 。而指令“ MOV EAX, 0 ”执行后, EAX

21、, CF 和 OF 没有变化。( 9)例题 3-15 程序执行终止,变量QVAR 内容是 。BCD 内容是 。( 10)欲将 EDX 内的无符号数除以16,使用指令“ SHR EDX,”,其中后一个操作数是一个立刻数。解答 BYTE , OFFSET 97, 61,小写字母a可编辑资料 - - - 欢迎下载精品名师归纳总结 0DH (13), 0AH (10) 8843H DWORD , 4, WORD PTR XYZ 3 78894111 0, 0,0 0123456788765432H ,83H 4习题 3.4 以下十六进制数表示无符号整数,请转换为十进制形式的真值: FFH 0H 5EH

22、 EFH解答 255 0 94 239习题 3.7 将以下十进制数用8 位二进制补码表示: 0 127 127 57解答 00000000 01111111 10000001 11000111习题 3.8 进行十六进制数据的加减运算,并说明是否有进位或借位: 1234H 7802H F034H 5AB0H C051H 1234H 9876H ABCDH解答 1234H 7802H 8A36H ,无进位 F034H 5AB0H 4AF4H ,有进位 C051H 1234H BE1DH ,无借位 9876H ABCDH ECA9H ,有借位习题 3.9 数码 0 9、大写字母 A Z、小写字母 a

23、 z 对应的 ASCII 码分别是多少?ASCII 码 0DH 和 0AH 分别对应什么字符?解答数码 0 9 对应的 ASCII 码依次是 30H 39H 。大写字母 A Z 对应的 ASCII 码依次是: 41H 5AH 。小写字母 a z 对应的 ASCII 码依次是: 61 7AH 。ASCII 码 0DH 和 0AH 分别对应的是回车和换行字符。习题 3.10 设置一个数据段,依据如下要求定义变量或符号常量: my1b 为字符串变量:Personal Computer my2b 为用十进制数表示的字节变量:20 my3b 为用十六进制数表示的字节变量:20可编辑资料 - - - 欢迎

24、下载精品名师归纳总结 my4b 为用二进制数表示的字节变量:20 my5w 为 20 个未赋值的字变量 my6c 为 100 的常量 my7c 表示字符串: Personal Computer解答my1bbyte Personal Computer my2bbyte 20my3bbyte 14hmy4bbyte 00010100bmy5wword 20 dup.my6c= 100my7cequ 习题 3.16 使用如干 MOV 指令实现交互指令“XCHG EBX,EDI”功能。解答push eax;可以没有mov eax,ebx mov ebx,edi mov edi,eaxpop eax;可

25、以没有习题 3.17 假设当前 ESP 0012FFB0H ,说明下面每条指令后,ESP 等于多少? push eaxpush dxpush dword ptr 0f79h pop eaxpop word ptr bx pop ebx解答ESP0012FFACH ESP0012FFAAH ESP0012FFA6H ESP0012FFAAH ESP0012FFACH ESP0012FFB0H习题 3.19 请分别用一条汇编语言指令完成如下功能:( 1)把 EBX 寄存器和 EDX 寄存器的内容相加,结果存入EDX 寄存器。( 2)用寄存器 EBX 和 ESI 的基址变址寻址方式把储备器的一个字节

26、与AL 寄存器的内容相加,并把结果送到AL 中。( 3)用 EBX 和位移量 0B2H 的寄存器相对寻址方式把储备器中的一个双字和ECX 寄存器的内容相加,并把结果送回储备器中。( 4)将 32 位变量 VARD 与数 3412H 相加,并把结果送回该储备单元中。( 5)把数 0A0H 与 EAX 寄存器的内容相加,并把结果送回EAX 中。解答 add edx,ebx add al,ebx+esi add bx+0b2h,cx add varw,3412h可编辑资料 - - - 欢迎下载精品名师归纳总结 add eax,0a0h习题 3.21 给出以下各条指令执行后AL 值,以及 CF 、ZF

27、、SF、OF 和 PF 的状态:mov al,89h add al,al add al,9dh cmp al,0bch sub al,al dec alinc al解答mov al,89h; AL 89HCFZFSFOFPFadd al,al; AL 12H10011add al,9dh; AL 0AFH00101cmp al,0bch; AL 0AFH10101sub al,al; AL 00H01001dec al; AL 0FFH00101inc al; AL 00H01001习题 3.28 编程将一个压缩BCD 码变量(例如92H )转换为对应的ASCII 码,然后调用DISPC 子程

28、序(在输入输出子程序库中)显示。可编辑资料 - - - 欢迎下载精品名师归纳总结解答;数据段可编辑资料 - - - 欢迎下载精品名师归纳总结bcdbyte 92h;代码段 mov al,bcd shr al,4 add al,30h call dispc mov al,bcd and al,0fh add al,30h call dispc第 4 章 汇编语言程序设计习题 4.1 简答题( 1)是什么特点打算了目标的址的相对寻址方式应用最多?( 2)什么是奇偶校验?( 3)为什么判定无符号数大小和有符号大小的条件转移指令不同?( 4)双分支结构中两个分支体之间的JMP 指令有什么作用?( 5)

29、为什么特殊强调为子程序加上必要的注释?( 6)子程序采纳堆栈传递参数,为什么要特殊留意堆栈平稳问题?( 7)参数传递的“传值”和“传址”有什么区分?( 8)INCLUDE 语句和 INCLUDELIB有什么区分?( 9)混合编程有什么优势?( 10)运行 Windows 程序,有时为什么会提示某个DLL 文件不存在?解答 当同一个程序被操作系统支配到不同的储备区域执行时,指令间的位移没有转变,目标的址采纳相对寻址可便利操作系统的敏捷调度。可编辑资料 - - - 欢迎下载精品名师归纳总结 数据通信时,数据的某一位用做传输数据的奇偶校验位,数据中包括校验位在内的“1”的个数恒为奇数,就是奇校验。恒

30、为偶数,就是偶校验。 无符号数和有符号数的操作影响两组不同的标志状态位,故判定两个无符号数和有符号数的大小关系要利用不同的标志位组合,所以有对应的两组指令。 双分支结构中两个分支体之间的JMP 指令,用于实现终止前一个分支回到共同的出口作用。 完整的子程序注释可便利程序员调用该子程序,子程序注释包括子程序名、子程序功能、入口参数和出口参数、调用留意事项和其他说明等。 子程序保持堆栈平稳,才能保证执行RET 指令时当前栈顶的内容是正确的返回的址。主程序也要保持堆栈平稳,这样才能释放传递参数占用的堆栈空间,否就多次调用该子程序可能就致使堆栈溢出。 “传值”是传递参数的一个拷贝,被调用程序转变这个参

31、数不影响调用程序。“传址”时,被调用程序可能修改通过的址引用的变量内容。 INCLUDE语句包含的是文本文件、是源程序文件的一部分。INCLUDELIB语句包含的是子程序库文件。 取长补短。 Windows 程序在运行时需要加载其配套的动态链接库DLL 文件,当其没有被搜寻到时就会提示不存在。习题 4.3 填空题( 1)JMP 指令依据目标的址的转移范畴和寻址方式,可以分成四种类型:段内转移、 ,段内转移、 和段间转移、 ,段间转移、 。( 2)假设在平展储备模型下, EBX 1256H ,双字变量TABLE 的偏移的址是20A1H ,线性的址 32F7H处存放3280H,执行指令“ JMP

32、EBX ” 后 EIP ,执行指令“ JMP TABLEEBX”后 EIP 。(3)“ CMP EAX,3721H ”指令之后是JZ 指令,发生转移的条件是EAX ,此时 ZF 。( 4)小写字母“ e”是英文当中显现频率最高的字母。假如某个英文文档利用例题4-11 的异或方法 进行简洁加密,统计发觉密文中字节数据“8FH ”最多,你判定该程序采纳的字节密码可能是 。( 5)循环结构程序一般有三个部分组成,它们是 ,循环体和 部分。( 6)例题 4-14 程序中的 RET 指令,假如用POP EBP 指令和 JMP EBP 指令替换,此时EBP 内容是 。( 7)过程定义开头是 “TEST P

33、ROC ”语句,就过程定义终止的语句是 。宏定义开头是“ DISP MACRO ”语句,就宏定义终止的语句是 。( 8)利用堆栈传递子程序参数的方法是固定的,例如寻址堆栈段数据的寄存器是 。( 9) MASM汇编语言中,声明一个共用的变量应使用 伪指令。而使用外部变量要使用 伪指令声明。( 10)调用 ReadConsole 函数时,用户在键盘上按下数字8,然后回车,就键盘缓冲区的内容依次是 。解答 相对寻址,间接寻址,直接寻址,间接寻址 1256H , 3280H 3721H , 1 EAH 循环初始,循环掌握 REPT1 标号的的址 TEST ENDP , ENDM EBP PUBLIC

34、, EXTERN 38H 0DH 0AH习题 4.6 执行如下程序片断后,CMP 指令分别使得5 个状态标志CF、ZF、SF、OF 和 PF 为 0 仍是为 1?它会使得哪些条件转移指令指令Jcc 的条件成立、发生转移?可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结解答mov eax,20h cmp eax,80h可编辑资料 - - - 欢迎下载精品名师归纳总结CF1ZF 0SF 1OF 0PF1可以使得条件成立、发生转移的指令有:JCJSJPJNZJNO习题 4.9 指令 CDQ 将 EAX 符号扩展到EDX ,即: EAX 最高为 0,就

35、EDX 0。EAX 最高为 1,就 EDX FFFFFFFFH 。请编程实现该指令功能。解答 1test eax,8000h jz next1mov edx,0ffffffffh;测试最高位最高位为 0( ZF 1),转移到标号NEXT1最高位为 1,次序执行:设置EDX FFFFFFFFHnext1:jmp donemov dx,0;无条件转移,跳过另一个分支最高位为 0 转移到此执行:设置EDX0done:解答 2使用移位指令更好。rol eax,1 rcr edx,1 sar edx,31 ror eax,1习题 4.11 编写一个程序,先提示输入数字“Input Number:0 9”

36、,然后在下一行显示输入的数字,终止。假如不是键入了0 9 数字,就提示错误“Error. ”,连续等待输入数字。可编辑资料 - - - 欢迎下载精品名师归纳总结解答;数据段可编辑资料 - - - 欢迎下载精品名师归纳总结inmsgbyte Input number09: ,0ermsgbyte 0dh,0ah,Error. Input again: ,0;代码段mov eax,offset inmsg;提示输入数字call dispmsgagain:call readc;等待按键 cmp al,0;数字 9 ?ja erdisp call dispcrlf call dispc jmp don

37、eerdisp:mov eax,offset ermsgcall dispmsg jmp againdone:习题 4.12 有一个首的址为ARRAY 的 20 个双字的数组,说明以下程序段的功能。mov ecx,20 mov eax,0 mov esi,eaxsumlp:add eax,arrayesi可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结解答add esi,4 loop sumlp mov total,eax可编辑资料 - - - 欢迎下载精品名师归纳总结求这 20 个双字的和,储存在TOTAL 变量,不关进心进位和溢出。习题 4.

38、22 编写一个子程序,它以二进制形式显示EAX 中 32 位数据,并设计一个主程序验证。可编辑资料 - - - 欢迎下载精品名师归纳总结解答;代码段,主程序mov eax,8F98FF00Hcall dispbd;调用子程序;代码段,子程序可编辑资料 - - - 欢迎下载精品名师归纳总结dispbdproc; 32位二进制数的输出push ecx push edxmov ecx,32;要输出的字符个数dbd:rol eax,1; AL 循环左移一位push eaxand al,01h;取 AL 最低位add al,30h;转化成相应的ASCLL码值call dispc;以二进制的形式显示pop

39、 eax loop dbd pop edx pop ecx retdispbdendp习题 4.26 编制 3 个子程序把一个32 位二进制数用8 位十六进制形式在屏幕上显示出来,分别运用如下3 种参数传递方法,并协作3 个主程序验证它。( 1)采纳 EAX 寄存器传递这个32 位二进制数( 2)采纳 temp 变量传递这个32 位二进制数( 3)采纳堆栈方法传递这个32 位二进制数解答( 1);数据段wvarword 307281AFH;代码段,主程序mov eax,wvarcall disp mov al,H call dispc;代码段,子程序dispproc push ebxpush

40、ecxdhw1:mov ecx,8 rol eax,4mov ebx,eax; 8位and al,0fh;转换为 ASCII 码可编辑资料 - - - 欢迎下载精品名师归纳总结add al,30h cmp al,9 jbe dhw2 add al,7dhw2:call dispc mov eax,ebx loop dhw1 pop ecxpop ebx retdispendp( 2);数据段wvarword 307281AFHtempword .;代码段,主程序 mov eax,wvar mov temp,eaxcall disp mov al,H call dispc;代码段,子程序disp

41、proc push ebx push ecxmov ecx,8; 8位mov eax,tempdhw1:rol eax,4 mov ebx,eaxand al,0fh;转换为 ASCII 码add al,30h cmp al,9 jbe dhw2 add al,7dhw2:call dispc;显示一个字符mov eax,ebx loop dhw1 pop ecxpop ebx retdispendp( 3);数据段wvarword 307281AFH;代码段,主程序push wvar call disp add esp,4 mov al,H可编辑资料 - - - 欢迎下载精品名师归纳总结dispcall dispc;代码段,子程序procpush ebp mov ebp,esp push ebxpush ecxdhw1:mov ecx,8mov eax,ebp+8 rol eax,4; 8位mov ebx,eax and al,0fhadd al,30h;转换为 ASCII 码cmp al,9 jbe dhw

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁