在汇编中添加0和sub 0

小说
section .text
   global _start    ;must be declared for using gcc
    
_start:             ;tell linker entry point
   mov  eax,'3'
   sub     eax, '0'
    
   mov  ebx, '4'
   sub     ebx, '0'
   add  eax, ebx
   add  eax, '0'
    
   mov  [sum], eax
   mov  ecx,msg 
   mov  edx, len
   mov  ebx,1   ;file descriptor (stdout)
   mov  eax,4   ;system call number (sys_write)
   int  0x80    ;call kernel
    
   mov  ecx,sum
   mov  edx, 1
   mov  ebx,1   ;file descriptor (stdout)
   mov  eax,4   ;system call number (sys_write)
   int  0x80    ;call kernel
    
   mov  eax,1   ;system call number (sys_exit)
   int  0x80    ;call kernel
    
section .data
   msg db "The sum is:", 0xA,0xD 
   len equ $ - msg   
   segment .bss
   sum resb 1

我从这里https://www.tutorialspoint.com/assembly_programming/assembly_arithmetic_instructions.htm获取了此代码在这段代码中,我不明白这三行的用途。

sub  eax, '0'
sub  ebx, '0'
add  eax, '0'
皮特

请注意,在mov eax,'3'您移动字符时-因此eax此指令后的值为0x33(ASCII码为“ 3”)。通过减去(再次)'0'字符(即0x30),可以将数字字符转换为其实际值0x03。同样,通过添加,'0'您可以从一位数字值转换回其对应的字符。

在固定的硬编码值的情况下,这没有多大意义,但是在从终端获取输入的示例中,您只能输入字符并必须转换为实际的数值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么\ g <0>在re.sub中的行为与\ 0不同?

来自分类Dev

zookeeper无法打开localhost / 0:0:0:0:0:0:0:0:1:2181的套接字

来自分类Dev

在Coq中a + b = 0-> a = 0和b = 0

来自分类Dev

如果[0] == 0和0 == [[0]]都为真,那么为什么[0] == [[0]]为假?

来自分类Dev

(* b)[0]与* b [0]-数组和指针

来自分类Dev

在R中添加前导0

来自分类Dev

屏蔽除以0的异常汇编错误

来自分类Dev

条件eax!= 0和edx == 0?

来自分类Dev

C ++-从值中添加或减去“ 0”

来自分类Dev

lighttpd配置中的$ 0和%0是什么?

来自分类Dev

'\ 0' 和printf(c)中

来自分类Dev

RuntimeException:宽度(0)和高度(0)不能<= 0

来自分类Dev

C中的strstr()和exit(0)问题

来自分类Dev

汇编中的int 10h,ah作为0d始终返回0作为鼠标指针下方像素的颜色

来自分类Dev

编码中0和-0之间的差异

来自分类Dev

计算汇编字符串中的'0'

来自分类Dev

程序集中添加“ 0”和“ 0”的含义

来自分类Dev

ARM汇编:.LANCHOR0

来自分类Dev

如何从相同的自定义编码二进制文件中定义二进制(1和0)序列以构成汇编语言?

来自分类Dev

xargs -r0和xargs -0

来自分类Dev

数组中0和'0'之间的差异

来自分类Dev

Teradata中的0前面和0后面

来自分类Dev

$ {0 ## * /}和$ {0%/ *}如何工作?

来自分类Dev

C字符串中'0'、0和'\0'之间的区别

来自分类Dev

0 在汇编中是正数吗?

来自分类Dev

为什么 sub eax, '0' 用于添加而不是添加?

来自分类Dev

创建 postDict 后如何从 Firebase 快照中检索和使用数据;我得到“0\0\0”

来自分类Dev

汇编指令 MOV BL,0

来自分类Dev

c++ 中的“int a, b =0”和“int a =0; int b = 0”有什么区别?

Related 相关文章

热门标签

归档