程序运行完成后,ds,ss,sp的段地址相隔不为10h是为什么
代码如下:assume cs:code,ss:b,ds:a
a segment
dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
a ends
b segment
dw 0,0,0,0,0,0,0,0
b ends
code segment
start: mov cx,8
mov sp,16
mov ax,b
mov ss,ax
mov ax,a
mov ds,ax
mov bx,0
s:
push
add bx,2
loop s
mov ax,4c00h
int 21h
code ends
end start
,附一问,在debug调试程序最开始查看b段地址时,发现前8个字都为0,但执行了Mov ss,ax之后,再查看ss段地址,发现 前八个字的空间被部分覆盖,这又是为什么
在运行完程序退出前,用r命令查看段寄存器,发现相隔不为10h,求大佬回答!!! 本帖最后由 jackz007 于 2022-9-2 17:53 编辑
完全听不懂你的表述,请用截图进行补充。
a 的大小是 20h,b 的大小是 10 h,所以,在程序结束前(ds、ss 被赋值后),ss 比 ds 大 0002h,cs 比 ss 大 0001h,属于正常情况。 本帖最后由 chneft 于 2022-9-2 19:25 编辑
jackz007 发表于 2022-9-2 17:49
完全听不懂你的表述,请用截图进行补充。
a 的大小是 20h,b 的大小是 10 h,所以, ...
你好,我现在等级不够上传不了图片,请问a的大小为什么是20h呢 chneft 发表于 2022-9-2 19:22
你好,我现在等级不够上传不了图片,请问a的大小为什么是20h呢
10h 个 word 它不就是 20h 个 byte 吗? 本帖最后由 chneft 于 2022-9-2 19:42 编辑
哦哦
,明白了,谢谢 听不懂,啥意思? 编程追风梦 发表于 2022-9-2 19:52
听不懂,啥意思?
哪里没懂 我不懂到底是怎么回事,莫名其妙的就设置了一个最佳答案,刷分行为会被举报的 我提的问题,我听懂了,当然就把他设置为最佳答案了呀,这没有问题,我问你哪里不懂你不说。可以举报的,没关系
页:
[1]