ATT汇编 基本数学功能

2024-06-14 15:58
文章标签 功能 基本 数学 汇编 att

本文主要是介绍ATT汇编 基本数学功能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


加法:

.section .data
val:

.quad 3481219651

val1:

.quad 6678934517

output:

.asciz "The res is %qd\n"


.section .text
.globl _start

_start:

movl val, %eax

movl val + 4, %ebx


movl val1, %ecx

movl val1 + 4, %edx


addl %eax, %ecx

adcl %ebx, %edx


pushl %edx

pushl %ecx

pushl $output

call printf


movl $1, %eax

movl $0, %ebx

int $0x80



减法:

.section .data
val:

.quad 3481219651

val1:

.quad 6678934517

output:

.asciz "The res is %qd\n"


.section .text
.globl _start
_start:

movl val1, %eax

movl val1 + 4, %ebx


movl val, %ecx

movl val + 4, %edx


subl %eax, %ecx

sbbl %ebx, %edx


pushl %edx

pushl %ecx

pushl $output

call printf


movl $1, %eax

movl $0, %ebx

int $0x80



乘法:

1.mul 指令只能用于无符号整数:

.section .data
val:

.int 316722

val1:

.int 129907

result:

.quad 0

output:

.asciz "The res is %qd\n"


.section .text
.globl _start
_start:

movl val, %eax

mull val1


movl %eax, result

movl %edx, result + 4


pushl result + 4

pushl result

pushl $output

call printf


movl $1, %eax

movl $0, %ebx

int $0x80


2.imul 可用于带符号和无符号整数:

imul des                       ( AL,AX,EAX 中为隐含操作数,乘积结果被存放在 AX寄存器 or 

DX : AX 寄存器对 or EDX : EAX 寄存器对中 )

imul src, des              ( src 可以是 16 or 32 位的寄存器 or 内存中, des 必须是 16 or 32 位的通用寄存器 )

imul multi, src, des ( multi 与 src 的快速乘法的结果存放在 des 中 )


.section .data
val:

.int 10

val1:

.int 12

val2:

.int 100

output:

.asciz "The res is %qd\n"


.section .text
.globl _start
_start:

movl val, %eax

movl val1, %ebx

imull %eax, %ebx


movl val2, %edx

imull $4, %edx, %ecx


movl $1, %eax

movl $0, %ebx

int $0x80


除法:

1.无符号除法

被除数被除数长度余数
AX16位ALAH
DX : AX32位AXDX
EDX : EAX64位EAXEDX

div divisor


.section .data
dividend:

.quad 4537124

divisor:

.int 35

quotient:

.int 0

remainder:

.int 0

output:

.asciz "quotient is %d, remainder is %d\n"


.section .text
.globl _start
_start:

movl dividend, %eax

movl dividend + 4, %edx


divl divisor


movl %eax, quotient

movl %edx, remainder


pushl remainder

pushl quotient

pushl $output

call printf


addl $12, %esp


movl $1, %eax

movl $0, %ebx

int $0x80


2.带符号除法 idiv divisor 类似


这篇关于ATT汇编 基本数学功能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1060854

相关文章

SpringBoot后端实现小程序微信登录功能实现

《SpringBoot后端实现小程序微信登录功能实现》微信小程序登录是开发者通过微信提供的身份验证机制,获取用户唯一标识(openid)和会话密钥(session_key)的过程,这篇文章给大家介绍S... 目录SpringBoot实现微信小程序登录简介SpringBoot后端实现微信登录SpringBoo

使用Vue-ECharts实现数据可视化图表功能

《使用Vue-ECharts实现数据可视化图表功能》在前端开发中,经常会遇到需要展示数据可视化的需求,比如柱状图、折线图、饼图等,这类需求不仅要求我们准确地将数据呈现出来,还需要兼顾美观与交互体验,所... 目录前言为什么选择 vue-ECharts?1. 基于 ECharts,功能强大2. 更符合 Vue

Java如何用乘号来重复字符串的功能

《Java如何用乘号来重复字符串的功能》:本文主要介绍Java使用乘号来重复字符串的功能,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java乘号来重复字符串的功能1、利用循环2、使用StringBuilder3、采用 Java 11 引入的String.rep

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增

在React聊天应用中实现图片上传功能

《在React聊天应用中实现图片上传功能》在现代聊天应用中,除了文字和表情,图片分享也是一个重要的功能,本文将详细介绍如何在基于React的聊天应用中实现图片上传和预览功能,感兴趣的小伙伴跟着小编一起... 目录技术栈实现步骤1. 消息组件改造2. 图片预览组件3. 聊天输入组件改造功能特点使用说明注意事项

基于Redis实现附近商铺查询功能

《基于Redis实现附近商铺查询功能》:本文主要介绍基于Redis实现-附近商铺查询功能,这个功能将使用到Redis中的GEO这种数据结构来实现,需要的朋友可以参考下... 目录基于Redis实现-附近查询1.GEO相关命令2.使用GEO来实现以下功能3.使用Java实现简China编程单的附近商铺查询4.Red

使用Python实现实时金价监控并自动提醒功能

《使用Python实现实时金价监控并自动提醒功能》在日常投资中,很多朋友喜欢在一些平台买点黄金,低买高卖赚点小差价,但黄金价格实时波动频繁,总是盯着手机太累了,于是我用Python写了一个实时金价监控... 目录工具能干啥?手把手教你用1、先装好这些"食材"2、代码实现讲解1. 用户输入参数2. 设置无头浏

Python 异步编程 asyncio简介及基本用法

《Python异步编程asyncio简介及基本用法》asyncio是Python的一个库,用于编写并发代码,使用协程、任务和Futures来处理I/O密集型和高延迟操作,本文给大家介绍Python... 目录1、asyncio是什么IO密集型任务特征2、怎么用1、基本用法2、关键字 async1、async

POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能

《POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能》ApachePOI是一个流行的Java库,用于处理MicrosoftOffice格式文件,提供丰富API来创建、读取和修改O... 目录前言:Apache POIEasyPoiEasyExcel一、EasyExcel1.1、核心特性

Android 实现一个隐私弹窗功能

《Android实现一个隐私弹窗功能》:本文主要介绍Android实现一个隐私弹窗功能,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 效果图如下:1. 设置同意、退出、点击用户协议、点击隐私协议的函数参数2. 《用户协议》、《隐私政策》设置成可点击的,且颜色要区分出来res/l