接着上一篇的汇编语言版helloworld2继续讲述,我们在写完可以用d命令看一下这片内存区域,发现写入成功了。定义好字符串之后,输入a命令,开始写汇编代码,代码只有5句,而且都特别短小精悍,以下这5句代码,有兴趣的可以听听,看热闹的就当听外星语言好了。
先把字符串地址放在DX寄存器中,这个DX就是cpu内部的一个寄存器,要不你们就把它当变量看吧!再把数字9放到cpu的AX寄存器的高8位,最后使用DOS系统调用,DOS系统伸头一看,嗯?AX高位(即AH)是9,按照和程序猿的小约定,那就是要显示字符串了,DOS系统找到字符串的地址,依次把每个字符读取并显示在了屏幕上,最后两行汇编代码的功能是用来退出程序,这也是通过DOS系统调用来实现的。

不同的是,这次AX高8位放的数据是十六进制的4C,好啦!汇编代码写完了。debug也把翻译后的代码放在内存中了,这些即将让电脑发疯癫狂(手动滑稽)的代码长啥样呢?我们来一睹为快,输入d命令查看内存,嗯?怎么全是0呢?因为我们没有指定要查看的内存地址,输入d 100指定地址,我们看到一堆“不可描述”的1和0,这就是计算机能执行的代码了,叫做机器指令。
接下来保存这段机器指令到磁盘,文件名就叫做 mihu-asm吧,保存后退出debug程序,在DOS系统下查看刚才保存的文件,没找到的话,一定是路径不对。我们刚才是直接保存到A盘根目录下的,切换目录,再次查看,找到了这个文件了,大小是60字节,你没看错,不是60MB,也不是60KB,是60B,要知道用c语言写个helloworld编译后还要40KB呢?是这个程序的682倍,这可能是你见到过最小的电脑程序了吧,那么问题来了,程序这么小,它可以正常运行吗?,一起见证一下吧,输入文件名,回车!hello world被打印出来了,成功运行了!

我们学习嵌入式和物联网的过程中不可避免地会遇到c语言,小编整理了一套相关资料,大家根据自己的实际情况可以了解一下。加微信领取资料!

创业项目群,学习操作 18个小项目,添加 微信:jjs406 备注:小项目!
如若转载,请注明出处:https://www.xmjzwang.com/11459.html