正文如下(复制虚线内文本,粘贴到rqtxt):
------------------------------------
a100
PUSH CS
POP DS
MOV AH,01
MOV CX,2020
INT 10
CLD
MOV DI,01F9
MOV AH,2A
INT 21
MOV AX,CX
PUSH DX
XOR DX,DX
MOV SI,03E8
DIV SI
MOV SI,DX
OR AL,30
STOSB
MOV AX,SI
MOV DL,64
DIV DL
MOV DH,AH
OR AL,30
STOSB
MOV AL,DH
CALL 01A0
INC DI
POP CX
MOV AL,CH
CALL 01A0
INC DI
MOV AL,CL
CALL 01A0
INC DI
MOV AH,2C
INT 21
PUSH DX
MOV AL,CH
CALL 01A0
INC DI
MOV AL,CL
CALL 01A0
INC DI
POP AX
MOV AL,AH
CALL 01A0
INC DI
MOV AH,2A
INT 21
MOV BL,09
MUL BL
MOV SI,01B0
ADD SI,AX
MOV CX,0009
REPZ
MOVSB
MOV AH,03
MOV BH,00
INT 10
MOV DL,15
MOV AH,02
INT 10
MOV AH,09
MOV DX,01F0
INT 21
MOV AH,01
INT 16
JNZ 018E
MOV CX,FFFF
LOOP 0184
MOV AX,0E0D
INT 10
JMP 0109
MOV AH,01
MOV CX,0E0F
INT 10
MOV AX,0E0A
INT 10
MOV AH,4C
INT 21
ADD [BX+SI],AL
MOV AH,00
MOV BH,0A
DIV BH
OR AX,3030
MOV DX,AX
STOSB
MOV AL,AH
STOSB
RET
PUSH BX
JNZ 0221
DB 64
DB 61
JNS 01E5
AND [BX+SI],AH
DEC BP
DB 6F
DB 6E
DB 64
DB 61
JNS 01EE
AND [BX+SI],AH
PUSH SP
JNZ 022A
JNB 022B
DB 61
JNS 01F8
AND [BX+65],DL
DB 64
DB 6E
DB 65
JNB 0236
DB 61
JNS 0229
DB 68
JNZ 024A
JNB 023E
DB 61
JNS 020B
INC SI
JB 0249
DB 64
DB 61
JNS 0212
AND [BX+SI],AH
PUSH BX
DB 61
JZ 025F
JB 0250
DB 61
JNS 021D
AND AL,54
DB 6F
DB 64
DB 61
JNS 0216
DB 69
JNB 0219
XOR DH,[BX+SI]
XOR [BX+SI],DH
SUB AX,3530
SUB AX,3130
AND [BP+SI],DH
XOR [BP+SI],BH
XOR [BX+SI],DH
CS:
XOR [BX+SI],DH
AND [DI+6F],CL
DB 6E
DB 64
DB 61
JNS 0242
AND [BX+SI],AH
AND AL,24
CS:
MOV CX,[9148]
CS:
MOV AX,[914A]
n RQ1com
rcx
120
w
q
------------------------------------
进入DOS模式,先确保rqtxt在当前目录,输入
Debug<rqtxt
当前目录会自动生成rqcom。
再运行rqcom就行了。
你只要不碰电脑,它就一直走,显示当前时间。
我还用汇编写了一个满屏的大钟(效果是电脑半屏数字电子钟),自己写着玩儿;
还有键盘电子琴,有兴趣的可重编一下,要求:
1三个八度音;2屏显电平表,低音绿灯,中音黄灯,高音红灯。
首先,汇编语言是一种语言,一种低级语言,和C,C++,VB是一样的,和编译、解释不是一个概念;
A、解释程序
所谓解释程序是高级语言翻译程序的一种,它将源语言(如BASIC)书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。就像外语翻译中的“口译”一样,说一句翻一句,不产生全文的翻译文本。这种工作方式非常适合于人通过终端设备与计算机会话,如在终端上打一条命令或语句,解释程序就立即将此语句解释成一条或几条指令并提交硬件立即执行且将执行结果反映到终端,从终端把命令打入后,就能立即得到计算结果。这的确是很方便的,很适合于一些小型机的计算问题。但解释程序执行速度很慢,例如源程序中出现循环,则解释程序也重复地解释并提交执行这一组语句,这就造成很大浪费。
B、编译程序
这是一类很重要的语言处理程序,它把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机去执行这个目标程序,得到计算结果。
编译程序工作时,先分析,后综合,从而得到目标程序。所谓分析,是指词法分析和语法分析;所谓综合是指代码优化,存储分配和代码生成。为了完成这些分析综合任务,编译程序采用对源程序进行多次扫描的办法,每次扫描集中完成一项或几项任务,也有一项任务分散到几次扫描去完成的。下面举一个四遍扫描的例子:第一遍扫描做词法分析;第二遍扫描做语法分析;第三遍扫描做代码优化和存储分配;第四遍扫描做代码生成。
值得一提的是,大多数的编译程序直接产生机器语言的目标代码,形成可执行的目标文件,但也有的编译程序则先产生汇编语言一级的符号代码文件,然后再调用汇编程序进行翻译加工处理,最后产生可执行的机器语言目标文件。
在实际应用中,对于需要经常使用的有大量计算的大型题目,采用招待速度较快的编译型的高级语言较好,虽然编译过程本身较为复杂,但一旦形成目标文件,以后可多次使用。相反,对于小型题目或计算简单不太费机时的题目,则多选用解释型的会话式高级语言,如BASIC,这样可以大大缩短编程及调试的时间。
linux 编译汇编程序常用的有两种,一种是A&T方式的,你gcc 就可以编译了。还有一种是80X86方式,一般是用NASM,NASM你要在安装LINUX时就要添加软件包,或者你进入图型界面,增加NASM软件包,就可以编译了。
编译就是把高级语言变成计算机可以识别的2进制语言, 是对整个写好的程序进行翻译。 最终形成目标文件 解释程序, 是一句一句翻译的, 最终不形成目标文件 汇编程序? 你指的 是汇编语言写的程序吗? 汇编程序一般指编译生成与之等价的 机器语言
不懂你问题是啥意思啊。
高级语言如c语言c++都是易懂的代码,汇编语言是机器识别的语言代码(比较难理解)。
在高级语言执行的过程要转化成机器语言,然后转化成二进制代码,才能执行程序。
编制是用来创建文件连接文件(好像是啊我瞎说的)。汇编是种语言。我的理解!
汇编代码的存储后缀名必须是asm(可用记事本编辑,改后缀名!如:aasm)然后,进入命令提示窗口,键入:masm aasm如果程序正确,之后键入:link aobj,之后键入:aexe回车运行。
当然,在对应磁盘(一般是C盘)还应有MASMEXE、LINKEXE,如果需要检查编译还应该有DEBUGEXE。如果需要的话再Hi我,我给你发~祝好运。
以上就是关于用汇编语言如何编译一个程序全部的内容,包括:用汇编语言如何编译一个程序、编译程序,汇编程序,和解释程序之间有什么区别、Linux系统里如何编译汇编程序。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)