实现十六进制数的乘法,被乘数和乘数均以ASCII码形式存放在内存中,乘积在屏幕上显出来. - 爱问答

(爱问答)

实现十六进制数的乘法,被乘数和乘数均以ASCII码形式存放在内存中,乘积在屏幕上显出来.

用汇编语言编写程序

我知道你的问题了:你每次执行 -g 0106,而IP也在106,其实没有再执行。。。呵呵,按我以下的方式试试。。。
没有问题呀。。。。
AX=2C00 BX=0000 CX=0F09 DX=1662 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0AFD ES=0AFD SS=0AFD CS=0AFD IP=0104 NV UP EI PL ZR NA PE NC
0AFD:0104 CD21 INT 21
-p
AX=2C00 BX=0000 CX=0F09 DX=2603 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0AFD ES=0AFD SS=0AFD CS=0AFD IP=0106 NV UP EI PL ZR NA PE NC
0AFD:0106 EBF8 JMP 0100
-g104
AX=2C00 BX=0000 CX=0F09 DX=2603 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0AFD ES=0AFD SS=0AFD CS=0AFD IP=0104 NV UP EI PL ZR NA PE NC
0AFD:0104 CD21 INT 21
-p
AX=2C00 BX=0000 CX=0F0A DX=1300 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0AFD ES=0AFD SS=0AFD CS=0AFD IP=0106 NV UP EI PL ZR NA PE NC
0AFD:0106 EBF8 JMP 0100
-

以EAX,EBX,等显示的都是二进制的数吧.
我用的是比较简单的汇编:
title 两个数相乘
;this program will mul two numbers and put the result into EAX
include irvine32.inc
.code
main proc
mov eax,0;
mov ebx,0;
mov ebx,32h;
mov eax,54h;
mul ebx;CF=0 EDX此时为0,进位标志被设置
call writeint
call dumpregs;
exit
main endp
end main

相关标签:内存

下一篇:visio适应绘图会导致内容变动

上一篇:排水系统通信模块如何设计

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?