将每个段的前四个字母变为大写
assume cs:codesg,ds:datasg,ss:stacksg
datasg segment
db '1. display ' ; 长度均为0Ah
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends
stacksg segment
dw 0,0,0,0,0,0,0,0 ;堆栈
stacksg ends
codesg segment
start: mov ax,datasg ; 数据段初始化
mov ds,ax
mov bx,0
mov ax,stacksg ; 堆栈段初始化
mov ss,ax
mov sp,16
mov cx,4 ; 行数
s0: push cx ; 外层循环,更改一行
mov si,0
mov cx,4
s: mov al,[bx+3][si] ; 内层循环,更改每行
and al,11011111b ; 更改为大写字母
mov [bx+3][si],al
inc si
loop s ; 内层循环结束
add bx,16 ; 下一行偏移
pop cx
loop s0 ; 外层循环结束
mov ax,4c00h
int 21h
codesg ends
end start