Linux 小技巧:bc输出进制 倒叙正序输出 查看汇编

来源:互联网 发布:hl5590dn网络共享 编辑:程序博客网 时间:2024/05/01 14:43
Linux 小技巧:
一.
shell 脚本默认数值是由10 进制数处理,除非这个数字某种特殊的标记法或前缀开头. 才可以表示其它进制类型数值。如:以 0 开头就是 8 进制.


以0xF 开头就是16 进制数  F必须是大写   

ibase=16   设置当前输入进制
obase=8    设置8进制输出


1.1  
10进制  -->  16进制
echo "obase=16;121" |bc
79

1.2
10进制  -->  8进制
echo "obase=8;121" |bc
171

1.3
10进制  -->  2进制
echo "obase=2;121" |bc
1111001
-----------------------------------------------------------------------
1.4     
16进制 --> 10进制 
echo "obase=10;ibase=16;F" | bc
15

1.5
16进制 --> 8进制 
echo "obase=8;ibase=16;F" | bc  
17

1.6
16进制 --> 2进制 
echo "obase=2;ibase=16;4004C4" | bc            ## 字母必须是ABCDEF 大写的

10000000000010011000100


-----------------------------------------------------------------------

1.7
2进制 --> 16进制 
echo "obase=16;ibase=2;1000" | bc
8

echo "obase=16;ibase=2;10000000000010011000100" | bc
4004C4


1.8
2进制 --> 10进制 
echo "obase=10;ibase=2;1000" | bc 
8

echo "obase=10;ibase=2;10000000000010011000100" | bc
4195524


1.9
2进制 --> 8进制 
echo "obase=8;ibase=2;1000" | bc 
10

echo "obase=8;ibase=2;1111" | bc 
17
-----------------------------------------------------------------------


二.rev temp   倒叙输出temp

cat temp 正续输出temp



三. gcc -o ao  test.c

test.c文件

int main(){
int i =9;
return i;
}

int add(int x,int y){
int sum = 0;
sum = x + y ;
return sum;
}

objdump    -S ao      // 能看到汇编程序  main 函数


汇编代码如下:

  4004b2: 90      nop
  4004b3: 90      nop


00000000004004b4 <main>:
  4004b4: 55                                  push   %rbp
  4004b5: 48 89 e5                       mov    %rsp,%rbp
  4004b8: c7 45 fc 09 00 00 00  movl   $0x9,-0x4(%rbp)
  4004bf: 8b 45 fc                          mov    -0x4(%rbp),%eax
  4004c2: 5d                                   pop    %rbp
  4004c3: c3                                   retq   


00000000004004c4 <add>:
  4004c4: 55                                 push   %rbp
  4004c5: 48 89 e5                      mov    %rsp,%rbp
  4004c8: 89 7d ec                      mov    %edi,-0x14(%rbp)
  4004cb: 89 75 e8                      mov    %esi,-0x18(%rbp)
  4004ce: c7 45 fc 00 00 00 00  movl   $0x0,-0x4(%rbp)
  4004d5: 8b 45 e8                       mov    -0x18(%rbp),%eax
  4004d8: 8b 55 ec                       mov    -0x14(%rbp),%edx
  4004db: 01 d0                            add    %edx,%eax
  4004dd: 89 45 fc                        mov    %eax,-0x4(%rbp)
  4004e0: 8b 45 fc                        mov    -0x4(%rbp),%eax
  4004e3: 5d                                  pop    %rbp
  4004e4: c3                                  retq   
  4004e5: 90                                  nop
  4004e6: 90                                  nop
  4004e7: 90                                  nop


四.日历查看工具cal 月 日

cal 9 1752
   September 1752     
Su Mo Tu We Th Fr Sa  
            1    2  14 15 16  
17 18 19 20 21 22 23  
24 25 26 27 28 29 30  



                                                    


      


0 0
原创粉丝点击