assume cs:code
stack segment
db 16 dup (0)
stack ends
10.1
code segment
start: mov ax,stack
mov ss,ax
mov sp,16
mov ax,1000h
push ax
mov ax,0
push ax
retf
code ends
end start
10.2
1000:0 b8 00 00 mov ax,0
1000:3 e8 01 00 call s
1000:6 40 inc ax
1000:7 58 s:pop ax
AX中的值为 0006
10.3
1000:0 b8 00 00 mov ax,0
1000:3 9a 09 00 00 10 call far ptr s
1000:8 40 inc ax
1000:9 58 s:pop ax
add ax,ax
pop bx
add ax,bx
AX 中的值为 1010H
10.4
1000:0 b8 06 00 mov ax,6
1000:2 FF D0 call AX
1000:5 40 inc ax
1000:6 MOV BP,SP
add ax,[bp]
AX中的值 0005
10.5
(1)
assume cs:code
stack segment
dw 8 dup(0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov ds,ax
mov ax,0
call word ptr ds:[0eh]
inc ax
inc ax
inc ax
mov ax,4c00h
int 21h
code ends
end start
AX中的值为CALL指令下一条指令(IP)
(2)
assume cs:code
data segment
dw 8 dup(0)
data ends
code segment
start: mov ax,data
mov ss,ax
mov sp,16
mov word ptr ss:[0],offset s
mov ss:[2],cs
call dword ptr ss:[0]
nop
s:mov ax,offset s
sub ax,ss:[0ch]
mov bx,cs
SUB bx,ss:[0eh]
mov ax,4c00h
int 21h
code ends
end start
AX=1,BX=0
- [fpamc] 10.4 ax=11 10.5(1)ax=3 11/05 08:53
- [fpamc] 对的 11/03 11:57
- [fpamc] 对的, 11/02 08:48
- [fpamc] 对的。 11/01 10:27
- [fpamc] 对的。 11/01 10:19
- [zmt1975] (1)SP=0010 第二题,应该对??SP指向栈顶元素,从1000F到10000向20000到2 10/31 19:39
- [fpamc] 对的。 10/30 09:37
- [fpamc] 对的。 10/30 09:35
- [fpamc] add ax,[0004] ax=2c14 10/30 09:33
- [fpamc] 两个sp都不对。 10/30 09:27