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

一个64位汇编的例子。

Peirre1年前 (2024-01-28)我的书籍1364
;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红白机的卡带。内容很紧,储存并不多,够用就行。

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

分享给朋友:

相关文章

我的私人字库网络版

我的私人字库网络版

用FontCreator 9.0和PhotoShop CS6软件制作了一个私人用的字库。可以显示绝大部分简体。是我的手写体,有些没有优化。娱乐和设计使用。链接: https://pan.baidu.c...

Blend书籍和感想。

Blend书籍和感想。

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

这两天忙活,提交一个nrf 单片机的资料。

这两天忙活,提交一个nrf 单片机的资料。

在此处公布一个英文版无线射频51系列单片机资料,型号为nrf24LE1,智能小车,键盘,鼠标上都有使用这个芯片,用途很广。资料下载:nRF24LE1-F16Q48-R_Nordic.pdf简介:是一块...

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

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

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

appwin 模拟器软件内含调试器助记符说明。

appwin 模拟器软件内含调试器助记符说明。

.    光标地址进入反汇编窗口 =  设置PC寄存器地址到当前指令 G  运行在正常速度 [PC寄存器 = 地址] 使用: 地址 | 标号 [保留,长度] 使用: 地址 | 标号 [...

以前老舍的《骆驼祥子》为什么这么火爆,简单的个人经济分析。

以前老舍的《骆驼祥子》为什么这么火爆,简单的个人经济分析。

写这本书的人是老舍,字“庆春”,含冤沉入北京太平湖,希望坏人不要冤曲我,我以前很好,现在不算什么好。有点自私,但是私不过别人。还有,我是中国人,不要私立我的国籍。我在中国有投资,花人民币。看我的书评和...