汇编语言程序设计

作者&投稿:郦馨 (若有异议请与网页底部的电邮联系)
汇编语言程序设计中使用哪种软件工具~

1、MASM。
微软公司为x86 微处理器家族开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm,是Windows下开发汇编的利器。

2、NASM。
全称The Netwide Assembler,是一款基于80x86和x86-64平台的汇编语言编译程序,其设计初衷是为了实现编译器程序跨平台和模块化的特性。
3、TASM。
Borland公司开发的汇编编译器,被广泛用于Turbo C,Quick Basic等编译器,用作中间过渡编译。它也能独立的编译纯汇编或是Win32Asm的代码。具有编译快速,高效的特点,至今依然是汇编开发的首选利器。
4、GAS。
GNU汇编器(GNU Assembler),简称为GAS,是由GNU计划所使用的汇编器,GNU的核心精神是自由与分享,所以GAS亦是自由软件。
5、RadASM。
一款著名的WIN32汇编编辑器,支持MASM、TASM等多种汇编编译器,Windows界面,支持语法高亮,自带一个资源编辑器和一个调试器。拥有较强的工程管理功能,加之众多插件的支持,使得它用汇编语言编写Windows软件变得得心应手。
参考资料来源:百度百科-汇编语言

话说怎么这么巧,这三本我都看过。。。

王爽的简单,容易明白,容易入门,没法精通。

Intel汇编语言,内容详细,缺点就是太厚了,你可以和王爽的比下,快3本了。
所以他写的比较全面。

windows32,这个我曾经是作为后续才看到,因为它是WIN32汇编,不是X8086汇编了,
他使用的是WINDOWS界面编程。win32汇编和8086汇编类似于MFC和C的的关系一样。
调用的都是API,就不是单纯的MOV ADD JMP了。


需要学习WIN32汇编,最好是在8086汇编的基础上去学习,就像是从简单的学起,。


下面是我的建议:
如果你只想了解,开拓视野。建议去学王爽的,简单,容易理解,加个汇编交流群,百度一个小甲鱼汇编视频,一半个月就自学会了。
如果你想玩黑客,破解。。。那最好去学习,intel的。如果你连这都看不明白,那么想深入的搞清楚汇编语言,一个字,难。
如果你是学计算机的,想在windows下进行编程,并且想最个有界面的,可以先学,王爽,然后学习win32.

一.
1.ADD BX,AX 或 ADD BL,AL ;类型配对
2.MOV AX,0A999H
3.MOV AX,0F8H
4.MOV AX,1234H 或 MOV AL,12H
5.MOV AX,[BX]
6.MOV DS,AX ;DS不能直接存立即数
7.ADD [BX],10 ;对
8.PUSH AX ;push不能直接push立即数
9.IN AL,DX
10.OUT 40H ,AL
11.MUL AL ;mul不能直接跟立即数
12.MOV [DI],AX ;mov不能两个都是内存
13.ADD DI,AX
14.MOV DS,AX ;CS不可以改
15.SUB 10[SI],AX ;si di 不可以同时出现
二.
SUB [BP], BX 寄存器间接寻址方式;30400H;
MOV [BX+DI], SI 基址变址寻址方式;10400H;
ADD ES:[SI], DI 寄存器相对寻址方式;20200H;
MOV 10[BX], DI 寄存器相对寻址方式;10100H;
MOV DS:[100H], BX 相对基址变址寻址方式;10100H

三.
3456H;5678H;1234H;5678H;

四.
1234H;2468H;0008H;1008H;0804H;0408H;0508H;0508H

五.
01H,31H,0FFH,00H,78H,56H,FFH,FFH,00H,24H,00H,0BH,00H,0BH,19H,09H,09H
(从左往右地址变大)
AX=3101H,BX=0023H

六.
1.
汇编语言:(AssemblyLanguage)是面向机器的程序设计语言。
汇编:把汇编语言翻译成机器语言的过程称为汇编。
汇编程序:把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序。汇编程序输入的是用汇编语言书写的源程序,输出的是用机器语言表示的目标程序。汇编语言是为特定计算机或计算机系列设计的一种面向机器的语言,由汇编执行指令和汇编伪指令组成。采用汇编语言编写程序虽不如高级程序设计语言简便、直观,但是汇编出的目标程序占用内存较少、运行效率较高,且能直接引用计算机的各种设备资源。它通常用于编写系统的核心部分程序,或编写需要耗费大量运行时间和实时性要求较高的程序段。

2.

3.
单独cmpsb就是逐一比较8个位;加上rep,循环比较,还是比较这8位啊

4.
是指在计算机执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的时间处理程序。待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。

