博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
汇编心得(一)在32位机上实现64位数的相加
阅读量:7174 次
发布时间:2019-06-29

本文共 1408 字,大约阅读时间需要 4 分钟。

1 TITLE MASM Template (main.asm) 2  3 ; Description: 4 ;  5 ; Revision date: 6  7 .386P        ; Pentium Pro or later 8 .MODEL flat, stdcall 9 .STACK 409610 option casemap:none;  大小不敏感11 12     13 printf          PROTO C :dword,:vararg14 scanf           PROTO C :dword,:vararg15 gets        PROTO C :dword16 getchar        PROTO C17 strlen        PROTO C :dword18 ExitProcess    PROTO,dwExitCode:DWORD          ; exit program19 exit        EQU 
20 21 INCLUDELIB C:\asm\USER32.LIB22 INCLUDELIB C:\asm\KERNEL32.LIB23 INCLUDELIB C:\asm\MSVCRT.LIB24 25 chr$ MACRO any_text:VARARG26 LOCAL txtname27 .data28 txtname db any_text,029 align 430 .code31 EXITM
32 ENDM33 34 .data35 val1 qword 123456789abcdef0h36 val2 qword 9876543210fedcbah37 s label dword38 sum qword ?39 40 .code41 main PROC42 MOV EAX,dword ptr val1 ;首先计算低8位,进位在cf中43 ADD EAX,dword ptr val244 MOV EDX,dword ptr val1+4 ;然后计算高八位,并且将第八位的进位加上由adc实现 45 ADC EDX,dword ptr val2+4 ;每一字节两个数字,+4就向前进了8位46 MOV dword ptr sum,EAX47 MOV dword ptr sum+4,EDX48 49 invoke printf,chr$("The result is: %llx",0dh,0ah),sum50 invoke getchar51 exit52 main ENDP53 54 END main

 

转载于:https://www.cnblogs.com/windynight/archive/2012/04/17/2454316.html

你可能感兴趣的文章
Android 5.0+ 屏幕录制实现
查看>>
什么是智能指针?为什么要用智能指针?
查看>>
react-native
查看>>
Android之串口编程
查看>>
iOS逆向之旅(进阶篇) — HOOK(Logos)
查看>>
为什么Proxy可以优化vue的数据监听机制
查看>>
让eclipse像idea一样炫起来
查看>>
函数上下文 this 判断技巧。
查看>>
Flutter如何实现网易云音乐tabbar嵌套呢
查看>>
Flutter入门进阶之旅(一)-初识Flutter
查看>>
【设计模式】--可能是最详细的单例模式说明
查看>>
计算机组成原理-基本组成
查看>>
前端日刊君来也
查看>>
2019年Android岗位BAT等大厂面试题知识点小结
查看>>
java集合系列之18 spring boot程序员的必修课
查看>>
数据结构与算法-day1-复杂度分析(2)
查看>>
vue
查看>>
数字资产是二十一世纪数字经济下崭新的资产形态
查看>>
java数据结构
查看>>
通俗易懂的解释字符集和字符编码
查看>>