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 4096
10 option casemap:none;  大小不敏感
11
12
13 printf          PROTO C :dword,:vararg
14 scanf           PROTO C :dword,:vararg
15 gets        PROTO C :dword
16 getchar        PROTO C
17 strlen        PROTO C :dword
18 ExitProcess    PROTO,dwExitCode:DWORD          ; exit program
19 exit        EQU <INVOKE ExitProcess,0>
20
21 INCLUDELIB C:\asm\USER32.LIB
22 INCLUDELIB C:\asm\KERNEL32.LIB
23 INCLUDELIB C:\asm\MSVCRT.LIB
24
25 chr$ MACRO any_text:VARARG
26         LOCAL txtname
27         .data
28           txtname db any_text,0
29           align 4
30         .code
31           EXITM <OFFSET txtname>
32 ENDM
33
34 .data
35  val1    qword    123456789abcdef0h
36  val2    qword    9876543210fedcbah
37  s    label    dword
38  sum    qword    ?
39
40  .code
41 main    PROC
42     MOV    EAX,dword ptr val1                ;首先计算低8位,进位在cf中
43     ADD    EAX,dword ptr val2
44     MOV    EDX,dword ptr val1+4            ;然后计算高八位,并且将第八位的进位加上由adc实现
45     ADC    EDX,dword ptr val2+4                ;每一字节两个数字,+4就向前进了8位
46     MOV    dword ptr sum,EAX
47     MOV    dword ptr sum+4,EDX
48
49     invoke    printf,chr$("The result is: %llx",0dh,0ah),sum
50     invoke  getchar
51     exit
52 main    ENDP
53
54     END main

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

汇编心得(一)在32位机上实现64位数的相加相关推荐

  1. iOS上应用如何兼容32位系统和64位系统

    在苹果推出iPhone5S时,64位的应用就走到了眼前.当时就看见苹果官方资料宣布iOS7.x的SDK支持了64位的应用,而且内置的应用都已经是64位. 我记得自己刚刚接触电脑时还有16位的系统,指针 ...

  2. 实战iOS应用从32位升级到64位

    苹果官方会在2015年2月1日不允许不支持arm64的应用的提交,这对我们这种开发移动应用产品的人来说是一把达摩克利斯之剑.我前面写过一篇文章<iOS上应用如何兼容32位系统和64位系统> ...

  3. 32位程序在64位系统上运行

    32位程序在64位系统上运行 32位系统下的MFC文件,怎么在64位的系统上面运行? 先将32位的应用程序转换为64位的应用程序. 从32位应用程序到64位应用程序 编译:starlight 这篇文章 ...

  4. [转载]32位系统与64位系统的区别(整合三篇写的比较好的文章)

    来源:鲁大师 作者:节能降温 连接:http://www.ludashi.com/html/20101028/1107.html 简单的说x86代表32位操作系统 x64代表64位操作系统.如果你的C ...

  5. 32位进程注入64位进程

    https://github.com/odzhan/shellcode/blob/master/win/pi/createthread.h GitHub上一个可能是老外的工程, 挺老的技术了,我记得很 ...

  6. c语言的程序是32位还是64位,在C语言中,对于32位计算机和64位计算机,long的大小是多少?...

    本问题已经有最佳答案,请猛点这里访问. 对于32位平台,C中的long的大小为4字节,而对于64位平台,为8字节是否正确? 通常,但不一定. 如果要使用固定大小的类型,请使用int32_t或int64 ...

  7. Android 判断手机是32位CPU还是64位CPU android.os.Build类字段含义

    手机cpu分32位与64位,下面介绍如何在所有android版本上判断手机cpu位数是32位还是64位. 1 Android 判断手机是32位CPU还是64位CPU Android从API level ...

  8. 32位程序注入64位DLL到64位进程

    向其他进程注入DLL通常的做法是通过调用CreateRemoteThread这个API在目标进程内创建一个远程线程,用这个线程来调用LoadLibraryA或LoadLibraryW(下文统称Load ...

  9. 【海洋女神原创】installshield 32位打包和64位打包的注意事项

    32/64位问题要把握几点: 1. 明确你的产品是否需要区分32/64位 2. 明确你的产品中是否有32/64位的服务注册 3. 了解InstallShield Build出来的安装包本身是32位应用 ...

  10. 32位程序调用64位dll_电脑系统怎样区分32位和64位

    一.32位和64位系统的区别: 32位系统和64位系统的区别有以下四点: 第一,CPU要求不同 第二,运算速度不同 第三,寻址能力不同 第四,软件兼容性不同 二.怎么看自己电脑系统是36位还是64位? ...

最新文章

  1. 特征选择和特征生成问题初探
  2. Linux集群服务知识点总结及通过案例介绍如何实现高性能web服务
  3. 科大星云诗社动态20210828
  4. 【干货索引】阿里云大数据计算服务MaxCompute与生态系统的融合
  5. ruby 在 windows 中 新建进程 打开其他程序
  6. 神经网络-反向传播算法
  7. 从 0 到 70%:Chrome 上位揭秘!
  8. 文件系统功能 os模块 子模块os.path pickle
  9. python人口普查数据数据分析_Python:第六次全国人口普查数据分析及可视化(pandas、matplotlib)...
  10. html5 css3 JavaScript响应式中文静态网页模板js源代码
  11. Linux 文本处理工具——sed
  12. 人工神经元再进一步,存储记忆已成现实
  13. MIPS架构学习笔记
  14. [需求管理-2]:什么是需求以及需求的收集与识别
  15. 串口调试助手版本合集
  16. Ubuntu虚拟机中VCS安装和启动过程中遇到的问题总结
  17. LM358与TL431验证
  18. apex库安装,解决amp not installed 报错( ModuleNotFoundError: No module named ‘apex‘)
  19. 特别喜欢吃草莓,那吃草莓对身体有什么好处吗?
  20. 微信小程序开发关于地图图片显示不出问题

热门文章

  1. webpack创建页面的过程
  2. webpack,vue中定义的别名怎么在模板, css sass less的图片地址上使用
  3. MySql学习之组合查询
  4. Linux的用户和组
  5. Python程序中的进程操作-进程同步(multiprocess.Lock)
  6. webstorm 快捷键
  7. 一、 Python概述、变量
  8. 判断游戏对象是否在摄像机视口的一个方法
  9. Java修饰符public,private,protected及默认的区别
  10. Android ListView的背景和黑色边缘化的问题