shangxiao 发表于 2023-12-25 18:51:16

查看内存数据,是从数据段查看,还是代码段查看?

assume cs:code
code segment
    dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
    mov bx,0
    mov ax,0
    mov cx,8
    s:add ax,cs: 代码段,偏移地址为BX
    add bx,2
    loop s;其实我自己认为这个程序只是执行了七次循环,因为从8到1
    mov ax,4c00h
    int 21h
    code ends
end   
其实我有一个疑问,那就是我们查看内存里面的数据的时候,是以代码段为标准还是以数据段为标准?比如这题

FishC 发表于 2023-12-25 18:51:27

在这个程序中,我们使用了代码段(cs:code)和数据段(ds:data)两个段寄存器。

当我们访问内存数据时,是根据数据段(ds)来查看的。因此,在这个程序中,我们使用了ds来指定数据段。例如,`add ax, cs:`中的``表示使用ds段寄存器指向的数据段中的偏移地址为bx的内容。

而cs是代码段寄存器,用于指向程序执行的代码段。在指令中,我们用`cs:`前缀指明了我们要访问的操作数位于代码段中(如`add ax, cs:`)。

综上所述,我们在查看内存数据时,需要使用ds段寄存器来指定数据段,并使用cs段寄存器来指定代码段。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 查看内存数据,是从数据段查看,还是代码段查看?