Intel汇编语言程序设计(第五版)chapt_14
- 格式:ppt
- 大小:432.50 KB
- 文档页数:57
intel汇编:Intel汇编语言程序设计 阅读...疯狂代码 / ĵ:http://assembler/Article22564.html第1章 基本概念1.1 欢迎来到汇编语言的世界本书着重讲述基于Intel微处理器(特别是Intel IA-32处理器家族成员)的程序设计。
Intel IA-32处理器家族始于80386,并一直延续到当前最新的Pentium 4处理器(最新的32位的酷睿系列也是IA-32系列,但是64位的就是IA-64了,就是说Intel的处理器从386开始基本架构就没变,只是扩展了一些新的指令集而已,比如IA MMX,IA SSE,IA SSE 2,IA SSE 3,IA SSE 4等等)。
学习汇编需要了解几个工具的含义:编辑器:不用说了,就用记事本就行了;汇编编译器:将汇编语言源程序转换为机器语言的程序;链接器:用于将编译器生成的多个文件合并链接成可执行程序;调试器:可以跟踪程序的执行过程,以及查看内存内容;这四类程序不用到处找,我前面介绍的那个Win-Masm都集成了,只要下载了这个工具的朋友一定注意到了,当然,强大的VC或VS也有,更强大。
汇编语言可以创建两种基本类型的程序:16位实地址模式(运行于纯MS-DOS或者DOS模拟器,当然,MS Windows也可以运行实地址模式的程序)和32位保护模式(运行于MS Windows)。
后面会慢慢介绍IA-32处理器如何管理内存,如何使用实模式、保护模式和虚拟模式。
也将更清楚的了解应用程序是如何通过中断服务程序、系统调用和共享内存区与操作系统进行交互的,还将了解到操作系统如何加载和执行应用程序。
汇编语言与机器语言的关系:机器语言是二进制语言,只有特定机器才能识别,汇编语言由助记符语句构成,如ADD,MOV,SUB,CALL等,他们之间是一对一的关系,就是说每条汇编语言指令对应一条机器语言指令。
C++和Java等高级语言与汇编语言的关系:他们之间是一对多的关系,比如一条简单的C++语句会被扩展成多条汇编语言或者机器语言指令。
Intel汇编语言程序设计第五版课程设计一、前言汇编语言编程作为计算机科学专业的一门基础课程,对于学生深入理解计算机底层技术,提高计算机编程能力具有重要的作用。
本文档为Intel汇编语言程序设计第五版课程设计的报告,旨在总结课程学习成果,展示编写的程序和分析设计思路。
二、程序设计1. 程序功能本次课程设计要求编写一个基于Intel汇编语言的计算器程序,可以进行简单的四则运算(加减乘除)并能够处理整数和小数。
程序应该具有友好的用户界面和自动错误检测功能,避免用户输入或计算出错。
2. 程序设计思路根据课程要求,本次程序的设计采用基于Intel汇编语言的实现。
在选择汇编语言的同时,考虑到程序设计的功能和界面友好度,我们决定采用Win32控制台应用程序开发,以实现计算器程序的基本功能和友好用户界面。
1. 界面设计我们使用了Windows API和MASM汇编语言开发环境,以实现程序的界面和交互功能。
在实现从用户处获取输入的过程中,我们采用Windows API中的ReadConsole函数,从控制台读取用户输入,并将其存储到有限长度的缓冲区中。
该函数将用户输入的每个字符读入缓冲区,直到空格、回车键或达到缓冲区长度才终止。
随后,我们使用字符串操作函数,比如strcmp和atof(将字符串转换成浮点数)来判断用户输入的内容并进行处理。
2. 运算功能实现计算器程序运算功能的实现是本次程序设计的核心部分。
在处理用户输入之后,我们使用算术逻辑单元(ALU)实现四则运算和浮点数的处理。
其中,加法、减法、乘法和除法分别用add,sub,mul和div执行,并使用fild、faddp、fmulp和fdivp来处理浮点数。
对于除法操作,程序需要进行除数是否为零和求余的判断,并进行错误提示。
3. 可执行的程序使用MASM编译器、Linker、和Windows SDK开发环境编译、链接程序代码,得到了可执行文件Calc.exe。