`
junzai
  • 浏览: 15145 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

初涉汇编语言

阅读更多

     早就听说了汇编语言,刚开始时把它当做一门计算机语言(像C/C++/java)来看,加上学了计算机组成与体系结构,感觉有些偏硬件,还是挺有趣的,就初步研究了一下。

 

    据说,汇编语言很重要。它虽然有些原始,但原始并不代表简单。它是真正学会学懂计算机的基础,是加密解密的基础,适用于信息安全专业(哈哈,恰好我是保密管理偏重技术也就是信息安全的,正中下怀),更是××制造的基础。今天金山网络的笔试,看到了反病毒工程师的招聘这一项中刚好对汇编语言和x86有要求也。由于初涉汇编且对反病毒完全木有概念(即使感兴趣),就没有选择这个而选了C++进行笔试(现在想想也是可以去试试的哈)。so汇编语言是很有用滴!只是学习它需要些毅力。。。。。。它用来编写程序的核心,使程序运行变快,效率更高,还可用于实时控制等。

 

先讲讲它的优点哈,别急:

     首先,汇编语言的大部分语句直接对应着机器指令,执行速度快,效率高,代码体积小,在那些存储器容量有限,但需要快速和实时响应的场合比较有用,比如仪器仪表和工业控制设备中。

     其次,在系统程序的核心部分,以及与系统硬件频繁打交道的部分,可以使用汇编语言。比如操作系统的核心程序段、I/O接口电路的初始化程序、外部设备的低层驱动程序,以及频繁调用的子程序、动态连接库、某些高级绘图程序、视频游戏程序等等。

     再次,汇编语言可以用于软件的加密和解密、计算机病毒的分析和防治,以及程序的调试和错误分析等各个方面。

     最后,通过学习汇编语言,能够加深对计算机原理和操作系统等课程的理解。通过学习和使用汇编语言,能够感知、体会和理解机器的逻辑功能,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础

 

 

再来讲讲几个常用的指令:

-r命令查看,改变寄存器的内容

-d命令查看内存中的内容

-e 改写内存中的内容

-u将内存命令中的机器指令翻译成汇编指令

-t 执行一条机器指令

-a 命令以汇编指令的格式在内存中写入一条机器指令

物理地址=段地址*16+偏移地址

这里的乘16实际是左移一位

8086CPU不支持将数据直接送入段寄存器的操作

 

由于图片较多,上传较麻烦,就不放上来啦,所有内容均在附件中,欲知详情,请点击下载附件哟~~~~~~~(里面有汇编指令详解,还有有趣的汇编代码病毒哟)

 

 

     这学期学校开设了《计算机组成与体系结构》,做实验的时候发现还是蛮有趣的,对汇编语言突发兴趣,所以想趁此机会研究一下。 由于我的电脑是win7系统,没法进入DOS方式,

 

1.下载MASM5.0,将解压后的文件压保存在D盘(C盘也可以,这里以D盘为例了)

 

2.点击开始,在搜索栏里输入command,进入DOS方式,输入edit如下图所示,点回车进入Edit。 在Edit中编辑程序,编辑完成后,将程序保存为文件1.asm,将生成的1.asm文件放在文件夹MASM中。 进入命令提示行(开始--输入cmd--回车),进入程序所在文件夹。键入"d:",回车,键入"cd masm”,回车,键入"masm 1”, 一直按回车4下(若在上图masm 1之后加“;”,则只用按一下回车就可以完成编译),便会得到如下图所示界面, 此时,源程序已经完成编译,在MASM文件夹中会生成一个1.OBJ文件。

再键入"link 1",再回车4下(若在上图link 1之后加“;”,则只用按一下回车就可以完成连接),就完成了连接,完成界面如下, 连接完后,会在masm5.0文件夹中生成应用程序1.exe。 再键入"1",回车,程序就就运行完了。

是不是很奇怪呢?竟然没有任何结果,就和没运行一样,那么,程序到底运行了吗? 程序当然是运行了,只是从屏幕上我们看不到任何运行结果,因为我们根本没有向显示器输出任何信息。程序只是做了一些将数据送入寄存器和加法的操作,而这些我们根本不可能从显示屏上看出来。程序执行完后,返回,屏幕上再次出现操作系统的提示符。 不过,我们可以通过debug 1.exe将程序加载入内存,这样就能查看每一条指令的执行结果。

分享到:
评论

相关推荐

    汇编语言高级教程(易读易学)

    本教程以易读性和实用性为特点,适合不同水平的学习者,无论你是初涉编程的新手还是寻求深入理解的老手,都能从中受益。 汇编语言的学习通常分为几个关键部分: 1. **基本概念**:首先,你需要了解汇编语言的基本...

    汇编语言系列讲座汇编语言程序结构与上机调试过程

    对于初涉计算机应用领域的人员来说,通常会掌握一种或多种高级语言的基础知识。然而,在某些应用场景下,高级语言并不能完全满足需求,尤其是在需要对程序的空间使用和运行速度有更高要求的情况下,或者当程序需要...

    汇编课件.rar

    总的来说,这个压缩包为学习汇编语言提供了一套完整且实用的资源,无论你是初涉汇编的新手,还是寻求进一步提升的开发者,都能从中受益。结合实际操作和理论学习,相信你将能够熟练掌握汇编语言,开启深入计算机世界...

    编\汇编指令查询器.rar

    无论你是初涉汇编的新手,还是在寻找优化代码的专家,这款小巧且无毒的工具都能成为你宝贵的助手。通过熟练掌握并运用汇编指令查询器,我们可以更高效地编写代码,实现对计算机硬件的精细控制,从而发挥出计算机的...

    ARM学习资料--适合初涉领域

    6. **汇编语言编程**:学习如何用汇编语言编写程序,理解指令的执行过程和优化技巧。 7. **嵌入式系统基础**:了解嵌入式系统的硬件组成,包括处理器、存储器、外设接口等,以及如何在硬件平台上实现软件功能。 8....

    单片机实例《glive.org推荐》

    - **汇编源程序**:使用汇编语言编写了完整的延时子程序和主程序,实现了LED的闪烁功能。 - **C语言源程序**:同样实现了上述功能,但使用的是C语言,代码更加简洁易懂。 #### 三、模拟开关灯实验 ##### 1. 实验...

    amiga:老amiga来源

    标题 "amiga:老amiga来源" 指涉的是早期Amiga计算机平台上的编程实践,特别是关于使用汇编语言的细节。Amiga是1980年代末至1990年代初由Commodore公司推出的个人电脑系统,以其强大的图形和音频处理能力而闻名。在...

    单片机课件

    总之,这份“单片机课件”是一份全面且实用的学习资料,无论你是初涉单片机的新人,还是寻求进一步提升的专业人士,都能从中受益匪浅。通过深入学习,你将能够熟练地运用单片机技术,为未来的创新项目打下坚实的基础...

    51单片机编程手册.pdf ---讲解全面,丰富,基本上可以当做官方手册去参考,高清

    总之,《51单片机编程手册》是一份宝贵的资源,无论你是初涉单片机的新手,还是希望巩固和扩展51单片机知识的资深开发者,都能从中获益良多。通过深入阅读和实践,你将能够熟练地驾驭51单片机,开发出自己的创新项目...

    cvavr2.0 AVR编译器

    cvavr2.0提供了优化的编译器,支持C和汇编语言,能够生成高效、紧凑的代码,这对于资源有限的AVR芯片来说尤为重要。它还具备自动内存分配和优化功能,有助于提高程序运行效率。 该编译器的一大特点是其用户界面友好...

    isplay(easy51pro )

    《关于isplay(easy51pro)的全面解析》 isplay(easy51pro)是一款备受赞誉的嵌入式开发工具,专为初学者和专业...无论你是初涉电子工程的学生还是经验丰富的工程师,掌握isplay(easy51pro)都能让你的项目开发事半功倍。

    gbdk-doc_gameboy_doc_

    这极大地降低了游戏开发的门槛,使得非汇编语言背景的程序员也能参与到Game Boy游戏的创作中来。 接下来,文档详细讲解了Game Boy的硬件架构,包括CPU(MBC1/MBC5)、内存映射、图形处理单元(GPU)以及声音系统...

    一个工程师的硬件之路(致初学者)

    对于那些初涉硬件领域的学子们,如何开启并规划自己的硬件工程师之路呢?本文将深入探讨这一主题,基于给定文件中的描述,提炼出对初学者有价值的硬件知识和成长策略。 #### 一、培养对硬件的无限热情 首先,对...

    爱上单片机

    《爱上单片机》这本书是为那些初涉单片机领域的学习者量身打造的一本入门教程。单片机,全称单片微型计算机,是一种将微处理器、存储器、输入输出接口等集成在单一芯片上的微型计算机。它在电子工程、自动化控制、...

    Reflector6[.net神器]

    《Reflector 6:.NET神器的深度剖析与应用》 ...无论你是初涉.NET,还是已经在.NET世界里摸爬滚打多年,Reflector 6都能成为你手中的一把利剑,助你在编程的道路上披荆斩棘,攀登更高的技术高峰。

    LPC2300开发资料(原理图,例程代码)

    开发LPC2300时,需要熟悉嵌入式C编程、汇编语言以及相关的开发工具链,例如Keil uVision或者IAR Embedded Workbench。这些IDE提供了集成的编译器、调试器和项目管理功能,使得开发过程更为高效。同时,理解LPC2300的...

    mikanOS:这是很小的操作系统

    总的来说,mikanOS是一个理想的学习平台,无论是对于初涉操作系统开发的新手,还是希望深化底层技术理解的资深开发者,都能从中受益。通过阅读和分析mikanOS-master这个项目的源码,我们可以进一步挖掘其中的细节,...

    单片机实现数字电子温度计

    【描述】描述中的"初涉这方面,望指教"表明这是一个学习过程中的实践项目,可能涵盖了从理论到实际操作的整个流程。在这样的过程中,开发者需要了解如何设计电路,如何编写程序来控制硬件,以及如何调试和优化系统。...

    C8051F单片机应用解析

    此外,书中的章节还深入讲解了C8051F单片机的编程模型,包括汇编语言和C语言编程,这对于编写高效代码至关重要。学习如何利用片上资源进行I/O操作,如GPIO(通用输入/输出)端口的配置和管理,是实现单片机与外部...

Global site tag (gtag.js) - Google Analytics