math - 如何在不使用循环的情况下在汇编语言中添加数字?
问题描述
我需要这个程序打印出 1 + 3 + 4 + 10 = 18,但到目前为止我还没有成功。我可以单独打印出 18,但这不是我被要求做的。我不允许使用循环。有人可以帮我吗?
INCLUDE Irvine32.inc
.data
y1 DWORD 1
y2 DWORD 3
y3 DWORD 4
y4 DWORD 10
plus byte " + ",0
equal byte " = ",0
.code
main PROC
exit
main ENDP
END main
解决方案
好吧,我昨晚花了整整一夜才弄清楚,但这行得通。
INCLUDE Irvine32.inc ; like import
.data
y1 dword 1
y2 dword 3
y3 dword 4
y4 dword 10
plus byte " + ",0
equal byte " = ",0;
.code
main PROC
mov eax,0
mov edx,offset plus
mov ebx,0
mov eax,y1
call writedec
add ebx,eax
call writestring
mov eax,y2
call writedec
add ebx,eax
call writestring
mov eax,y3
call writedec
add ebx,eax
call writestring
mov eax,y4
call writedec
add ebx,eax
mov edx,offset equal
call writestring
mov eax,ebx
call writedec
exit
main ENDP
end main
推荐阅读
- java - 无法加载 GLPK for Java 的动态链接库
- connectycube - 获取用户会话令牌时意外签名
- git - Git-获取第一次添加头文件的所有提交
- elasticsearch - 如何获取相同键中具有最高 _score 的文档?
- sql - SQL - ORA-00911 - 尝试插入记录时字符无效
- php - 如何获取文件的修改日期/时间?filemtime/fileatime 不返回正确的值
- android - 在 android retrofit2 中解析 JSON 数据
- mysql - 如何将所有记录从 Column1 复制到同一张表的 Column2?
- java - 测试NG。将 testng-results 更改为不包含配置方法
- python - 使用 Scrapy 抓取网页