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

一个64位汇编的例子。

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

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

分享给朋友:

相关文章

CPU 汇编指令中和标志位有影响的指令图片。

CPU 汇编指令中和标志位有影响的指令图片。

CPU的汇编指令和CPU的标志位影响关系图,自用备查。SSE3部分FPU部分SSE4部分SSE2部分SSE部分浮点异常表常规指令指令符后缀与标志位影响关系...

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

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

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

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

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

windows 下的 DLL 和功能用途

windows 下的 DLL 和功能用途

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

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

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

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

换个角度说IOMMU,这个角度有点冷。

换个角度说IOMMU,这个角度有点冷。

说起来,AMD系列处理器的功能不低于INTEL处理器,内含集成电路的规模比INTEL同档的CPU处理器多得多。没有什么简化。所以一直是军工产品。唯一的缺点就是耗能很多。相对INTEL处理器来说,新一代...