汇编心得(一)在32位机上实现64位数的相加
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位数的相加相关推荐
- iOS上应用如何兼容32位系统和64位系统
在苹果推出iPhone5S时,64位的应用就走到了眼前.当时就看见苹果官方资料宣布iOS7.x的SDK支持了64位的应用,而且内置的应用都已经是64位. 我记得自己刚刚接触电脑时还有16位的系统,指针 ...
- 实战iOS应用从32位升级到64位
苹果官方会在2015年2月1日不允许不支持arm64的应用的提交,这对我们这种开发移动应用产品的人来说是一把达摩克利斯之剑.我前面写过一篇文章<iOS上应用如何兼容32位系统和64位系统> ...
- 32位程序在64位系统上运行
32位程序在64位系统上运行 32位系统下的MFC文件,怎么在64位的系统上面运行? 先将32位的应用程序转换为64位的应用程序. 从32位应用程序到64位应用程序 编译:starlight 这篇文章 ...
- [转载]32位系统与64位系统的区别(整合三篇写的比较好的文章)
来源:鲁大师 作者:节能降温 连接:http://www.ludashi.com/html/20101028/1107.html 简单的说x86代表32位操作系统 x64代表64位操作系统.如果你的C ...
- 32位进程注入64位进程
https://github.com/odzhan/shellcode/blob/master/win/pi/createthread.h GitHub上一个可能是老外的工程, 挺老的技术了,我记得很 ...
- c语言的程序是32位还是64位,在C语言中,对于32位计算机和64位计算机,long的大小是多少?...
本问题已经有最佳答案,请猛点这里访问. 对于32位平台,C中的long的大小为4字节,而对于64位平台,为8字节是否正确? 通常,但不一定. 如果要使用固定大小的类型,请使用int32_t或int64 ...
- Android 判断手机是32位CPU还是64位CPU android.os.Build类字段含义
手机cpu分32位与64位,下面介绍如何在所有android版本上判断手机cpu位数是32位还是64位. 1 Android 判断手机是32位CPU还是64位CPU Android从API level ...
- 32位程序注入64位DLL到64位进程
向其他进程注入DLL通常的做法是通过调用CreateRemoteThread这个API在目标进程内创建一个远程线程,用这个线程来调用LoadLibraryA或LoadLibraryW(下文统称Load ...
- 【海洋女神原创】installshield 32位打包和64位打包的注意事项
32/64位问题要把握几点: 1. 明确你的产品是否需要区分32/64位 2. 明确你的产品中是否有32/64位的服务注册 3. 了解InstallShield Build出来的安装包本身是32位应用 ...
- 32位程序调用64位dll_电脑系统怎样区分32位和64位
一.32位和64位系统的区别: 32位系统和64位系统的区别有以下四点: 第一,CPU要求不同 第二,运算速度不同 第三,寻址能力不同 第四,软件兼容性不同 二.怎么看自己电脑系统是36位还是64位? ...
最新文章
- 特征选择和特征生成问题初探
- Linux集群服务知识点总结及通过案例介绍如何实现高性能web服务
- 科大星云诗社动态20210828
- 【干货索引】阿里云大数据计算服务MaxCompute与生态系统的融合
- ruby 在 windows 中 新建进程 打开其他程序
- 神经网络-反向传播算法
- 从 0 到 70%:Chrome 上位揭秘!
- 文件系统功能 os模块 子模块os.path pickle
- python人口普查数据数据分析_Python:第六次全国人口普查数据分析及可视化(pandas、matplotlib)...
- html5 css3 JavaScript响应式中文静态网页模板js源代码
- Linux 文本处理工具——sed
- 人工神经元再进一步,存储记忆已成现实
- MIPS架构学习笔记
- [需求管理-2]:什么是需求以及需求的收集与识别
- 串口调试助手版本合集
- Ubuntu虚拟机中VCS安装和启动过程中遇到的问题总结
- LM358与TL431验证
- apex库安装,解决amp not installed 报错( ModuleNotFoundError: No module named ‘apex‘)
- 特别喜欢吃草莓,那吃草莓对身体有什么好处吗?
- 微信小程序开发关于地图图片显示不出问题