当前位置:首页 » 编程软件 » 编制汇编程序

编制汇编程序

发布时间: 2022-09-05 04:26:22

⑴ 一般用什么软件来写汇编程

楼主你好

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

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

三级等级考试使用的是MASM 4.0的masm.exe和link.exe,知道怎么用即可。

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

楼主应该可以搞定的

⑵ 编写汇编语言程序

CODESEGMENT
.386
ASSUMECS:CODE
MSGDB'studentnumber:2018610801',13,10
DB'studentname:zhuzhu',13,10,'$'
MSG1DB'pressanybuttontocancel......','$'
START:PUSHCS
POPDS
PUSHCS
POPES
LEADX,MSG
MOVAH,9
INT21H

MOVAH,2AH
INT21H
MOVAX,CX
CALLDSPAX
CALLDSP1
MOVAL,DH
XORAH,AH
CALLDSPAX
CALLDSP1
MOVAL,DL
XORAH,AH
CALLDSPAX
CALLLFCR

MOVAH,2CH
INT21H
MOVAL,CH
XORAH,AH
CALLDSPAX
CALLDSP2
MOVAL,CL
XORAH,AH
CALLDSPAX
CALLDSP2
MOVAL,DH
XORAH,AH
CALLDSPAX
CALLLFCR

LEADX,MSG1
MOVAH,9
INT21H
MOVAH,1
INT21H

MOVAH,4CH
INT21H
;===============================
DSPAXPROCNEAR
PUSHAX
PUSHBX
PUSHCX
PUSHDX
PUSHF
XORCX,CX
MOVBX,10
@DSPAX1:
XORDX,DX
DIVBX
INCCX
ORDX,30H
PUSHDX
CMPAX,0
JNE@DSPAX1
MOVAH,2
@DISPAX2:
POPDX
INT21H
LOOP@DISPAX2
;MOVDL,32
;INT21H
POPF
POPDX
POPCX
POPBX
POPAX
RET
DSPAXENDP
;==================================
DSP1PROCNEAR
PUSHAX
PUSHDX
MOVDL,'-'
MOVAH,2
INT21H
POPDX
POPAX
RET
DSP1ENDP
;==================================
DSP2PROCNEAR
PUSHAX
PUSHDX
MOVDL,':'
MOVAH,2
INT21H
POPDX
POPAX
RET
DSP2ENDP
;==================================
LFCRPROCNEAR
PUSHAX
PUSHDX
MOVAH,2
MOVDL,13
INT21H
MOVDL,10
INT21H
POPDX
POPAX
RET
LFCRENDP
;====================================
CODEENDS
ENDSTART

⑶ 编写汇编程序

第2题、
9,7,168,3,6,13这几个数完全可以用字节数组存放,不必用字数组。请问按无符号数还是有符号数排序?

第3题、
两个数DATA1 ,DATA2的数据类型,字节/字/双字? RLT单元数据类型?

⑷ 如何用汇编编写以下程序

一个汇编程序是由多个段组成的,这些段被用来存放代码、数据或当作栈空间来使用。

一个有意义的汇编程序中至少要有一个段,这个段用来存放代码。

程序结束标记

End 是一个汇编程序的结束标记,编译器在编译汇编程序的过程中,如果碰到了伪指令 end,就结束对源程序的编译。

如果程序写完了,要在结尾处加上伪指令end 。否则,编译器在编译程序时,无法知道程序在何处结束。

⑸ 汇编语言编写一个程序

CODESEGMENT
ASSUMECS:CODE

ORG200H;0:200H为操作系统保护区
;所以数据区直接放在代码中
BUFDB10DUP(?)

START:PUSHCS
POPDS
PUSHCS
POPES
LEADI,BUF
MOVAL,1
MOVCX,10
MOVDX,0
CLD
@1:
TESTAL,1
JNZ@2
STOSB
INCDX
@2:
INCAL
LOOP@1

MOVBX,0
LEASI,BUF
MOVCX,DX
@3:
LODSB
CBW
ADDBX,AX
LOOP@3
MOVAX,BX

MOVAH,4CH
INT21H
CODEENDS
ENDSTART

⑹ 汇编语言程序设计的一般步骤是什么

汇编语言程序设计的基本步骤 了解了汇编语言指令的功能和用法,了解了汇编语言程序的编写格式,就可以编制完整的汇编语言程序了。一个程序通常具有顺序、分支、循环和子程序4种结构形式。顺序程序结构就是指完全按顺序逐条执行的指令序列。在程序设计过程中,顺序结构大量存在,屡见不鲜。但一个完整的程序只是逐条去执行指令,这非常少见。常见的程序结构,是上述4种结构的混合体。一般来说,编制一个汇编语言程序的步骤如下:(1) 分析题意,确定算法或算法思想。算法是指解决问题的方法和步骤。比如现有的一些计算方法和日常生活中解决问题的逻辑思维推理方法等。(2) 根据算法画出流程图,简单的情况也可不画。画出描述算法的流程图,可以首先从图上检验算法的正确性,减少出错的可能,使得动手编写程序时的思路更加清晰。(3) 分配存储空间和工作单元,合理地使用寄存器。分配存储空间和工作单元,是指存储空间的分段和数据定义。另外,由于寄存器的数量有限,编写程序时经常会感到寄存器不够用。因此,对于字节数据,要尽量使用8位寄存器。而采用适当的寻址方式,也会达到节省寄存器的目的。(4) 根据流程图编写程序。这是编制汇编语言程序最为重要的一步。算法里规定的功能,是要通过一条条指令描述出来的。为了提高编程能力,对于初学者,一是要多阅读现有的程序,以学习别人的编程经验;而更为重要的是,必须多亲自动手编写,不要怕失败,只有通过无数次失败,才能从中积累自己的编程经验。(5) 上机调试运行程序。通过汇编的源程序,只能说明它里面不存在语法错误。但是它是否能达到算法所要求的预期效果,还必须经过上机调试,用一些实验数据来测试,才能够真正地得出结论。可以这么说,即使是一个非常有经验的程序员,也没有百分之百的把握说他编写的程序一次就成功。 用流程图表示算法 流程图用一些图形框来代表各种操作。用图形表示算法,直观形象,可以用来帮助人们对算法的理解。下图给出了一些常用的流程图符号。

