首页 > 编程语言 > 详细

【笔记】汇编语言

时间:2020-05-27 16:31:32      阅读:48      评论:0      收藏:0      [点我收藏+]

 

*现在王爽老师的《汇编语言》已经看到4.5了,想把接下来看书过程中遇到的所学所想记下来。

 

和masm奋战了一下午

正在安装masm,感觉这个工具的安装界面就很有年代感(忘记截图了),而且安装真的很慢。

这本书太老了,我翻看了一下是2003年出的,导致书中说的masm 5.0都变成了masm 11……

安装完毕后发现根本找不到一个叫masm.exe的程序,不知道masm32这个文件夹中哪一个才是编译器……

查了很多资料发现一个叫qeditor的程序,应该是这个版本11把编译器做成了eclipse那种图形界面。

结果在link的时候就出现了问题:

技术分享图片

我怀疑是这样的:

因为我的系统是64位的,按理来说应该在Dosbox中编译才能成功,但这个图形界面的编译器又不能在Dos方式下打开,导致只能在本机64位的环境下编译,就无法成功(?)

又找资料找啊找,找到了这篇文章:DOSBox0.74以及汇编编译器的安装使用(虚拟)64位

其实是使用了文章中给的资源(主要是masm和link),之后在cmd中就可以实现4.4和4.5中写道的编译连接了。

需要注意的是因为我们用的是8086的汇编语言,编译形成的exe也是16位的,并不能在64位系统上直接执行:

技术分享图片

试了一下在Dos中运行,没有反应……当然没有反应,因为asm文件中的内容是这样的:

 1 assume cs:codesg
 2 
 3 codesg segment
 4 
 5     mov ax,123h
 6     mov bx,456h
 7     add ax,bx
 8     add ax,ax
 9 
10     mov ax,4c00h
11     int 21h
12 
13 codesg ends
14 
15 end

只是做了一些寄存器的处理,并没有什么要显示出来的(真可恶我看了4.7才反应过来这一点,之前先入为主地以为在Dos中也无法运行……)

看到说“存有机器码的目标文件”想起来把obj放到010editor看看是什么情况:

 

【笔记】汇编语言

原文:https://www.cnblogs.com/ctf-love/p/12973291.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!