实验1 8086汇编指令编码和调试

1.实验任务2

使用d命令后的截图:

 

 

 

使用e命令修改生产日期所在内存单元的截图:

 

 

 

无法修改,原因:ffff:0-f属于ROM只读存储区,仅能进行写入操作,无法修改其中内容。 

2.实验任务3

第一步:

 

 

 

第二步:

 

 

 

修改内存地址:

 

 

 

3.实验任务4

 

022e  022c   022a   0228  022a   022c   022e   0230

问题1:栈顶的逻辑地址和物理地址分别是?

栈顶逻辑地址:0020:0030 ;逻辑地址:00230h

问题2:

 

 问题三:

 

 问题四:

 4.实验任务5

问题1:不是,指令是和mov ss,ax 一起执行的

问题2:00220H ~ 0022fH被设置为栈空间,在使用 t 指令时单步执行指令从而引发了中断,而且在中断时进行保护,将接下来执行的命令存放在栈中。

5.实验任务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

 

 

 6实验任务7

程序源码:

assume cs:code
code segment
mov ax, cs
mov ds, ax
mov ax, 0020h
mov es, ax
mov bx, 0
mov cx, cx
s: mov al, [bx]
mov es:[bx], al
inc bx
loop s
mov ax, 4c00h
int 21h
code ends end

cs 是段代码寄存器 所以ds的位置是cs

cx是循环次数 也是代码长度 一次复制一个字节 所以循环cx次

 

 

posted @ 2021-10-24 12:13  醴泉  阅读(66)  评论(0编辑  收藏  举报