实验6 实践课程中的程序
本帖最后由 康小泡 于 2015-11-17 09:37 编辑不算很难,大家调试下就应该能懂了
assume cs:code, ss:stack, ds:data
stack segment
dw 0, 0, 0, 0, 0, 0, 0, 0
stack ends
data segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
data ends
code segment
start:mov ax, data
mov ds, ax
mov bx, 0
mov cx, 4
s0:push cx //使用栈存放外层循环的cx
mov si, 0
mov cx, 4
s1:mov al,
and al, 11011111B //转换为大写的方法
mov , al
inc si
loop s1
add bx, 10H
pop cx //弹出存储在外层循环中的cx
loop s0
mov ax, 4c00H
int 21H
code ends
end start
谢谢留下你的脚步,本人每天都在线学习计算机,可以相互交流,绝对不是打广告买衣服的,qq:872785786 看不下去那个复制的代码格式太丑了,然后帮你修改了一下。论坛有个功能可以插入代码,让你的帖子更加美腻哟{:5_91:}
康小泡 发表于 2015-11-17 09:38
看不下去那个复制的代码格式太丑了,然后帮你修改了一下。论坛有个功能可以插入代码,让你的帖子更加美腻哟 ...
3q,下次换换:lol: 呵呵我来关注一下 我感觉有两个问题,
1. 当每次循环运行到S0的时候,下面的语句中cx 总要再次赋值为4,
2. 输入的四行字符串的偏移地址都是不一样的,而在程序中,每一次运行下来,都是对偏移地址si=0进行操作,所以不论怎么运行,都无法改第二行,第三行,所以,我认为可以在数据段中对二 三 四行的数据定义她的偏移地址,最后在使用基址相对寻址取出数据。
上面这些是我的看法,也是初学者,如果哪里有什么不对,请指出来,让我学习改正 zlming 发表于 2015-11-18 21:00
我感觉有两个问题,
1. 当每次循环运行到S0的时候,下面的语句中cx 总要再次赋值为4,
2. 输入的四行字符 ...
方法有多种,逻辑对就是可以的,:handshake zlming 发表于 2015-11-18 21:00
我感觉有两个问题,
1. 当每次循环运行到S0的时候,下面的语句中cx 总要再次赋值为4,
2. 输入的四行字符 ...
这程序不是一列一列的改,是一行改4个,换下一行再改4个
页:
[1]