实验6 实践课程中的程序
编程将 datasg段中每个单词的前四个字母 改为大写字母
补充大小写转换
大写比小写 大10h 例如 a 41h A21h
转大写执行操作 and 11011111B 转小写执行操作 or 00100000B
assume cs:codesg,ds:datasg
datasg segment
db '1.display '
db '2.brows '
db '3.replace '
db '4.modify '
datasg ends
codesg segment
start:
mov ax,datasg
mov ds,ax
mov bx,0
mov cx,4
s: mov dx,cx
mov si,0
mov cx,4
s0:
mov al,[bx+3+si]
and al,11011111B
mov [bx+3+si],al
inc si
loop s0
mov cx,dx
add bx,16
loop s
mov ax,4c00h
int 21h
codesg ends
end start
实验截图
程序执行前
程序执行后
最后 虽然转前四个字母 因为在datasg里 1. 之后没加空格 所以。。。。。