上图中的判断框(菱形)用来对一个给定的条件作出判断,以决定如何执行其后的操作。它有一个入口,两个出口,如下图(a)所示。

连接点(圆圈)是用来将画在不同地方的流程线连接起来。例如在下图(b)里,有两个圈里写着数字1的圆圈,它表示是从左边的1出来,进到右边图的1里(这由流程线的方向给出)。可以看出,这两个点其实就是同一个点,只是由于画不下而分开来画的。用连接点,可以避免流程图中的流程线相互交叉或过长,从而使流程图清晰。

注释框不是流程图中必需的部分。在流程图中使用它,是为了对流程图中的某些框的操作做一些必要的说明,以便使人们能够更好地通过流程图来理解算法。

处理框反映做些什么样的操作,如把某个单元的内容送入某个寄存器,从某个存储单元取出数据等。它是流程图里最为本质的、出现最多的图形框。

输入/输出框反映程序的输入和输出情况。计算机程序无外乎接收数据,进行处理,然后加以输出,所以输入/输出框是必不可少的。

⑺ 如何编写最简单的汇编语言

首先明白编译环境:以上4个exe程序必须在32机中运行,若是64位机,请参照dosbox0.74(如何在64位机中使用debug)使用方法。

了解计算机CPU原理:详情请参照“80X86计算机组织”和“80X86的指令系统和寻址方式”

首先有一道题:

求表达式Y=A*X+B-C的值,已知A、B、C分别存放在DA-1、DA-2、DA-3字节单元,它们的值分别是:5 、 6、 7,X存放在INPUT字节单元,结果Y放入JSJ_10字节单元。

分析顺序结构程序代码:由记事本敲出来的

data segment da_1 db 5 da_2 db 6 da_3 db 7 input db 1 jsj_10 db 0data ends ;这一段在内存中定义了一个段,叫做data,并且其中存入了5个变量并且付入初值,db代表每个变量占用1个字节,若是dd则为字,为2个字节code segment ;名字叫做code的段的定义,显然这儿作为代码段,当然code这个名字可以更改 assume cs:code,ds:data ;指定data为DS数据段,code为CS代码段start: mov ax,data ;加法指令 mov ds,ax ;加法指令 mov al,da_1 ;加法指令

mov bl,input ;加法指令

mul bl ;乘法 add al,da_2 sub al,da_3 ;减法 mov jsj_10,al

exit: mov ah,4ch int 21h ;这两行相当于ret(返回值),就像C语言中的return 0;

code ends end start

注释: XXXX segment

.............

XXXX ends ;定义一个段

assume ds:XXXX 把XXXX段指定为ds(ds是段地址寄存器)

请先提前把masm edit debug link文件放入预定的文件夹,并把编写的xxxx.asm代码文件放入该文件夹,asm文件可用记事本写成,并改格式txt为asm(有的看不到文件后缀.txt的请参照网络)

⑻ 简述用汇编语言进行程序设计的步骤。

汇编语言程序设计步骤:
1、
分析问题,抽象出描述问题的数据模型
2、
确定问题的算法思想
3、
画出流程图或结构图
4、
分配存储器和工作单元(寄存器)
5、
逐条编写程序
6、
静态检查,上机调试

⑼ 如何编写完整的汇编程序

data segment (segment和ends是一对,一定是成对出现的)
…… (这中间就是申明你需要的数据段,例如:mess db 1,2,3;其中mess只是一个名字,可以根据自己需要来,db表示每个字符占的存储空间,也可以用dw,dd,db是一个字节;后面的数据根据实际情况来)
data ends (这是数据段)
extra segment
…… (申明和数据段一样)
extra ends (这是附加段)
code_seg segment (这是代码段)
assume cs:code_seg,ds:data,es:extra (这个一定不能少,而且顺序不能换,也就是说cs一定对应代码段,后面也是相同的)
start: (start可以没有,但冒号不能少)
mov ax,data (这四句是固定的,只能根据名称不同改变data、extra的名称,其它不能变)
mov ds,ax
mov ax,extra
mov es,ax
…… (这中间就是你说的那些代码)
code_seg ends (这两句也不能少)
end start

⑽ 用汇编编制程序实现二进制定点数与十进制数的ASCII码串之间转换,并将结果显示在屏幕上。

用汇编编制程序。

把二进制数转换为十进制,在屏幕上显示。

程序如下:

热点内容
phpsftp上传 发布:2025-02-13 14:35:43 浏览:273
c学生管理系统数据库 发布:2025-02-13 14:21:41 浏览:122
传奇添加会员脚本 发布:2025-02-13 14:20:50 浏览:205
微信开发平台源码 发布:2025-02-13 14:14:20 浏览:613
安卓大屏屏幕休眠是什么意思 发布:2025-02-13 14:13:28 浏览:464
脚本的参数设置 发布:2025-02-13 14:11:57 浏览:863
androidtexture 发布:2025-02-13 14:11:57 浏览:393
怎么取消网络密码怎么设置 发布:2025-02-13 14:11:54 浏览:426
我的世界电脑手机等价科技服务器 发布:2025-02-13 14:06:06 浏览:244
删除空行linux 发布:2025-02-13 14:04:11 浏览:992