开始--运行--输入cmd,打开的窗口就是模拟的dos
不是直接打开masmexe,在dos下打开
debug用来调试的,使用的方法
debug
文件名exe
用它把exe文件载入内存,有u命令查看每一条指令
用t命令一步步执行每一条指令,查看寄存器的变化
1、下载个masm50(简单,适合初学者),里面至少应包含masmexe和linkexe,可能还包含其他的,不过我们只需要最基本的这两个。
2、将masm50压缩包里的程序解压(包含masmexe和linkexe),放到一个目录中(如d:\masm),然后就在这个目录下建立个文本文件(如xxtxt)写入个汇编程序,保存,将后缀名改为xxasm。
3、进入命令提示行(开始--运行--输入cmd)
4、进入程序所在文件夹(用dos的cd命令),以2中的为例,键入“d:”,回车,键入“cd
masm”,回车,键入“masm
xx”,回车3下,键入“link
xx”,再回车3下,再键入“xx”,就运行完了。
补充:
1、若程序有问题,在4步骤中会提示,这时就要返回修改
2、如果程序本身并不显示输出结果,则4步骤运行完后也不会看到什么反应,初学者建议找个有显示输出结果的程序做试验
3、第二个步骤中,试验程序xxasm应当和masmexe
linkexe放在一起,若不再一起,则需要添加masm环境变量。
编译就是把高级语言变成计算机可以识别的2进制语言, 是对整个写好的程序进行翻译。 最终形成目标文件 解释程序, 是一句一句翻译的, 最终不形成目标文件 汇编程序? 你指的 是汇编语言写的程序吗? 汇编程序一般指编译生成与之等价的 机器语言
汇编:指汇编语言,汇编程序。把汇编语言翻译成机器语言的过程称为汇编。在汇编语言中,用助记符代替 *** 作码,用地址符号或标号代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。
编译程序:也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。
汇编是一种语言,它是软件开发中所需要的一种基础工具;编译程序指对开发完成的源代码进行编译,它指的是编写程序中的过程。
编译程序是必须的,用户用高级语言或汇编语言编写的程序,计算机是不能执行的,必须要由编译程序翻译成机器码程序,计算机才能识别和执行。否则,人们写的各种程序都是无用的。
汇编程序并不是必须的,只是有些场合要用汇编语言写程序,或部分人还用汇编语言写程序,再由汇编程序(其实也是编译程序)来翻译。但现在,可以不用汇编语言写程序了。
至于解释程序,现在几乎不用了。这是在早期的计算机上,用高级语言写的程序,并不用编译成机器码,而是可以直接运行高级语言程序,然后由解释程序逐条进行翻译,一边翻译一边执行。这样的执行程度是很慢的。
MasmPlus
专业汇编程序员90%均使用
MASM,为它开发的编辑器非常多,其中最有名的是
RadASM,
而现在,真正能与
RadASM
同级的就只有
MASMPlus
了,理由是只有
MASMPlus
与
RadASM
一样编写了自定义编辑类,并且比它更出色,只有自已的类,才能在各方面尽情发挥,在量身定制方面,MASMPlus
更是费尽心思,笔者长时间从事工业硬件汇编程序编写,认识到对于专业汇编程序员而言,最重要的,就是代码书写,不需要华而不实的界面,不需要莫名其妙的功能,不需要可有可无的设置,更不需要所谓的封装,总的来说,
MASMPlus
是半自动,这也是
MASMPlus
没有取名为
MASMIDE
的主要原因
我的系统是win7旗舰版,在用MasmPlus
下载地址:
>
正文如下(复制虚线内文本,粘贴到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屏显电平表,低音绿灯,中音黄灯,高音红灯。
以上就是关于用masm编译汇编程序怎么不能生成obj文件全部的内容,包括:用masm编译汇编程序怎么不能生成obj文件、编译程序和解释程序,汇编程序有什么区别、汇编和编译程序的区别急等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)