一个64位汇编的例子。

Peirre6个月前我的书籍1265
;cmdline.asm
extern printf
section .data
	msg db "The command and arguments:",10,0
	fmt  db "%s",10,0
section .bss
section .text
	global main
main:
	push rbp
	mov rbp,rsp
	mov r12,rdi	;参数数量
	mov r13,rsi	;参数数组的地址
	; 打印标题
	mov rdi,msg
	call printf
	mov r14,0
	; 打印命令和参数
.ploop:
	mov rdi,fmt
	mov  rsi,qword [r13+r14*8]
	call printf
	inc r14
	cmp r14,12	; 参数数量达到了吗?
	jl  .ploop
	; leave		; 权3以后无效,权0差配对
	ret

这个例子说明了64位汇编的编法,那些用函数的注意64位函数的参数第5个参数,第6个参数,使用调试软件调试一下。

不解释,64位汇编是系统用的汇编。合理使用汇编语言编译器,没事自已改改编译器,拥有自已的那套规则就正常了。

那跨平台的程序是跨了又跨,那字符终端字符平台一开始一定要的。

一个自已的系统也许老套只要三个文件或者一个区块。然后加上应用的自已的编译器,调试器就可以了。

很多可以参考windows 32[中文版]这套系统。你会发现以前的不是很难,现在看起来很容易。但是要时间。

64位的系统,一样32位寻址和计算,说实话,一些程序32程序已经可以了,信不信128位也只是带个地址,想了又想,实在是没有必要的事情。

64位和128位的计算很多只是讲讲速度。是电脑的数据流派。硬计算和按位读取,存入再计算要快得多。

一个游戏也许只有4Kb字节,16Kb字节,你看多年以前的任天堂FC红白机的卡带。内容很紧,储存并不多,够用就行。

很多事情就是界面,图形,视频,那些计算机中做出来的图片什么的,也是功夫茶。占内存的就是这些东西,大多没有其它。

相关文章

Intel 64位 和 IA-32位 增补软件开发手册相关图表。(大部分)

Intel 64位 和 IA-32位 增补软件开发手册相关图表。(大部分)

看了相关Intel软件开发手册,感觉到有些图非常有用,现在留图备查,有什么问题可以留言。有很多,并不是十分清楚。这些图和CPU的寄存器,内存,和系统的数据结构相关,还有一些硬件,也就是CPU为中心的计...

走入社会十年过后的第二个十年。

接http://www.nantz.top/index.php/9.html从学校出来已经有十年了,公司经营创收基本持平,销售并不容易。老板的所得比员工低,或持平。在鸿高数字技术的我有两条路选择,投资...

Blend书籍和感想。

Blend书籍和感想。

最近买了几本书 《Blender3D动画角色创作》《VR-Blender物理仿真与游戏特效开发设计》《Blender权威指南》《Blender大师》快速的读了一遍,加上自己的实际操作,谈谈对Blend...

重翻旧书,温故MFC模块VC windows 编程。

重翻旧书,温故MFC模块VC windows 编程。

MFC模组是微软提供的源码级别模块,开发应用程序得心上手,开发速度很快。很多人初学程序语言,不知道如何上手编第一个应用。也许应用太容易,看不上。太难自己又完不成。实际上,程序只是解决问题的一个工具,也...

原本,纯英文资料,开4899端口的,BIOS级的。

原本,纯英文资料,开4899端口的,BIOS级的。

资料AMI_Debug_Remote_Users_Guide.pdf是不是原本,是不是原本!!!昨天http://www.ami.com/ 资料还是可以共享的,今天限制下载http://ww...

windows 下的 DLL 和功能用途

windows 下的 DLL 和功能用途

做电脑维护的朋友经常会碰到各种dll文件出错等 有客发这篇文章,希望能够帮到做维护的朋友更深入的了解windows 系统中各个dll文件的作用! 想加就加,有需要就更新 aac...