当前位置:首页 > 我的书籍 > 正文内容

一个64位汇编的例子。

Peirre1年前 (2024-01-28)我的书籍1376
;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为中心的计...

VBoxManage 命令行使用(转)

原文地址:http://cnjun939.blog.163.com/blog/static/78144538201251474311135/由于最近需研究virtualbox,看好看到上面的网址有,只...

B站粉丝实时查看器B-BOX,粉丝牌[书籍文摘]

B站粉丝实时查看器B-BOX,粉丝牌[书籍文摘]

今天去图书馆看杂志,发现《无线电》杂志内容今年大变样。很有趣还很生动。和现在的一些新东西共同进步。这里讲到的是B站粉丝实时查看器 B-BOX,原文在《无线电》杂志上。【包看包会系列】bilibili粉...

windows 下的 DLL 和功能用途

windows 下的 DLL 和功能用途

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

今天收到一个邮件,发的2021年新品资料,介绍一下吧。

今天收到一个邮件,发的2021年新品资料,介绍一下吧。

今天收到TI公司的一封邮件,好像没有订阅过他们的信息,不过在他们的网站上留有邮箱。很喜欢这个公司,这个公司生产的芯片资料很多,蓝牙5G微处理芯片,无线网络5G芯片他们都有生产。自己一直处于低水平方式,...

找了好久的BIOS和DOS,向量表和数据表。

找了好久的BIOS和DOS,向量表和数据表。

简单说明一下,中断向量在16位地址的内存最初的000:3FF 数据内,4个字节为一个数组地址。编号为0-FFh,分硬中断和软件中断,分BIOS中断和DOS中断,分系统中断和用户中断。实际上书本上有这些...