程序,link那小子对你做了什么?

来源:百度知道 编辑:UC知道 时间:2024/06/25 10:53:42
程序,link那小子对你做了什么?

code segment
assume cs:code
start:
mov al,'a'
mov bh,0
mov cx,5
mov ah,09h
int 10h
code ends
end start

上面这段程序执行后显示aaaaa,我将它反汇编后的机器码:
b061
b700
b90500
b409
cd10
抄到笔记本,再把笔记本改名为1.exe,运行后没能得出正确结果。请问masm和link除了将程序代码译成机器码外,还对成序做了什么?
请在笔记本中为这段机器码加些东西,然后改名为1.exe,使之能在屏幕显示aaaaa,即不要link,直接把机器码变成.exe;不知编译原理
里能否找到答案?

你CSDN和百度知道都有号啊?
用笔记本是不可能弄成exe的
笔记本只能保存ASCII和汉字等东西,你学汇编的话应该知道有些ASCII是表示不出来的,但这些表示不出来的ASCII说代表的数据可能是机器码所用到的,所以说用记事本不可能弄出一个exe
另外我还发现一个问题,就是如果把一个可执行文件用记事本打开后修改,保存,在改回来保存的话,程序就不能运行了,这可能是windows问题,所以进一步说明了记事本不能能弄出exe

你真想以二进制的形式创造exe的话用UltraEdit吧,就是我在CSDN回答你这个问题时说的那个UE
exe的文件格式你自己搜索吧,我懒,不帮你搜索了

masm 是把你的伪代码编译成机器码,并生成OBJ的工程文件
link 是把你刚才生成的obj文件和你的系统相联系,并生成系统能识别的EXE文件.