中,当程序执行到地址M5的时候,请在以下表格中画出当前堆栈指针的位置和堆栈里的内容(程序断点可以用标号,在堆栈中可用寄存器名代表保存的内容,SS的内容不用指定,表格的每个单元表示一个字)。(6分)DS高地址低地址datasegmentM20?vardw1000BP?resultdd?BXSIdataendsssegsegmentstack db100dup(?) ssegends codesegment assumecs:code,ds:data,ss:ss_seg mainprocfar pushds movax,0 pushax movax,data movds,ax movax,var?M1:?callCaculate M2:?dw10 M3:?dw600 M4:?leabx,result mov[bx],ax mov[bx+2],dx ret mainendpCaculateproc?push?bpmov?bp,sppush?sipush?bxmov?bx,[bp+2]mov?si,cs:[bx]mul?siM5:?add ax,cs:2[bx]adc dx,0add bx,4mov?[bp+2],bxpop bxpop sipop bpretCaculate?endpcodeendsendmain4、问答题1)若AL=81H,则执行指令CBW后AH的内容为多少??AH=0FFH2)若BL=BEH,执行下列指令序列,则每执行一步,BL和CF的值为多少?SHLBL,1;BL=__7CH___,CF=___1___MOVCL,2SHRBL,CL;BL=__1FH___,CF=___0___ORBL,80SARBL,1;BL=__CFH___,CF=___1___RORBL,CL;BL=__F3H___,CF=LRCLBL,CLBL=__BFH___,CF=___1___