实验6问题7.9详解
;问题7.9assume cs:codesg, ss:stacksg, ds:datasg
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends
codesg segment
start: mov ax,stacksg ;程序入口
mov ss,ax
mov sp,10h
mov ax,datasg
mov ds,ax
sub bx,bx ;从第0行开始
mov si,3 ;从第3列开始
mov cx,4 ;需要操作4行
s: push cx ;压入当前操作行数
mov cx,4 ;需要操作4列
s0: mov al,bx ;读取bx行si列字节型的值
and al,11011111B;运算bx行si列字节型的值
mov bx,al ;写入bx行si列字节型的值
inc si ;增加操作列数(si)=(si)+1
loop s0
add bx,10h ;增加操作行数10h=16
pop cx ;弹出当前操作行数
loop s
over: mov ax,4c00h ;程序出口
int 21h
codesg ends
end start
本帖最后由 wAterLoo 于 2012-5-29 22:43 编辑
楼主,把代码好好编辑下,虽然很详细,但是一眼看下来,太乱了,不会想看第二眼
注意代码的缩进,可能有些麻烦,但是居然是分享,就要让人一看就明白
否则你的分享没一点意义
wAterLoo 发表于 2012-5-29 22:41 static/image/common/back.gif
楼主,把代码好好编辑下,虽然很详细,但是一眼看下来,太乱了,不会想看第二眼
注意代码的缩进,可能有些 ...
在我的notepad++里都是排序好的,论坛的帖子编辑器有问题而已。 很感谢你的分享,但是你的程序出了点小毛病
应该把mov si,3 ;从第3列开始放在s 后面
页:
[1]