怎么使用visual studio 2010编写汇编语言程序

怎么使用visual studio 2010编写汇编语言程序,第1张

使用内联汇编写 ,它的格式有两种,一种是__asm 直接接汇编指令语句,

比如,__asm xor eax, eax //清零eax

另一种是加上花括号,类似于一个函数,比如

__asm {

mov eax, 1 ;1到eax

mov ebx, 2 ;2到ebx

add eax, ebx ;eax 和ebx相加

}

使用内联汇编有个好处可以直接使用C/C++中的变量 ,比如

int a = 2;

__asm mov a, 2 //可以使用变量,只有一条

另外使用内联汇编最需要注意的是数组。比如 int a[2] = {1,2} ;

不可以直接

__asm{

mov a[0], 1

mov a[1], 2

}

这样是错误的, 需要 mov a[0], 1 mov a[4],2 为什么是4呢?因为内联汇编转换后是数组a的地址偏移,而不是序号。

vc中的内联汇编 简单的很, 要是在linux中使用内联汇编,费了劲了。。没事欢迎到 百度 0x30 贴吧 分享一下C/C++的心得,或者加入百度知道 0x30 团队,帮助别人的时候,自己 也可以学到东西 。。

问题一:用什么软件编写汇编语言呢 学单片机吧,用这个软件吧,集汇编、仿真一体的。而且是共享的。

51汇编集成开发环境 ,点击放大

问题二:汇编是用什么软件编的? 清华大学出版社出版的《汇编语言》是经典教材,作者:朱玉龙等。图书ISBN:7302068119

汇编语言是用二进制语言编写,也就是我们常说的机器语言,汇编语言与处理器密切相关。每种处理器都有自己的指令系统,相应的汇编语言各不相同。所以,汇编语言程序的通用性、可移植性较差。相对来说,高级语言与具体计算机无关,高级语言程序可以在多种计算机上编译后执行。

汇编语言功能有限,又涉及寄存器、主存单元等硬件细节,所以编写程序比较繁琐,调试起来也比较困难。高级语言提供了强大的功能,采用类似自然语言的语法,所以容易被掌握和应用,它不必关心诸如标志汇编语言本质上就是机器语言,它可以直接、有效地控制计算机硬件,因而容易产生运行速度快、指令序列短小的高效率目标程序。高级语言不易直接控制计算机的各种 *** 作,编译程序产生的目标程序往往比较庞大、程序难以优化,所以运行速度较慢。

可见汇编语言的主要优点就是可以直接控制计算机硬件部件,可以编写在“时间”和“空间”两方面最有效的程序。这些优点使得汇编语言在程序设计亥占有重要的位置,是不可被取代的。汇编语言的缺点也是明显的。它与处理器密切有关,要求程序员比较熟悉计算机硬件系统、考虑许多细节问题,导致编写程序繁琐,调试、维护、交流和移植困难。因此,有时可以采用高级语言和汇编语言混合编程的方法,互相取长补短,更好地解决实际问题。

汇编语言用助记符代替 *** 作码,用地址符号代替 *** 作数。由于这种“符号化”的做法,所以汇编语言也称为符号语言。用汇编语言编写的程序称为汇编语言“源程序”。汇编语言“源程序”不能直接运行,需要用“汇编程序”把它翻译成机器语言程序后,方可执行,这一过程称为“汇编”。汇编语言“源程序”比机器语言程序易读、易检查、易修改,同时又保持了机器语言执行速度快、占用存储空间少的优点。汇编语言也是“面向机器”的语言,不具备通用性和可移植性。

问题三:一般用什么软件来写汇编程序? 楼主你好

编写汇编语言源程序一般用纯文本编辑就可以了,扩展名采用ASM比较大众化。目前比较好的IDE是国内的ma plus,免费软件,下载地址在:

aogosoft/ma plus/

国际上比较著名的是rada ,但一般用不到那么高级,支持几十种编译器呢!

三级等级考试使用的是MASM 40的ma exe和linkexe,知道怎么用即可。

建议楼主下载ma plus来写程序,或下载notepad++作为源码编辑环境。

楼主应该可以搞定的

问题四:汇编语言用什么软件写的?后缀名是什么? 发点哆嗦

1

汇编语言不是用什么软件写的

汇编语言是一种编程语言

汇编源程序(代码)才是用什么来编辑的

例如用notepad可以编辑

用edit也可以编辑

用debug也可以

代码最后编译成程序

windows一般用ma 或者ta

linux里面用na (还有其它)

汇编源程序保存成扩展名为a 的文件

