Assembly 如何在汇编语言中输出和添加十六进制

Assembly 如何在汇编语言中输出和添加十六进制,assembly,hex,addition,Assembly,Hex,Addition,我有一个作业程序,除了这个简单的部分,我已经完成了所有的事情。 我需要从ReadInt中获取两个十六进制数,将它们存储在一个变量中,然后将这两个数相加,并将结果输出为十六进制 我该怎么做? 这不是我的全部代码,但与此问题相关的部分如下所示 .data var1 DWORD ? var2 DWORD ? var3 DWORD ? .code message PROC mov edx, 0 mov edx, OFFSET msg1 call WriteString call ReadInt mov

我有一个作业程序,除了这个简单的部分,我已经完成了所有的事情。 我需要从ReadInt中获取两个十六进制数,将它们存储在一个变量中,然后将这两个数相加,并将结果输出为十六进制

我该怎么做? 这不是我的全部代码,但与此问题相关的部分如下所示

.data
var1 DWORD ?
var2 DWORD ?
var3 DWORD ?
.code
message PROC
mov edx, 0
mov edx, OFFSET msg1
call WriteString
call ReadInt
mov var1, eax
mov edx, OFFSET msg2
call WriteString
call ReadInt
mov var2, eax
mov eax, var1
mov ebx, var2
add eax,ebx
mov var3,eax
mov edx, OFFSET msg3
call WriteString
mov eax, var3
call WriteInt
call crlf
ret
message ENDP

看看你的基本输出操作能做什么它能输出ASCII字符吗?一根绳子?还是怎样然后你必须把你的号码转换成那个。如果一次是一个ASCII字符,那么你需要把你的数字和每个半字节的4位转换成一个ASCII字符,如果它在0-9之间,则加上“0”,如果它在a和F之间,则加上“a”-啊。计算机中的数字只是真正的二进制,但你认为它的基数在大多数情况下实际上是不相关的,一个数字就是一个数字,当您输入或输出数字时,重要的是输入或输出函数如何处理ASCII转换,如果函数需要一个数字作为输入并输出字符串转换,则函数将确定字符串是否为二进制、十六进制、十进制、e.t.c。如果函数需要字符串并将其转换为数字,这取决于函数理解什么样的基数字符串,并可以将其转换为二进制。