5.
宏和子程序都是为了简化源程序的编写,提高程序的可维护性,但是它们二者之间存在着以下本质的区别:
1、在源程序中,通过书写宏名来引用宏,而子程序是通过CALL指令来调用;
2、汇编程序对宏通过宏扩展来加入其定义体,宏引用多少次,就相应扩展多少次,所以,引用宏不会缩短目标程序;而子程序代码在目标程序中只出现一次,调用子程序是执行同一程序段,因此,目标程序也得到相应的简化;
3、宏引用时,参数是通过“实参”替换“形参”的方式来实现传递的,参数形式灵活多样,而子程序调用时,参数是通过寄存器、堆栈或约定存储单元进行传递的;
4、宏引用语句扩展后,目标程序中就不再有宏引用语句,运行时,不会有额外的时间开销,而子程序的调用在目标程序中仍存在,子程序的调用和返回均需要时间。
总之,当程序片段不长,速度是关键因素时,可采用宏来简化源程序,但当程序片段较长,存储空间是关键因素时,可采用子程序的方法来简化源程序和目标程序。

七.
…………

一.
1. ADD BX,AX 或 ADD BL,AL ;类型配对
2. MOV AX,0A999H
3. MOV AX,0F8H
4. MOV AX,1234H 或 MOV AL,12H
5. MOV AX,[BX]
6. MOV DS,AX ;DS不能直接存立即数
7. ADD [BX],10 ;对的诶
8. PUSH AX ;push不能直接push立即数
9. IN AL,DX
10. OUT 40H ,AL
11. MUL AL ;mul不能直接跟立即数
12. MOV [DI],AX ;mov不能两个都是内存
13. ADD DI,AX
14. MOV DS,AX ;CS不可以改
15. SUB 10[SI],AX ;si di 不可以同时出现
二.
SUB [BP], BX 寄存器间接寻址方式;30400H;
MOV [BX+DI], SI 基址变址寻址方式;10400H;
ADD ES:[SI], DI 寄存器相对寻址方式;20200H;
MOV 10[BX], DI 寄存器相对寻址方式;10100H;
MOV DS:[100H], BX 相对基址变址寻址方式;10100H

三.
3456H;5678H;1234H;5678H;

四.
1234H;2468H;0008H;1008H;0804H;0408H;0508H;0508H

五.
01H,31H,0FFH,00H,78H,56H,FFH,FFH,00H,24H,00H,0BH,00H,0BH,19H,09H,09H
(从左往右地址变大)
AX=3101H,BX=0023H

六.
汇编语言是一种符号语言,他和机器语言几乎一一对应,但在书写中却是用有字符串组成的助记符
。。。。。。。
(希望对你有帮助)

自学汇编的路过~ 楼主,太不厚道了吧,这种东西要自己做的吧。 第一题:我看了前面几个,是两个操作数的位数对不上,不能这样用的··· 其他的 懒得看了,自己慢慢做吧,给五百分也懒得帮你做了,哪有这样的啊! 楼主好懒。

八位和十六位寄存器不能同时运算

哈哈


C语言程序设计课程讲什么内容?
C语言程序设计课程是入门级的程序设计课程,针对没有或很少具有编程经验的在职人员。课程通过学习C语言编程的基础语法,对程序设计有一个基本的认识,为后续计算机专业课程以及面向对象程序设计课程的学习打下基础。课程主要内容:C语言程序基本结构及相关概念、变量、函数、语句、if条件语句、switch条件语句、...

计算机程序设计语言是什么
分类:人们利用计算机可以完成各种各样的工作,尽管内容不同,方法各异,但归根结蒂都要进行程序设计,即把要解决的问题和解决的方法编成计算机能“懂”的命令,送入计算机进行处理。设计语言就是为使计算机能够按人的意图工作所使用的计算机能够接受的编制程序的语言工具。设计语言按其面向对象的不同可分...

什么是C语言程序设计.
什么是C语言?C语言的简介。C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体...

汇编语言是一种什么程序设计语言
在编程语言被机器语言和汇编语言更新之后,人们发现了限制程序普及的关键因素——程序的可移植性。有必要设计一个可以独立于计算机硬件在不同机器上运行的程序。这样可以避免很多重复的编程过程,提高效率。同时,这种语言应该接近数学语言或人类自然语言。20世纪50年代,计算机还很匮乏的时候,第一个高级编程...

计算机程序设计语言有哪些?
机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。 用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的...

