关于汇编语言的难题
编写求两个无符号双字长数之和的程序。两数分别在MEM1和MEM2单元中,和放在SUM单元。希望能有多种方法我只要32位的,能不能完整点呢?谢谢了...
编写求两个无符号双字长数之和的程序。两数分别在MEM1和MEM2单元中,和放在SUM单元。希望能有多种方法
我只要32位的,能不能完整点呢?谢谢了 展开
我只要32位的,能不能完整点呢?谢谢了 展开
1个回答
展开全部
真要多种方法的话,这还真是个难题,我只知道两个:
在16位操作系统中:
mov ax,word ptr mem1
mov dx,word ptr mem1+2
add ax,word ptr mem2
adc dx,word ptr mem2+2
mov word ptr sum,ax
mov word ptr sum+2,dx
在32位操作系统中:
mov eax,mem1
add eax,mem2
mov sum eax
下面是你要的完整的:
.386
.model flat,stdcall
option casemap:none
include kernel32.inc
includelib kernel32.lib
.data
mem1 dd ?
mem2 dd ?
.data?
sum dd ?
.code
start:
mov eax,mem1
add eax,mem2
mov sum eax
invoke ExitProcess,0
end start
在16位操作系统中:
mov ax,word ptr mem1
mov dx,word ptr mem1+2
add ax,word ptr mem2
adc dx,word ptr mem2+2
mov word ptr sum,ax
mov word ptr sum+2,dx
在32位操作系统中:
mov eax,mem1
add eax,mem2
mov sum eax
下面是你要的完整的:
.386
.model flat,stdcall
option casemap:none
include kernel32.inc
includelib kernel32.lib
.data
mem1 dd ?
mem2 dd ?
.data?
sum dd ?
.code
start:
mov eax,mem1
add eax,mem2
mov sum eax
invoke ExitProcess,0
end start
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询