汇编实验4

1)

也就是往20:0-20:3F中依次传递0-63H.

assume cs:code

code segment

mov ax,20H

mov ds,ax

mov bx,0H

mov cx,64

s:mov [bx],bl

inc bx

mov ax,4c00h

int 21h

code ends

end

注意"mov [bx],bx"的写法是错误的。与内存单元进行数据交互的只能是字层次(ah/al)。

2)

同1)

3)

No.1首先要对A,U,T指令有清晰的理解。

A->往内存中放入机器码。

U->查看内存(从CS:IP处开始)中存放的机器码。

T->使CPU读取内存中的机器码。

综上,我们得出以下结论。

U指令与T指令无关,即先执行T指令不会影响我们执行T指令后看到的结果。两者类似于查看仓库里的货物和数仓库里的货物,互不干涉。

内存中存放两种东西,机器码和数据。


No.2.要知道CS,IP值的初始值情况。

一般来说,不同情况下cs初始值不同(受电脑内存状态影响),而IP值一般为100.

而如果是经过编译,连接(效果同A),cs初始值为07E2,IP值一般为0.



汇编实验4_第1张图片
每行结果从左至右依次为CS值,IP值,机器码(2进制,两位为1字节),机器码对应指令

复制的是代码段,共计17个字节(34位二进制),用U指令查看内存中机器码存放情况可知。


汇编实验4_第2张图片
常见错误写法

你可能感兴趣的:(汇编实验4)