汇编语言程序设计-01:获取cpuid


今天开始学习x86汇编:

硬平台:intel,软平台:linux

《汇编语言程序设计》

源码:

  root@ubuntu-core:/home/cpuid# vim cpuid.s

  1 #cpuid.s sample program to extract the processor vendor ID
  2 
  3 .section .data
  4 output:
  5         .ascii "The processor Vendor ID is 'XXXXXXXXXXXX'\n"

  6 .section .text
  7 .globl _start
  8 _start:
  9         movl $0, %eax     //填写cpuid指令的输入
 10         cpuid //执行cupid指令
 11 movl $output,%edi //获取输出
 12 movl %ebx,28(%edi)
 13 movl %edx,32(%edi)
 14 movl %ecx,36(%edi)
 15 
 16 movl $4,%eax //write函数,内核中对应数字4
 17 movl $1,%ebx  //标准输出
 18 movl $output,%ecx //字符重首地址
 19 movl $42,%edx //字符长度
 20 int $0x80 //促发系统调用
 21 movl $1,%eax //exit函数
 22 movl $0,%ebx //函数执行的返回值
 23 int $0x80 //促发系统调用

root@ubuntu-core:/home/cpuid# as -o cpuid.o cpuid.s 
root@ubuntu-core:/home/cpuid# ld -o cpuid  cpuid.o
root@ubuntu-core:/home/cpuid# ./cpuid 
The processor Vendor ID is 'GenuineIntel'


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值