关于#汇编程序#的问题,如何解决?

刚开始学汇编,完全一头雾水啊(*꒦ິ⌓꒦ີ)
求,救一救

data segment
tb db 10
tw dw 10
data ends
code segment
main proc far
assume cs:code,ds:data
start:
push ds
sub ax,ax
push ax

mov  ax,data
mov  ds,ax

mov  ax,1234H
mov  bx,4567H
push ax
push bx
pop  ax
;1.SP=?,ax=?
 pop  bx

mov  ax,-32767
add  ax,-1
;2.ax=?(十六进制表示),SF=?,OF=?,CF=?
add  ax,-1
;3.ax=?(十六进制及十进制表示),SF=?,OF=?,CF=?

mov  ax,-5
cmp  ax,-6
;4.ax=?(十六进制表示),SF=?,OF=?,CF=?
neg  ax
cmp  ax,6 
;5.ax=?(十六进制表示),SF=?,OF=?,CF=?

mov  ax,-10000
mov  dx,0
mov  bx,100
div  bx
;6.ax=?,dx=?

mov  ax,-10000
mov  dx,0
mov  bx,100
idiv  bx
;7.ax=?,dx=?

 mov  ax,-10000
cwd
mov  bx,100
idiv  bx
;8.ax=?,dx=?

mov  al,12h
and  al,0fh
;9.al=?

mov al,-5
test al,80h
;10.zf=?

mov  al,-5
sar  al,1
;11.al=?


mov  ax,1234h
mov cl,4
rol  ax,cl
;12.ax=?

mov ax,1234h
push ax
call p1
pop  ax

mov ax,-5
mov bx,6
cmp ax,bx
jb  n1
;14.上条指令是否会跳转?
nop

n1:
cmp ax,bx
jl n2
;15.上条指令是否会跳转?
nop
n2:
ret
main endp
p1 proc near
push ax
mov ax,4567h
;13.请写出此时的堆栈内容
pop ax
ret
p1 endp
code ends
end