请问程序设计的基本过程是怎样的?
(1)分析需求:了解清楚程序应有的功能。(2)设计算法:根据所需的功能,理清思路,排出完成功能的具体步骤,其中每一步都应当是简单的、确定的。这一步也被称为“逻辑编程”。(3)编写程序:根据前一步设计的算法,编写符合C++语言规则的程序文本。(4)输入与编辑程序:将程序文本输入到计算机内,...

计算机程序设计语言有哪些
计算机程序设计语言有:机器语言、汇编语言、高级语言。1、机器语言。用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作,...

C语言程序设计:比较两个数的大小
构成分支结构。它根据给定的条件进行判断,以决定执行某个分支程序段。C语言的if语句有三种基本形式。5.3.1 if语句的三种形式 1. 第一种形式为基本形式:if if(表达式) 语句 其语义是:如果表达式的值为真,则执行其后的语句, 否则不执行该语句。其过程可表示为下图。main(){ int a,b,ma...

c语言程序设计教程答案c语言程序设计练习题
c语言程序设计教程答案,c语言程序设计练习题很多人还不知道,现在让我们一起来看看吧! c语言程序设计练习题 篇一:c语言程序设计基础单元总结与练习题及答案 《C语言程序设计》单元总结与练习题 答案 单元一 程序设计宏观认识 单元总结提升 本单元中,核心内容有C语言程序框架结构、程序的构成和程序开发过程。通过本单元...

C语言程序设计是什么?
什么是C语言?C语言的简介。C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体...

象山区17177243231: 汇编语言程序设计 - 搜狗百科
晨才葡萄:[答案] 汇编语言程序设计步骤:1、 分析问题,抽象出描述问题的数据模型 2、 确定问题的算法思想 3、 画出流程图或结构图 4、 分配存储器和工作单元(寄存器) 5、 逐条编写程序 6、 静态检查,上机调试 例:编程查找考生的最高分,假设所有考生分...

象山区17177243231: 汇编语言程序设计 -
晨才葡萄: 程序运行结果:sigma(i=1,x)=7832,x=177; 本程序通过编译,运行正确 Code Segment Assume CS:Code,DS:Code Start: mov bx,1 ;自然数初值 xor ax,ax ;累加和 Adding: inc bx add ax,bx ;累加 cmp ax,8000 ;<8000? jae $+7 ;不是,停止累加 mov cx,ax inc bx jmp Adding dec bx xit_Proc: mov ah,4ch ;结束程序 int 21h Code ENDS END Start ;编译到此结束

象山区17177243231: 汇编语言程序设计1
晨才葡萄: 汇编就是按ASCII读数的,直接排序,输出时好像是用int 9输出字符,汇编好多年没用了,自己找相关的书看看吧

象山区17177243231: 汇编语言程序设计实例 -
晨才葡萄: 第一题:mov cl,0 mov ch,17 next:dec ch je exit mov bx,0 shl ax,1 rol bx,1 cmp bx,0 jz next inc cl jmp next exit:mov ah,4ch int 21h 第二题:mov cx,10 mov si,offset buffer next:mov bx,word ptr[si] inc bx mov word ptr[si],bx inc si inc si loop exit jmp next exit: mov ah,4ch int 21h

象山区17177243231: 汇编语言程序设计的一般步骤是什么? -
晨才葡萄: 汇编语言程序设计的基本步骤了解了汇编语言指令的功能和用法,了解了汇编语言程序的编写格式,就可以编制完整的汇编语言程序了.一个程序通常具有顺序、分支、循环和子程序4种结构形 式.顺序程序结构就是指完全按顺序逐条执行的...

象山区17177243231: 汇编语言程序设计题实现有符号数绝对值的加法运算设字节变量X和Y中存放的是16位有符号数,试编写程序实现|X|+|Y|结果送AL的计算 -
晨才葡萄:[答案] mov ax,x test ah,0xF0 //是否为负数 jnz nz: not ax nz: mov dx,ax mov ax,y test ah,0xF0 ;是否为负数 jnz nz: not ax nz: add ax,dx ;高16位在dx,低16位在ax 把结果送入al是不行的

象山区17177243231: 汇编语言程序设计中使用哪种软件工具 -
晨才葡萄: 1、MASM. 微软公司为x86 微处理器家族开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm,是Windows下开发汇编的利器. 2、NASM. 全称The...

象山区17177243231: 汇编语言程序设计分为那几个步骤?
晨才葡萄: 1.拟定任务书 2.建立数学模型 3.建立算法 4.绘制程序流程图 5.编制汇编语言源程序 6.上机调试(诚心为您解答,给个好评吧,谢谢)

象山区17177243231: 什么是汇编语言?
晨才葡萄: 汇编语言(Assembly Language)是面向机器的程序设计语言. 在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址妈....

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网