那入栈之后,AX的内容是?
追答那就不用管它了,该怎么用就怎么用它好了。
追问我懂了,AX内容保持不变,谢谢哈!
追答不使用它,应该是不变的。
不过入栈主要是考虑要使用它,使用后内容就变了,所以出栈时再取出。
甭客气
汇编语言中Push ax指令执行后,ax的原内容在ax寄存器中还保存么?
AX原内容入栈了,可以理解为放到一个专用的存储器里了,出栈后再去出来即可。
已知(SP)=2000H,指令PUSH AX 执行后(AX)=?
push AX只能使SP的值发生变化,即减2,AX的内容不变;pop操作导致SP发生变化(增2),同时也有可能使目标寄存器的值发生变化。 本回答由网友推荐 举报| 答案纠错 | 评论 31 2 KawaguchiM 采纳率:50% 来自团队:侏罗纪coder 擅长: 暂未定制 其他回答 执行PUSH指令时,先执行SP-2,然后把AX赋给SP,AX内容不变SP=...
汇编中保护现场是什么意思
在汇编语言中,程序执行过程中涉及到的寄存器值和其他相关内容的保护,会通过指令的方式进行。例如,通过PUSH AX指令来将AX寄存器的值压入栈中,或者通过POP AX指令来将栈中的值恢复到AX寄存器中。在执行完特定操作后,再通过指令将这些值取回,从而恢复原来的状态。保护现场在程序开发中是非常重要的,因...
...用堆栈指令将寄存器AX与SI的内容交换。 PUSH AX PUSH SI ... POP...
push AX 先把AX的值入栈 push SI 然后把SI的值入栈 pop AX 是把后压入的SI的值弹到AX pop SI 是把先压入的AX的值弹到SI 是数据的后进先出,不是寄存器的后进先出。这样就可以达到交换寄存器数据的目的。同样,如果不是要达到交换数据的目的,而仅仅是用栈保存寄存器的原值,那么就应该...
汇编语言两条指令 push ax push ds 执行后结果是什么
汇编程开始时 push ds sub ax,ax push ax 这三条语句是为后面的ret做准备,ret即执行pop ip, pop cs,执行完ip的值为0,cs的值为ds。程序转移到程序PSP的起始地址,起始地址的前两个字节放的是int 20指令,用于返回DOS。不过不推荐这样做,现在常用 mov ax 4c00h int 21h;终止程序,返回值为...
汇编语言中的操作数寻址方式问题.存储器和寄存器问题?高手请进
首先内存和寄存器都是可以存放数据的 而寄存器是就那么几个,不可能把所有数据都放在寄存器里 寄存器里面是有值的,如果直接丢给CPU运算,就是寄存器寻址。如果把寄存器里面的数当作地址编号,跟据编号在内存里找到另一个数,就是存储器寻址。CS,DS,ES,SS是CPU的寄存器 MOV AX,DS 都是寄存器寻址方式...
汇编语言中压入堆栈是什么意思
例:PUSH AX PUSH BX 等等,就是把AX,BX寄存器中的数据存入到栈中.栈是一个暂时存储数据的内存空间,它具有"后进先出"的特性.补充:栈的作用是很大的.比如,可以用来传递参数,用来暂时存放寄存器中的数据,让寄存器再去做别的事,在WIN32ASM中,还是开辟局部变量的主要空间....
汇编语言 push ds sub ax,ax push ax 有什么用~
push ds:将ds寄存器推入堆栈,要再次得到ds的值的时候可以用pop ds,即临时保存一下ds的值 sub ax,ax:用ax-ax,也就是将ax清零 push ax:与push ds相同 顺便说明一下,堆栈是后进先出的,所以,你如果先后执行了push ds和push ax,那么,执行pop命令的时候,就应该先用pop ax,然后再用pop ds ...
关于汇编语言中ADD指令的问题
1. 0AC72H只是一个表示方法,跟AC72H是一样的含义。AX里还是保存16位的值。之所以在前面多加一个0,是因为编译器不识别以字母开头的立即数。算是立即数表示的一种规则吧,或者可以理解为是一种语法规则。只要是十六进制数的(最后加H),首位又是字母的,必须前面添加个0。这样也不容易引起歧义。如...
汇编语言中 mov ds,ax 移动的是ax中的数据还是只是它的一个复制...
对计算机而言,移动即是复制。移动一个文件到其它地方,也是先复制过去,再把原文件删除。mov ds,ax 将ax中的数据赋值给ds,ax中的值不会消失。mov ax,data这句,如果是前面有assume ds:data的情况,是将地址值传给ax。由于汇编指令系统庞大,因而需构建指令系统体系,其指令数量庞大,格式复杂,可...