(不同的 *** 作系统会有不同

例如windows 与 linux上面的汇编就不同

-------------------

例如

开始/运行/cmd

edit testa

接着输入代码

保存

用编译器编译成exe 或者文件

再在cmd下运行

问题五:单片机(汇编语言)需要的软件? 51单片机是Keil 软件

pic单片机是MPLAB软件

汇编要将编辑文件要保存为a 为后缀的文件(c语言则是c为后缀)

avr单片机是avr studio 或iccavr软件

汇编要将编辑文件要保存为s为后缀的文件(c语言则是c为后缀)

51单片机可以很多下载软件 将你的汇编程序 在Keil 软件中设置为:

options for target 1->output->create HEX file

生成hex文件 然后将这个hex文件通过下载软件下载到单片机中

下载软件有两类:串口下载和ISP接口下载

ISP接口下载软件是对应你的下载器的(一般买下载器都会给你对应的下载软件的)

串口下载:STC类的51单片机可以用STC_ISP_V486exe,但是对于Atmel类的就不行

微机原理的上机课都是在DOS下输入EDIT XXASM后编写的,单片机也是这样吗?

单片机不是这样的 因为微机机器码和单片机机器码是不一样的

所以单片机需要在windows下用对应的软件生成单片机的机器码 在单片机中才能运行啊

祝你学习进步

问题六:编程语言和汇编语言有什么区别啊 计算机语言从低级到高级可以分为:

机器语言,即由0、1组成的机器硬件可以识别的语言;

低级语言,即汇编语言

中级语言,如C语言

高级语言,如C++,JAVA,C#等。

汇编语言是将由0、1组成的机器语言用具有简单语义的英文代码表示,以便于理解和程序员编程。汇编语言通常用于对硬件的直接 *** 控。由于汇编语言编写的程序很小,所以通常在程序中最核心的、控制硬件的代码可以采用汇编语言编写,一方面是安全,另一方面提高运行速度。

对于计算机的初学者,应该从中高级语言学起,如c语言,vb,java等,如果你是想要学习如何编程,学习一到两门高级语言已经够用了。

如果你已经掌握了基本的编程技能,最好是可以学习数据结构和 *** 作系统以及计算机硬件的基本工作原理,以便优化你编写的程序,提高安全性和运行效率。

如果你想要从事更高级的开发工作,则可能需要学习汇编语言。

在高校中,计算机科技专业的学生汇编语言是必修课,而软件工程专业的学生则对汇编语言不做要求。

至于汇编与编程的区别是显而易见的,汇编语言是一种用于编写某些程序的语言。而编程则是程序员用某种语言编写程序的过程。

问题七:试用汇编语言编写一个程序,该程序的功能如下: 当BL为0,将0―255这256个数从小到大的顺序放入

当BL为1,将0―255这256个数从大到小的顺序放入

当BL为其它,将0放入以3100H为起始的单元中去

;

MOV AL, 0

MOV CX, 256

MOV DI, 3100H

LP:

MOV [DI], AL

CMP BL, 0

JNZ ONE

INC AL

JMP NEXT

ONE:

CMP BL, 1

JNZ NEXT

DEC AL

NEXT:

INC DI

LOOP LP

HLT

END

问题八:用汇编语言编写一个简单程序 1计算U=(X+(YZ-100))/W

其中:X,Y,Z,W均为十六位有符号数。

程序如下:

DATA SEGMENT

X DW 10 ;16位变量

Y DW 20

Z DW 30

W DW 40

U DW ,

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:

MOV AX,DATA

MOV DS,AX

MOV AX,Y

IMUL Z ;计算YZ,内容放在DX,AX中

MOV CX,AX

MOV BX,DX

SUB CX,100 ;计算YZ-100

SBB BX, 0

MOV AX,X

CWD ;将X符号扩展,形成DX:AX中的双字

ADD AX,CX ;计算X+(YZ-100),内容放在DX,AX中

ADC DX,BX

IDIV W ;计算(X+(YZ-100))/W

MOV U,AX

MOV U+2,DX

MOV AH,4CH

INT 21H

CODE ENDS

END START

问题九:汇编语言用什么工具编写较好 汇编工具有很多

1、MASM(我以前用的,分步的,初学者不易掌握)

2、VISUALASM(我一直在用,感觉比较好,集成环境的,软件下载地址:onlinedown/soft/2002) (强烈推荐)

3、win32汇编的ma 32软件包(Windows环境下的)

4、na (linux平台)

5、RadASM下载地址crsky/soft/5471

问题十:用汇编语言编写的源程序计算机是否可以直接执行 汇编语言(Assembly Language)是面向机器的程序设计语言汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。 用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编语言把汇编程序翻译成机器语言的过程称为汇编。

首先,你要明白:

1 一个正数和一个负数相加,结果肯定不会溢出,即结果既不会大于最大正数,也不会小于最小负数;同样道理,两个正数或两个负数相减,结果肯定也不会溢出。另外还有一种特殊情况,即当DATA1为0,DATA2为最小负数的时候,DATA1 - DATA2也会溢出。

2 若结果大于最大正数,肯定是两个正数相加;若结果小于最小负数,则肯定是两个负数相加;

3 溢出标志只能判断是否溢出,而不能判断是正溢出,还是负溢出。所以应该先判断OF标志位,若有溢出,接着判断DATA1或者是DATA2的符号,若为正数,则为正溢出;否则为负溢出。

程序如下,我是按在386上编的。

model small

386

dosseg

stack 1024

data

;DATA1 dd 81234567h

DATA1 dd 7fffffffh; 最大正数

DATA2 dd 80000000h; 最小负数

;DATA2 dd 1234;

SUM dd

code

startup

mov eax, DATA1

add eax, DATA2

jo OverFlow

jmp Done

OverFlow:

cmp DATA1, 0

jg PlusOverFlow

mov eax, 80000000h ;最小负数

jmp Done

PlusOverFlow:

mov eax, 7fffffffh ;最大正数

Done:

mov SUM, eax

exit

end

你可以修改下DATA1和DATA2的值看下结果。

以上就是关于怎么使用visual studio 2010编写汇编语言程序全部的内容,包括:怎么使用visual studio 2010编写汇编语言程序、编写汇编语言什么软件、汇编语言编程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9968893.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存