汇编中push指令后面可以直接加数字吗 比如push
答案:5 悬赏:50 手机版
解决时间 2021-03-30 16:41
- 提问者网友:记得曾经
- 2021-03-30 07:06
汇编中push指令后面可以直接加数字吗 比如push
最佳答案
- 五星知识达人网友:廢物販賣機
- 2021-03-30 08:09
PUSH后面是可以直接加数字的,相当于将后面这个数字压入当前栈顶。使用格式为:
PUSH DATA
比如:PUSH 50
当SP=0100H时,执行该语句后0100H这个地址中就存入了50这个数据。
与之对应的是POP语句,这个语句后面是不能跟数字的,因为POP后面是目标地址。
PUSH DATA
比如:PUSH 50
当SP=0100H时,执行该语句后0100H这个地址中就存入了50这个数据。
与之对应的是POP语句,这个语句后面是不能跟数字的,因为POP后面是目标地址。
全部回答
- 1楼网友:末日狂欢
- 2021-03-30 09:27
PUSH有这种格式,但8086不允许。
- 2楼网友:鸽屿
- 2021-03-30 09:04
你好,push指令是可以加立即数的,所以push 1000H是可以的
- 3楼网友:人類模型
- 2021-03-30 08:50
呵呵 那要看你使用的是哪种CPU的汇编指令
1 对于8086CPU
汇编中PUSH指令 为入栈操作指令 可以将寄存器、段寄存器、存储器的内容送入堆栈保存
只有3种格式:
PUSH reg
PUSH sreg
PUSH mem
操作数只能是 寄存器 reg、段寄存器 sreg、存储器mem。
不能是立即数 因此 push 1000H 对于8086CPU 操作码后面的数字代表的是立即数 是非法指令
2 但是如果是单片机(如51单片机) 如:
push 90H 操作码后面的数字代表的是寄存器或存储器的直接地址 则 是合法的。
1 对于8086CPU
汇编中PUSH指令 为入栈操作指令 可以将寄存器、段寄存器、存储器的内容送入堆栈保存
只有3种格式:
PUSH reg
PUSH sreg
PUSH mem
操作数只能是 寄存器 reg、段寄存器 sreg、存储器mem。
不能是立即数 因此 push 1000H 对于8086CPU 操作码后面的数字代表的是立即数 是非法指令
2 但是如果是单片机(如51单片机) 如:
push 90H 操作码后面的数字代表的是寄存器或存储器的直接地址 则 是合法的。
- 4楼网友:逐風
- 2021-03-30 08:24
呵呵 那要看你使用的是哪种CPU的汇编指令
1 对于8086CPU
汇编中PUSH指令 为入栈操作指令 可以将寄存器、段寄存器、存储器的内容送入堆栈保存
只有3种格式:
PUSH reg
PUSH sreg
PUSH mem
操作数只能是 寄存器 reg、段寄存器 sreg、存储器mem。
不能是立即数 因此 push 1000H 对于8086CPU 操作码后面的数字代表的是立即数 是非法指令
2 但是如果是单片机(如51单片机) 如:
push 90H 操作码后面的数字代表的是寄存器或存储器的直接地址 则 是合法的
呵呵 满意 就给加分哦
1 对于8086CPU
汇编中PUSH指令 为入栈操作指令 可以将寄存器、段寄存器、存储器的内容送入堆栈保存
只有3种格式:
PUSH reg
PUSH sreg
PUSH mem
操作数只能是 寄存器 reg、段寄存器 sreg、存储器mem。
不能是立即数 因此 push 1000H 对于8086CPU 操作码后面的数字代表的是立即数 是非法指令
2 但是如果是单片机(如51单片机) 如:
push 90H 操作码后面的数字代表的是寄存器或存储器的直接地址 则 是合法的
呵呵 满意 就给加分哦
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