【笔记】 王爽汇编语言-实验1
1.实验环境{win20 ,dosbox,debug}
2.实验任务
(1) 在debug中使用“A 段地址:偏移地址”的方式将下面代码写入内存中,执行观察寄存器变化
;截取部分代码熟悉实验工具
mov ax, 4E20H
add ax, 1416H
mov bx, 2000H
add ax, bx
mov bx, ax
add ax, bx
单步执行可以看出数据发生了溢出
(2)利用以下指令计算2的8次方
mov ax, 1
add ax, ax
jump 2000:0003
[分析]:要计算2的8次方,就是要执行8次“add ax, ax”,也就是这句指令要放在2000:0003, 也是就第一句指令要放在2000:0000.实验结果如下
最后AX中的0040H也就是2^8啦
[小细节]实际上对第三条指令取指到执行完成,IP的值经历两次变化
1.IP += GetBytes(jump 2000:0003)
2.IP = 0003e
(3)PC机主板上的ROM中写有一个生产日期,在内存FFF00H-FFFFFH的某几个单元中,定位生产日期并将其改变
如图所示,很容易发现生产日期“01/01/92”存储在FFFF5H-FFFFCH这8个字节中,尝试将其修改为国庆日“01/10/49”,发现不行。
再尝试,还是不行。想一下...这个日期数据存在ROM中只读!
(4) 想内存B8100H开始的单元中填写如下数据
发现屏幕上输出了几个小图标, 查ASCII表不难发现这几个图标的的十六进制形式正是01 02 03 04
接下来问题来了,剩下的一组01 02 03 04是干嘛的?
.
..
...
....
.....
大胆猜测:后一组01 02 03 04 分别表示深蓝色、绿色、淡蓝色、红色
小心验证:控制变量法。将第二个‘01’改成‘04’,观察笑脸是否会变红(果不其然.....)
最后,看了一下8086PC机的内存地址分配,很好地解释了后两个实验结果
厉害,基本没看明白 汇编正在学习中 共勉 airwhy 发表于 2019-10-29 08:04
厉害,基本没看明白
其实是很简单的课本实验啦
汇编正在学习中 学习中...... 正在学习中~!头大 头大 头大 我也在学。。。哎
兄弟伙,我想请问我为啥没出现笑脸??前面的都没问题,就是不出现笑脸,无法观测啊!{:1_923:} 哇靠。成功了!他被我的d命令 出了128个字节 刷上去了!{:1_893:}
页:
[1]