練習1
mov ax,0021
mov ds,ax
mov ax,2200
mov ss,ax
mov sp,0100
mov ax,[0] ;ax= 3130H
add ax,[2] ;ax= 6462H
mov bx,[4] ;bx= 3534H
add bx,[6] ;bx= 6c6AH
push ax ;
push bx ;
pop ax ;
pop bx ;
push [4] ;
push [6] ;
t命令 分步執行
mov ax,0021
mov ds,ax
mov ax,2200
mov ss,ax
mov sp,0100
mov ax,[0] ;ax= 3130H
add ax,[2] ;ax= 6462H
mov bx,[4] ;bx= 3534H
add bx,[6] ;bx= 6c6AH
push ax ;sp= 00FEH ,修改的記憶體單元地址是 2200:00FE 內容為 6462H
push bx ;sp= 00FCH ,修改的記憶體單元地址是 2200:00FC 內容為 6C6AH
pop ax ;sp= 00FCH ,ax= 6C6AH
pop bx ;sp= 00FEH ,bx= 6462H
push [4] ;sp= 00FEH ,修改的記憶體單元地址是 2200:00FE 內容為 3534
push [6] ;sp= 00FCH ,修改的記憶體單元地址是 2200:00FC 內容為 3736
練習二
百度答案:debug使用T等指令引發了中斷,中斷過程使用當前棧空間存放cpu資料
(此處存在疑惑)