汇编语言(王爽)第二版检测点10.1

检测点10.1
补全程序,实现从内存1000:0000处开始执行指令。

程序

;检测点10.1 
;补全程序,实现从内存1000:0000处开始执行指令。

assume cs:code

stack segment
	db 16 dup (0)
stack ends

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

运行

执行reft指令时,相当于进行:

pop ip

pop cs

根据栈先进后出原则,应先将段地址cs入栈,再将偏移地址ip入栈。


C:\DOCUME~1\SNUSER>debug jc10-1.exe

-u

0C50:0000 B84F0C        MOV     AX,0C4F

0C50:0003 8ED0          MOV     SS,AX

0C50:0005 BC1000        MOV     SP,0010

0C50:0008 B80010        MOV     AX,1000

0C50:000B 50            PUSH    AX

0C50:000C B80000        MOV     AX,0000

0C50:000F 50            PUSH    AX

0C50:0010 CB            RETF

0C50:0011 3986FEFE      CMP     [BP+FEFE],AX

0C50:0015 737D          JNB     0094

-g 0010

AX=0000  BX=0000  CX=0021  DX=0000  SP=000C  BP=0000  SI=0000  DI=0000

DS=0C3F  ES=0C3F  SS=0C4F  CS=0C50  IP=0010   NV UP EI PL NZ NA PO NC

0C50:0010 CB            RETF

-t

AX=0000  BX=0000  CX=0021  DX=0000  SP=0010  BP=0000  SI=0000  DI=0000

DS=0C3F  ES=0C3F  SS=0C4F  CS=1000  IP=0000   NV UP EI PL NZ NA PO NC

1000:0000 6E            DB      6E

-
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值