|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
首先声明下我刚开始自学汇编,也没有看甲老大的视频!
好了,回到正题。对于程序5.9(P121)代码如下:
ASSUME cs:Codesg
Codesg SEGMENT
mov ax,0ffffH
mov ds,ax
mov ax,20H
mov es,ax
mov dx,0H
mov bx,0H
mov cx,12
S: mov dl,ds:[bx]
mov es:[bx],dl
inc bx
loop S
mov ax,4c00H
int 21H
Codesg ENDS
END
对于上面的程序,它所实现的功能就是将“FFFF:0 B"种的内容复制到“0:200 20B"处,其实还有两种比这个更好的方法(程序5.9已经相比优化了),这两种方法的代码如下:
第一种
ASSUME cs:Codesg
Codesg SEGMENT
mov ax,0ffffH
mov ds,ax
mov ax,20H
mov es,ax
mov dx,0H
mov bx,0H
mov cx,6
S: mov dx,ds:[bx]
mov es:[bx],dx
add bx,2
loop S
mov ax,4c00H
int 21H
Codesg ENDS
END
第二种
ASSUME cs:Codesg
Codesg SEGMENT
mov ax,0ffffH
mov ss,ax
mov sp,0H
mov ax,20H
mov ds,ax
mov bx,0H
mov cx,6
S: pop ds:[bx]
add bx,2
loop S
mov ax,4c00H
int 21
Codesg ENDS
END
本人只是将自己的学习心得和大家分享,如有错误请大家指教,谢谢!!
|
评分
-
查看全部评分
|