組合語言字串複製指令?PUSH和POP指令必須成對出現嗎?如果不必要那在什麼情況不需要,什麼情況需要

時間 2021-08-14 23:02:28

1樓:

push和pop指令必須成對出現,否則出錯;在不影響返回後的程式的值,可不需要;一般中斷程式都要用到,例如:累加器a,影響a的值,就必須要用push acc和pop acc;在用到查表時兩者都用到dptr時,就必須要用push dph push dpl和pop dpl pop dph,如果影響到c,ri時就必須要用push psw和pop psw等

2樓:匿名使用者

所謂push和pop從本質上講是堆疊指標的移動。

如果你能保證指標移動正確,也可以不配對使用。

3樓:匿名使用者

這個是堆疊的操作,你想想,把資料壓入(push)堆疊,不彈出來(pop)棧頂指標怎麼變化啊?所以必須要成對出現!否則編譯會報錯!

關於組合語言中的push問題。

4樓:匿名使用者

每次repet開始,來cx是需要檢測的字元數自,si是需要bai檢測字元系列du

一端地址

如對字zhi符系列檢測時:abcdefaceda

首次進入,

daocx=11,si指向第一個字元

push cx在堆疊儲存cx,

迴圈利用cx,結合loop comp實現整個字元系列遍歷檢測(所謂的內迴圈)

取出cx賦予dx,--dx,檢測是否為零,即是否還有字元需要檢測

【事實上push,pop這些操作你只需當它是引數傳遞與儲存即可】事實上

第二行與第三行push cx,pop dx完全沒意義,可以去掉

事實上,在next1子指令系列中

可以不用dx,直接使用 pop cx, 掉dec dx與mov cx,dx,將jnz repet 改為loop repet

順便說一句,事實上該程式的si事實上是:第一次遍歷先指向最後一個字元,然後向前遍歷;第二次遍歷指向倒數第二個字元,然後向前遍歷;。。。

5樓:

基本的copy框架bai如下自

du己分析下不難

zhi理解!dao

repet:

push si

push cx

push cx

pop dx

......

next1: pop dx

pop si

dec si

dec dx

mov cx,dx

jnz repet

6樓:匿名使用者

推ds小斧頭,斧頭

push ax

com程式通常使用,儲存在ds:0000一個int 20h指令,執行上面的**,以便使用retf int 20h ,從而使該程式結束。

7樓:匿名使用者

第一次是儲存cx,第二次是將cx值傳遞給dx

8樓:匿名使用者

所以專業,你為什麼不讀書了嗎?

資料暫存器累加器,通用暫存器。累加器保

回存的計算結答果,通用暫存器儲存資料。

**段,當然,是儲存當前正在執行的**;

資料段的資料儲存在當前程式;

儲存的返回地址和程式引數(地址堆疊段)子程式呼叫;

的其他部分也儲存資料,但一般儲存的批處理計算的結果。

組合語言中,push和pop對cs:ip有什麼影響?

9樓:絲屢

push和pop指令一般用在調復

用子程制序之前用來保護現場,以便返回bai時返回到正確的du**處。zhi在中斷時,系統也dao

預設的會將一些暫存器的值壓入堆疊。push指令,將ip壓棧,用於儲存斷點,sp先減2指向棧頂,再將ip(16位地址,即一個字)低八位存進低地址((sp)=ip低八位)),高八位存進高地址(sp+1)=ip高八位;pop指令的過程相反。如果是段內呼叫,cs是不變的,僅對ip有影響;段間呼叫時,則需要將cs壓入堆疊,所以對cs和ip均有影響。

10樓:保險經紀人王巨集

看是16位還是32位!

怎麼用組合語言編寫程式,統計字串的長度並輸出

允天曼 ho彙編?不是很懂.用字串.length 看是不是能獲得長度?int i 字串.indexof 獲得位置字串.substring i, 組合語言編語言也分好多種的,你說的是哪一種語言 data segment msg1 db length shex db 0123456789abcdef m...

關於組合語言中的loop指令,關於組合語言中的LOOP指令

這個程式迴圈一次,是由cx存放的。cx中存放的是迴圈的次數 程式設計計算2 12 assume cs code code segment mov ax,2 mov cx,11 s add ax,ax loop s mov ax,4c00h int 21h code ends end執行loop s時...

組合語言XOR命令什麼意思,組合語言中,指令XOR CX,CX表示什麼意思

凡筱雲 組合語言xor命令是異或的意思,異或,英文為exclusive or,或縮寫成xor 異或 xor 是一個數 算符。它應用於邏輯運算。異或的數學符號為 計算機符號為 xor 異或可逆運算。1 xor 1 0,0 xor 0 0,1 xor 0 1,0 xor 1 1。a xor b的運算方法...