32位汇编语言程序设计上机指导
- 格式:doc
- 大小:188.00 KB
- 文档页数:24
实验一熟悉汇编语言程序设计的实验环境及上机步骤一、实验目的:1、掌握文本编辑程序EDIT的基本使用方法。
2、熟练掌握汇编语言上机操作的基本步骤,学会汇编语言程序的编辑、汇编、连接、运行等操作方法。
二、上机实验指导(一)实验环境1.硬件环境微型计算机(Intel x86系列CPU)一台2. 软件环境⏹Windows98/2000/XP操作系统⏹文本编辑器(NOTEPAD(记事本))⏹汇编程序(MASM.EXE)⏹连接程序(LINK.EXE)(二)上机实验步骤上机步骤总结如下:1.把汇编程序拷贝到 C:\ASM\2.用记事本建立ASM源程序,保存为C:\ASM\HELLO.ASM3.汇编 C:\ASM>MASM HELLO.ASM<回车>4.链接C:\ASM>LINK HELLO.OBJ<回车>5.执行C:>ASM>HELLO〈回车〉下面详细介绍上机步骤:1.确定源程序的存放目录建议源程序存放的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。
创建方法:找到C盘的根目录,在C盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”→“文件夹”,并把新建的文件夹命名为ASM。
请把MASM.EXE、LINK.EXE都拷贝到此目录中。
2.建立ASM源程序使用NOTEPAD(记事本)文本编辑器建立ASM源程序。
打开记事本,输入源程序后,保存为后缀为.ASM的文件,保存路径为C:\ASM\HELLO.ASM。
3.用MASM.EXE汇编源程序产生OBJ目标文件具体操作如下:在DOS命令提示符窗口中操作选择“开始”→“程序”→“附件”→“命令提示符”,打开DOS命令提示符窗口,然后用CD命令转到源程序目录下,接着输入MASM命令:C:\Documents and Settings>cd..(回车,退回到上一级根目录)C:>CD ASM<回车>C:\ASM>MASM HELLO.ASM<回车>操作时的屏幕显示如图2所示。
32位汇编语言程序设计课程设计设计背景汇编语言是一种基于机器指令的低级语言,它直接面向计算机硬件,可以更加高效地控制计算机的运行。
而32位汇编语言是一种针对32位操作系统的汇编语言,它能够更好地支持内存管理和多线程操作等功能。
因此,学习和掌握32位汇编语言的程序设计能力对于计算机科学专业的学生来说是非常重要的。
课程设计目标本次课程设计旨在通过对32位汇编语言的学习和实践,提高学生的汇编语言程序设计能力,并让学生了解和掌握汇编语言在计算机底层的实现原理,培养学生针对计算机系统底层编程的能力和兴趣。
课程设计内容实验一:Hello World本次实验旨在让学生掌握汇编语言程序的开发流程和常见的汇编语句以及输出调试。
具体实验要求如下:1.编写一个汇编程序,输出“Hello World!”到屏幕上。
2.使用软件调试器运行并测试程序,检查程序是否能正常输出。
实验二:计算器本次实验旨在让学生学会如何进行汇编语言程序设计中的算数运算,以及如何与用户进行交互。
具体实验要求如下:1.编写一个汇编程序,实现基本的加减乘除运算,并从屏幕上获取用户输入。
2.在屏幕上展示运算结果,并让用户随时可以选择是否继续进行计算。
3.使用软件调试器运行并测试程序,检查程序是否能正常运行。
实验三:数组排序本次实验旨在让学生学会如何在汇编程序中处理数组,并了解常用的排序算法。
具体实验要求如下:1.编写一个汇编程序,实现对一个固定长度的数字数组进行排序。
2.输出排序后的数组。
3.使用软件调试器运行并测试程序,检查程序是否能正常运行。
课程学习方法和建议1.理论学习要和实践相结合,通过实践才能更好地理解和掌握汇编语言程序设计中的各种语句、操作和流程。
2.软件调试器是汇编程序的重要工具,学生需要熟练掌握其使用方法和调试技巧,以方便快速地找到程序的问题并解决。
3.学生可以通过阅读相关的教科书和参考资料,或者通过搜索互联网资源来扩充自己的知识和提高自己的能力。
windows环境下32位汇编语言程序设计附书代码汇编语言是一种底层计算机语言,用于编写与计算机硬件直接交互的程序。
在Windows环境下,可以使用32位汇编语言进行程序设计。
本文将介绍一些常见的32位汇编语言程序,并附带相关的代码示例。
1.程序的基本结构:在32位汇编语言中,程序的基本结构由三个部分组成:数据段、代码段和堆栈段。
数据段用来声明和初始化程序中使用的全局变量和常量。
例如,下面的代码段声明了一个全局变量message,存储了一个字符串。
```data segmentmessage db 'Hello, World!',0data ends```代码段包含了程序的实际执行代码。
下面的代码段使用`mov`指令将message变量中的字符串存储到寄存器eax中,并使用`int 21h`来调用MS-DOS功能1来显示字符串。
```code segmentstart:mov eax, offset messagemov ah, 09hint 21hmov ah, 4chint 21hcode ends```堆栈段用来存储函数调用过程中的局部变量和返回地址。
2.入栈和出栈操作:在程序中,我们经常需要使用堆栈来保存和恢复寄存器的值,以及传递函数参数和保存函数返回值。
以下是一些常用的堆栈操作指令: ```push reg ;将reg中的值压入堆栈pop reg ;将堆栈顶部的值弹出到reg中```下面的示例演示了如何使用堆栈来保存和恢复寄存器的值:```code segmentstart:push eax ;将eax保存到堆栈mov eax, 10 ;设置eax的值为10pop ebx ;将堆栈顶部的值弹出到ebxadd eax, ebx ;将eax和ebx相加int 3 ;调试中断,用于程序的暂停mov ah, 4chint 21hcode ends```3.条件判断和跳转指令:汇编语言中的条件判断和跳转指令用于根据条件的成立与否来改变程序的执行流程。
汇编语言程序设计上机指导一、debug的使用Debug是为汇编语言设计的一种8086实模式的调试工具,它通过单步执行、设置断点等方式为汇编语言程序员提供了非常有效的程序调试手段。
Debug可以直接用来检查和修改内存单元内容、装入、运行程序、检查及修改寄存器的值,也就是说Debug可深入到计算机的内部,可使用户更紧密地与计算机中真正进行的工作相联系。
通过Debug能更好的理解代码。
(一)启动Debug方法1:在运行对话框中输入“cmd”启动DOS命令窗口后输入“Debug”回车;方法2:在程序/附件/命令提示符,启动DOS命令窗口后输入“Debug”回车。
Debug的提示符是符号“-”。
即出现提示符“-”就表示可以接受DEBUG命令了。
按Alt+Enter 键可在全屏与窗口之间切换。
(二)Debug命令格式DEBUG的每个命令都是一个字母,后跟一个或多个参数,参数与参数之间,用空格或逗号隔开,参数与命令符之间可用空格隔开,命令的结束符是回车键Enter。
下面对DEBUG命令作几点说明:●字母不分大小写。
●只使用16进制数,且不能带后缀H。
●以空格或逗号作为命令各项之间的分隔符。
分隔符只在两个数值之间是必须的。
●可以用Ctrl+C终止命令的执行。
●若输入的命令有语法错误,则提示“Error”,并用“^”指出错误位置。
(三)Debug常用命令1、R命令格式: R [<寄存器名>](1) R功能:显示当前所有寄存器内容,状态标志及将要执行的下一指令的地址、代码及汇编语句形式(反汇编CS:IP所指的指令),其中对状态标志FLAG以每位的形式显示。
(2) R <寄存器名>功能:显示指定寄存器内容,例如:-R AX <Enter> 等待用户键入新的值,按回车键结束。
当进入DEBUG时,寄存器和标志设成以下数值:DS,ES指向最低可用段处的程序区前缀。
BX和CX为被装入文件的长度值。
汇编语言上机指导一、概述汇编语言是一种低级别的程序设计语言,它直接使用计算机的指令集架构来编写程序。
而在进行汇编语言的实际操作时,上机指导是必不可少的一环。
本文将为您提供一份汇编语言上机指导,以帮助您在实践中更好地掌握汇编语言的应用。
二、实验环境与所需工具在进行汇编语言的上机实验之前,您需要准备以下工具和环境:1. 计算机:一台能够运行汇编语言开发环境的计算机;2. 汇编语言开发环境:例如MASM、NASM等;3. 文本编辑器:用于编写汇编源代码的工具,例如Notepad++、Sublime Text等;4. 模拟器或调试器:用于模拟或调试汇编程序的工具,例如DOSBox、Emu8086等。
三、实验步骤1. 安装汇编语言开发环境:根据您选择的汇编语言开发环境,下载并安装相应的软件。
2. 创建汇编源代码文件:使用文本编辑器创建一个新的文本文件,并将其保存为.asm文件格式。
3. 编写汇编程序:根据实验要求或题目要求,使用汇编语言编写相应的程序代码。
在编写过程中,需要熟悉所选汇编语言的语法和指令集。
4. 保存源代码文件:在编写完成后,保存源代码文件,并注意文件的命名规范和格式要求。
5. 编译源代码:打开所选汇编语言开发环境,并将源代码文件导入到该环境中。
使用编译器将源代码文件转换为可执行文件。
6. 运行汇编程序:在模拟器或调试器中加载生成的可执行文件,并运行程序。
通过观察程序的运行结果,验证程序代码的正确性和准确性。
7. 调试程序:如果程序在执行过程中出现错误或异常,可以使用调试器来逐步调试程序,找出错误的原因,并进行修正。
8. 优化程序:经过测试和调试后,可以根据实验需求对程序进行优化或改进,提高程序的性能和效率。
9. 文档整理:在上机实验结束后,对实验过程、实验结果和实验心得进行文档整理。
将实验相关的代码、截图和注释整理成文档,并附上你的实验心得和体会。
四、注意事项1. 在编写汇编程序时,需要遵循所使用汇编语言的语法和规范,注意标识符的命名规则和字符集的使用限制。
1. 调试程序Codeview利用模板文件启动Codeview汇编程序,利用命令窗口的汇编A命令汇编第1章寻址方式中的各个示例指令,通过设置参数、单步执行、观察执行结果,加强对各种寻址方式的理解;同时熟悉Codeview的基本操作。
2. 数据传送类指令调试例题2.1、例题2.6、例题2.8,正确理解MOV、XCHG和XLAT指令的用法。
上机完成习题2.1、习题2.3、习题2.5,单步执行、观察运行结果并与自己的判断进行比较,写出正确结果3. 算术运算类指令调试例题2.17a、例题2.18a、例题2.19、例题2.26,正确理解加法、减法指令及其对状态标志位的影响。
上机完成习题2.6,写出正确结果4. 位操作类指令调试例题2.28~例题2.30、例题2.33,掌握逻辑指令和移位指令的用法,注意它们对状态标志位的影响。
上机完成习题2.11、习题2.12、习题2.13(1),写出正确结果5. 转移、循环和子程序指令调试例题2.38、例题2.43~例题2.45,注意CS、IP和CX寄存器以及有关状态标志的变化,掌握转移、循环和子程序指令的用法。
上机完成习题2.25、习题2.29,写出正确结果6. 中断指令及功能调用调试例题2.46、例题2.47、例题2.50,观察运行结果,熟悉系统功能调用的步骤。
注意单步执行中断指令时,用P命令(不要用T命令)。
上机完成习题2.36,执行并写出正确结果7. 串操作类指令调试例题2.52、例题2.54、例题2.55,观察内存数据的变化以及SI、DI和CX寄存器内容的变化,掌握串操作类指令的用法。
上机完成习题2.15、习题2.16,写出正确结果8. 汇编语言程序的命令行开发方式完成例题3.1源程序的开发,熟悉命令行开发方式的步骤。
上机完成习题3.6或3.7,运行程序,写出正确结果9. 常用伪指令调试例题3.2、例题3.3,观察汇编结果,察看lst文件。
上机完成习题3.1710. 变量及段属性调试例题3.4、例题3.5,察看lst文件和map文件,熟悉变量及段属性以及应用。
汇编语言程序设计上机步骤与调试方法在汇编语言程序设计中,上机步骤与调试方法是非常重要的,它们能够帮助程序员更好地编写和调试程序。
本文将介绍汇编语言程序设计的上机步骤以及常用的调试方法,帮助读者更好地理解和应用这些知识。
一、上机步骤1. 准备工作在开始上机之前,我们需要做一些准备工作。
首先,确认计算机已经连接好必要的硬件设备,例如键盘、显示器等。
其次,确保操作系统和开发环境已经正确安装并能够正常运行。
最后,根据需要准备好所需的汇编语言文档和程序样例。
2. 创建新项目在开始编写汇编语言程序之前,我们需要创建一个新的项目。
在项目中,我们可以组织和管理相关的文件和代码。
通常,我们会选择一个合适的集成开发环境(IDE)来创建和管理项目。
3. 编写程序在创建项目之后,我们可以开始编写汇编语言程序。
首先,我们需要了解目标机器的指令集和寄存器,以便正确地编写程序。
然后,根据需求,我们可以使用不同的指令、寄存器和内存来实现所需的功能。
在编写程序的过程中,注意代码的可读性和易于维护性是非常重要的。
4. 调试程序编写完汇编语言程序后,我们需要进行调试,以确保程序的正确性和稳定性。
调试是一个迭代过程,通常包括以下步骤:- 设置断点:在程序中设置断点,以便在特定位置停止程序的执行。
- 单步执行:通过逐条执行程序的指令,我们可以观察程序的执行过程,并检查各寄存器和内存的值。
- 监视变量:在调试过程中,我们可以监视程序中的变量值,以验证其正确性。
- 查看输出:观察程序的输出结果,与预期结果进行比较,以确定程序是否按照预期执行。
- 修复错误:如果发现程序中存在错误,我们需要对程序进行修改和调整,直到问题解决为止。
5. 运行程序在完成程序的调试之后,我们可以运行程序并观察其运行效果。
在运行过程中,我们可以测试程序的各种功能,以确保其正常工作。
二、调试方法1. 打印输出在调试汇编语言程序时,打印输出是一种常用且简单有效的调试方法。
汇编语言程序设计上机实验指导一、实验目的1.掌握汇编语言的基本原理和编程技巧。
2.加深对计算机系统结构的理解。
3.培养实验操作和编程能力。
二、实验环境1.所需软件:MARS仿真器。
2.操作系统:任意支持MARS仿真器的操作系统。
三、实验内容1.实验一:编写一个简单的汇编语言程序,实现加法运算。
(1)要求用户输入两个整数。
(2)将两个数相加。
(3)输出两个数的和。
2.实验二:编写一个汇编语言程序,实现乘法运算。
(1)要求用户输入两个整数。
(2)将两个数相乘。
(3)输出两个数的乘积。
3.实验三:编写一个汇编语言程序,实现判断一些数是否为质数。
(1)要求用户输入一个整数。
(2)判断该整数是否为质数。
(3)输出判断结果。
4.实验四:编写一个汇编语言程序,实现打印从1到N之间的所有质数。
(1)要求用户输入一个整数N。
(2)打印出从1到N之间的所有质数。
四、实验步骤1.打开MARS仿真器,创建一个新的程序。
2.按照实验要求,编写汇编语言程序代码。
3.在MARS仿真器中调试和运行程序。
4.检查程序输出结果是否与预期相符。
5.优化程序代码,提高程序的效率和性能。
五、实验注意事项1.确保编写的代码逻辑正确、语法规范。
2.程序设计要遵循模块化设计原则,尽量将程序划分为多个模块,提高程序代码的可读性和维护性。
3. 实验过程中要注意调试程序,排除可能出现的bug。
4.在程序编写过程中,保持良好的编程习惯,合理命名变量和子程序,提高代码的可读性。
六、实验总结1.实验报告中需包含实验的目的、内容、步骤、注意事项等内容。
2.分析并总结实验中遇到的问题和解决方法。
3.对实验过程、结果的合理性进行分析和讨论。
4.提出对实验中存在问题的改进建议。
以上就是一份汇编语言程序设计上机实验指导的内容。
希望这份指导能够帮助学生们更好地进行汇编语言程序设计的实验,提高他们的实践能力和编程水平。
Windows环境下32位汇编语言程序设计在Windows环境下,32位汇编语言程序设计在计算机科学领域中,汇编语言是一种低级别的编程语言,用于将指令直接转化为机器指令。
在Windows操作系统环境下,汇编语言的应用广泛而深入。
本文将介绍在Windows环境下,如何进行32位汇编语言程序设计。
一、汇编语言基础知识在开始学习汇编语言之前,我们需要了解一些基本的概念和知识。
首先,汇编语言是由一系列的汇编指令组成,每条汇编指令都对应着一条机器指令。
汇编指令由操作码和操作数组成,操作码指示需要进行的操作,而操作数则用于指定操作的对象。
在Windows环境下,32位汇编语言使用的是Intel x86架构,它包括了一系列的寄存器、标志位和指令集。
寄存器是用来存储数据和执行操作的一种硬件组件,其中包括通用寄存器、段寄存器和控制寄存器等。
标志位用于记录计算机处理器的状态信息,如进位、溢出、零等。
指令集则定义了可执行的操作,如加载数据、运算、跳转等。
二、编写第一个汇编程序在编写第一个汇编程序之前,我们需要准备一些工具。
首先,我们需要安装一个汇编器,如MASM(Microsoft Macro Assembler)。
其次,我们需要一个文本编辑器,如Notepad++。
接下来,就可以开始编写第一个汇编程序了。
假设我们要编写一个简单的程序,实现将两个数字相加并输出结果的功能。
首先,我们需要定义一个数据段,用于存储要操作的数据。
然后,我们需要定义一个代码段,用于编写实际的汇编指令。
以下是一个简单的示例程序:```assembly.datanum1 dw 5num2 dw 10res dw ?.codemov ax, num1 ; 将num1加载到寄存器axadd ax, num2 ; 将num2加到ax中mov res, ax ; 将结果保存到res中; 输出结果mov ah, 09h ; 设置打印字符串功能mov dx, offset res ; 将结果的内存地址加载到寄存器dxint 21h ; 调用中断21h,进行字符串打印; 结束程序mov ah, 4Ch ; 设置程序结束功能int 21h ; 调用中断21h,结束程序```以上汇编程序的功能是将num1和num2的值相加并将结果存储到res中,然后通过调用中断21h来输出结果,并最终结束程序运行。
《32位汇编语言程序设计》上机指导《32位汇编语言程序设计》上机指导 (1)实验一建立windows环境下32位汇编语言开发环境 (2)实验2 指令格式与寻址方式 (4)实验3 数据操作编程 (5)实验4 分支和循环程序设计 (6)实验5 子程序设计 (8)实验6 输入输出程序设计 (9)实验7:字符串操作 (10)实验8:宏结构设计 (11)实验9:混合编程 (12)Windows环境下32位汇编语言开发环境的建立 (13)调试程序Windbg (19)宏汇编命令ML和连接命令LINK常用参数速查 (22)输入输出宏命令 (23)实验1 建立windows环境下32位汇编语言开发环境实验目的:建立windows环境下32位汇编语言开发环境,并熟悉它的使用方法。
实验要求:(1)建立windows环境下32位汇编语言开发环境;(2)熟悉自己建立的开发环境的使用方法;(3)熟悉调试工具的使用实验内容:(1)定制masm32集成开发环境,使之符合教学要求。
(2)分别建立汇编,连接,和汇编&连接批处理命令,能够生成包含调试信息的目标文件,列表文件,以及能够进行调试的可执行WIN32控制台程序。
(3)建立16位和32位汇编语言框架程序。
(4)在自己建立的开发环境下汇编,连接,运行教材中的例3-1和例3-2。
实验步骤:1、安装开发环境运行《32位汇编语言程序设计》教材配套开发环境软件“开发工具.exe”,将MASM32安装在根目录下(例如:c:\masm32)。
接着运行Exmasm32.exe,将其它软件安装在masm32的目录下(例如:c:\masm32)。
建立masm32文件夹中的qEditor.exe和Windbg.exe桌面快捷方式。
2、定制开发环境修改文件msm32\bin\buildc.bat中的内容,使得执行Project\Console Assemble & Link后能够汇编连接可调试的32位控制台应用程序,同时生成列表文件。
汇编命令改为:\masm32\bin\ml /c /coff /Fl /Zi “%1.asm”连接命令改为:\masm32\bin\link /debug “%1.obj”1、建立汇编连接16位应用程序的批处理文件make16.bat建立汇编连接16位应用程序的批处理文件make16.bat,可以用于汇编连接可调试的实模式应用程序,同时生成列表文件。
make16.bat的主要内容:\masm32\bin\ml /c /Fl /Zi "%1.asm"\masm32\bin\Link16 /debug "%1.obj"4、建立适合在定制开发环境下使用的32位应用程序框架.386 ;必须是第一条非注释语句,说明这是一个32位应用程序.model flat, stdcall ;定义程序的存储模式(32位应用程序中必须采用flat)include \masm32\include\io32.inc ;可选,如果在程序中使用作者自定义的宏命令需要这一句.stack 4096 ;定义堆栈段.data ;定义数据段……;数据定义.code ;定义代码段start: ;程序起始点……;程序代码ret ;程序结束点,返回WINDOWS……;子程序代码end start ;汇编结束5、建立适合在定制开发环境下使用的32位应用程序框架.model small, stdcall;定义程序的存储模式(一般采用small).386 ;可选,如果有该语句,可以使用386指令集include \masm32\include\io16.inc ;可选,如果在程序中使用作者自定义的宏命令需要这一句.stack ;定义堆栈段.data ;定义数据段……;数据定义.code ;定义代码段.startup: ;程序起始点……;程序代码.exit 0 ;程序结束点,返回DOS……;子程序代码end ;汇编结束4、在自己建立的开发环境下汇编,连接,运行教材中的例3-1和例3-2。
实验2 指令格式与寻址方式实验目的:熟悉汇编语言指令格式,掌握常用数据定义伪指令,理解各种寻址方式的应用。
掌握调试工具Windbg.exe的使用。
实验要求:(1)通过调试程序理解常用数据定义伪指令的作用。
(2)通过调试程序理解各种寻址方式的应用。
(3)熟练掌握调试工具Windbg的使用方法。
实验内容:(1)上机汇编连接例3-4--例3-9,通过列表文件和windbg察看数据在内存中的分配情况。
(2)上机汇编连接例4-1--例4-9,通过windbg察看机器码,并单步执行,观察每一条指令的执行结果。
实验步骤:1、上机汇编连接例3-4(1)查看列表文件。
根据列表文件画出数据段中数据的分配情况,同时标出const1和const2的内存单元。
(2)用Windbg调试例3-4。
用memory窗口察看const1开始的29个字节空间的内容,并记录下来。
(3)对比源程序中的数据定义,列表文件的数据分配和在Windbg中记录的数据,理解数据定义伪指令的作用。
2、按照上题的要求,上机汇编连接例3-5—例3-9。
3、上机汇编连接例4-1(1)用Windbg调试例4-1,用Disassembly窗口察看机器码。
指出指令的中操作数。
(2)在Windbg下单步执行例4-1,观察eax寄存器的内容变化情况。
4、按照上题的要求,上机汇编连接例4-2—例4-7。
5、上机汇编连接例4-8(1)用Windbg调试例4-8,用Disassembly窗口察看机器码(2)在Windbg下单步执行例4-8,观察EIP寄存器内容的变化情况。
(3)分析指令jmp start的机器码的含义。
观察这条指令执行前后EIP寄存器内容的变化。
6、上机汇编连接例4-9(1)用Windbg调试例4-9,用Disassembly窗口察看机器码(2)在Windbg下单步执行例4-9,观察EIP寄存器内容的变化情况。
(3)察看内存address的内容,观察它与地址quit的关系。
(4)观察指令jmp address执行前后EIP寄存器内容的变化。
实验3 数据操作编程实验目的:熟练掌握基本的数据传送指令,算术运算指令和位操作指令在编程中的应用。
实验要求:按照要求编写程序,调试运行。
实验内容:1、编写32位控制台应用程序提示用户输入32位有符号整数x, y, z,计算result=x-2y+4z的值,并显示计算结果。
调用WriteString显示字符串“Input 32-bit signed integer x:”;调用ReadSDecDword输入数据保存到x;调用WriteString显示字符串“Input 32-bit signed integer y:”;调用ReadSDecDword输入数据保存到yy=y+y;result=x-y;调用WriteString显示字符串“Input 32-bit signed integer z:”;调用ReadSDecDword输入数据保存到z;z=4*zresult=result+z;调用WriteString显示字符串“x-2y+4z=:”;调用WriteSDecDword显示result.2、写32位控制台应用程序:提示用户输入长方形的长和宽,计算它的周长和面积,并分别显示结果。
调用WriteString显示字符串“Input length of rectangle x:”;调用ReadUDecDword输入数据保存到x;调用WriteString显示字符串“Input width of rectangle y:”;调用ReadUDecDword输入数据保存到y;周长=x+y;面积=x*y;调用WriteString显示字符串“detmer of rectangle is:”;调用WriteUDecDword显示周长;调用WriteString显示字符串“area of rectangle is:”;调用WriteUDecDword显示面积;3、编写32位控制台应用程序:分解AX寄存器的内容:取高7位存入value1,取中间5位存入value2,取最后4位存入value3。
提示:使用移位和逻辑运算指令实现。
4、编写32位控制台应用程序:将value1的低7位,value2的低5位,value3的低4位合并到AX寄存器中。
提示:使用双精度移位指令。
5、编写32位控制台应用程序:利用作者提供的输入输出宏从键盘接收一个字节的十进制数,利用教材中例题5-47的代码,将这个十进制数转换成十六进制字符存放到HexStr 中,用输出字符串宏WriteString显示转换的结果。
实验4 分支和循环程序设计实验目的:熟练掌握分支和循环结构的设计方法,熟悉跳转和循环指令的使用方法。
实验要求:按照要求编写程序,调试运行。
实验内容:1、编写程序实现下面的算法:ifthenlowerCount+1;elseif(ch≥’A’) and (ch≤’Z’)thenupperCount+1elseotherCount+1;endifendif其中ch调用ReadChar输入,lowerCount, upperCount和otherCount的值用WriteUDecByte显示。
2、编写程序从键盘输入一系列有符号数,找出其中的最大数和最小数,显示运行结果。
建议算法如下:显示“First number?”;调用ReadSDecDword输入双字有符号数;minimum:=number;maximum:=number;while(显示“Another number?(Y or N)”)loopif (输入Y) then调用ReadSDecDword输入双字有符号数;if(number<minimum)thenminimum:=number;endifif(number>maximum)thenmaximum:=number;endifendwhile3-6题中任选一题:3、编写程序将EAX的内容转换为二进制字符串4、编写程序将EAX的内容转换为十六进制字符串5、编写程序将EAX的内容转换为无符号十进制字符串6、编写程序将EAX的内容转换为有符号十进制字符串,负数字符串以“-“引导。
7-10题中任选一题:7、编写程序将二进制字符串表示的数据存入EAX寄存器8、编写程序将十六进制字符串表示的数据存入EAX寄存器9、编写程序将十进制字符串表示的无符号数据存入EAX寄存器10、编写程序将十进制字符串表示的有符号数据存入EAX寄存器实验5 子程序设计实验目的:理解堆栈的工作原理,熟练掌握子程序的设计方法,熟悉子程序相关指令的使用方法。