将每個段的前四個字母變為大寫
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