NASM 汇编学习 9

SECTION .data 
msg db 'hello, brave new world!', 0Ah
SECTION .text
global _start 

_start:

  mov eax,msg
  // move the address of our message string into EAX
  call strlen
  // call our function to calculate the length of the string
  mov edx,eax
  算的结果存在EAX里
  mov ecx,msg
  mov ebx,1
  mov eax,4
  int 80h
  
  
  mov ebx,0
  mov eax,1
  int 80h 
  
 strlen: ; 这是第一个函数声明
 
 push ebx ; 将EBX上的值压入栈中,当在这个函数中使用EBX的时候保护它
 mov ebx, eax
 
 nextchar :
   cmp byte[eax],0
   jz finished
   inc eax
   jmp nextchar 
   
finished:
   sub eax,ebx 
   pop ebx     ;出栈 EBX
   ret 		   ;返回函数被调用的地方
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值