汇编小程序实例详细解释——IBM汇编

本文通过一个简单的例题(V-(X*Y+Z-540))/X,详细解释IBM汇编语言的计算过程。作者强调汇编语言在揭示CPU底层工作原理的重要性,并指出网络上汇编语言的详细解释资料较少,希望这篇教程能帮助初学者理解汇编的魅力。
摘要由CSDN通过智能技术生成

由于快要期末考试了,我也准备开始本学期的专业课汇编语言的学习了hh(原谅我菜 orz)

汇编很强,让我知道了计算机的cpu在进行工作时都是用加法来完成的

所以聪明的计算机工程师们将世间万物的计算通过数学方法来转换成加法运算,所以汇编语言让我了解了些许底层的知识,同时我在网上搜索题目时,发现对于汇编详细解释的例子太过于少了,导致比较烧脑,所以我在弄明白之后就想着写一篇关于汇编简单计算的小例子来展示汇编的魅力,也可以供新生参考。

例题:(V-(X*Y+Z-540))/X

这是个简单的小例题:

mov ax,X    首先将x的值赋值到ax通用寄存器中
imul Y ;X*Y  imul是带符号的乘法在这声明一下:由于原先的字长为16位这里也涉及到了字乘法,16位*16位答案一定是32位的,

所以用两个寄存器来分别存储该数据的高16位和低16位,所谓的“高”“低”在我看来就是中间平分左边就是高右边就是低
mov cx,ax ;cx寄存器来存储低16位
mov bx,dx ;由于在16位与16位相乘的过程中,机器自动为用户把高16位分到DX的通用寄存器,但是下面还需要用到高16位,

所以得挪地方来保存高16位寄存器下面的图片表达了这一点!!!
mov ax,Z ; 然后对ax寄存器赋值
cwd 这句是把ax带符号扩展成dx,ax。为什么这样做?先接着往下看……
add cx,ax ;将刚才扩

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值