汇编实验报告五

1349923-20181230235759437-114644313.jpg

1349923-20181230235819991-1166718218.jpg

1349923-20181230235837549-205585061.jpg

(5)
一开始写的是两个循环的,结果发现C段里面没相加结果,反汇编发现,第二个循环部分的代码并没有执行,怎么改都不行,数量不多,就换成了直接一个一个入栈,结果那部分代码也不执行,我弄了一个多小时也找不出问题ORZ
后来又换了一种方法,才可以。

不可行1号:(mov ax,4c00h int21h 后来发现了,改了也不行)
1349923-20181231000857938-1741270865.png

不可行2号:
1349923-20181231000847399-227179595.png

不可行3号:
1349923-20181231000327806-949351162.png

……

可行的:
1349923-20181231000258414-1224339948.png

1349923-20181231000933490-753354290.png

(6)
1349923-20181231001037309-809832421.png

1349923-20181231001047036-521481082.png

1349923-20181231001052038-1652617817.png

1.感觉无论是什么段,都是我们自己定义的,本质就是一个内存空间,然后我们给他定义一个功能,就像ax寄存器一样,我们可以赋值可以通过它赋值给别的段。
2.8086 汇编中,逻辑段实际分配的空间是16 字节的整数倍。通过反汇编就可以看出每个段占了多少空间。就能知道各个段之间相差几。
3.如果不指名start入口,程序会顺序(从上至下)执行,如果是数据段,本来用来处理的数据会被当做指令代码,可能会影响原本code段指令对数据的处理,从而导致了错误的结果。

转载于:https://www.cnblogs.com/zxy666/p/10201198.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值