Fimbulex 发表于 2020-1-22 18:07:16

3.9《push和pop指令》有一个问题想请教一下

有一道题目“在10000H处写入字型数据2266H(要求不能使用mov 内存单元,寄存器)”
这个题答案是这样的,
mov ax,1000H
mov ss,ax
mov sp,2
mov ax,2266H
push ax

第三条那个“2”那个地方有点没搞懂
这个地方的操作是要设置一个正确的栈顶偏移地址,可是为什直接写2,为什么不写2H,为什么不写0002H(此章节之前确定偏移地址时都采用0002H这种书写形式)
直接写2的话计算机不会把它认成一个十进制吗?



ps:有没有大佬说一下这个网站怎么发图片的,我“选择相册”这一栏点不动{:10_245:} {:10_266:}

人造人 发表于 2020-1-22 18:39:12

十进制的2和十六进制的2有区别吗?

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 1 2 3 4 5 6 7 8 9 a b c d e f

在9之前十六进制和十进制是一样的,十进制的9也可以说成是十六进制的9,难道不是吗?

Fimbulex 发表于 2020-1-22 18:46:03

人造人 发表于 2020-1-22 18:39
十进制的2和十六进制的2有区别吗?

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15


草,确实。
但是不用打成0002的形式吗

人造人 发表于 2020-1-22 22:18:15

你在一个数的前面不管加几个0,这个数的大小是不会改变的
例如
100
000000000000000000100
0000100

上面3个数的大小是一样的

gang19840815 发表于 2020-1-23 23:32:34

看一看什么情况
页: [1]
查看完整版本: 3.9《push和pop指令》有一个问题想请教一下