马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 NeBen 于 2012-7-6 20:21 编辑
发现就连小甲鱼的解法都有点投机取巧,不让用T就用G,实在是牵强(有区别吗,额),而别处还是用计算命令占了多少字节来计算偏移地址,我认为这是‘渣方法’,实在麻烦,遇到命令数量不同还得重新算、‘渣方法’ assume cs:codesg stack segment dw 8 dup(0) stack ends codesg segment start: mov ax,stack mov ss,ax mov sp,10h mov word ptr ss:[0],offset s ;(ss:[0])=1ah mov ss:[2],cs ;(ss:[2])=cs call dword ptr ss:[0] ;cs入栈,ip=19h入栈,转到cs:1ah处执行指令 ;(ss:[4])=cs,(ss:[6])=ip nop s: mov ax,offset s ;ax=1ah sub ax,ss:[0ch] ;ax=1ah-(ss:[0ch])=1ah-19h=1 mov bx,cs ;bx=cs=0c5bh sub bx,ss:[0eh] ;bx=cs-cs=0 mov ax,4c00h int 21h codesg ends end start 而我简单的方法如下(回帖吧,没办法)
|