任务2
结论:不能修改。因为ROM为只读内存,不能这样进行修改。可以通过刷固件等方法进行修改。
任务3
任务4
-a
mov ax, 20
mov ds, ax
mov ss, ax
mov sp, 30
push [0] ; 执行后,寄存器(sp) = __002E__
push [2] ; 执行后,寄存器(sp) = __002C_
push [4] ; 执行后,寄存器(sp) = _002A___
push [6] ; 执行后,寄存器(sp) = __0028__
pop [6] ; 执行后,寄存器(sp) = _ 002A___
pop [4] ; 执行后,寄存器(sp) = __002C__
pop [2] ; 执行后,寄存器(sp) = __002E__
pop [0] ; 执行后,寄存器(sp) = __0030__
1.
栈顶的逻辑地址是0020:0030,物理地址是00230H
2.
3.
4.
任务5
1.
没有暂停,mov sp,30 在mov ss,ax后跟着执行了,
2.
进栈时遵守后进先出原则且低位在前
任务6
assume cs:code
code segment
start:
mov cx, 10
mov dl, '0'
s: mov ah, 2
int 21h
add dl, 1
loop s
mov ah,4ch
int 21h
code ends
end start
任务7
1.
因为是复制指令所以ds指向代码段寄存器cs
CX代表循环执行的次数所以是200
2.
总结:通过这次实验发现了自己在编码方面存在的不足,同时发现loops只能用-p