实验6 实践课程中的程序
(2)编程,完成问题 7.9 中的程序。
将 datasg 段中每个单词的前 4 个字母改为大写字母
assume cs:codesg,ss:stacksg,ds:datasg
stacksg segment
dw 0,0,0,0,0,0,0,0 ;定义8个字符,占用16字节
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,16
mov ax,datasg
mov ds,ax
mov bx,0
mov cx,4
s0:push cx ;保存外层循环次数
mov si,0
mov cx,4
s1:mov al,[bx+3+si]
and al,11011111b
mov [bx+3+si],al
inc si
loop s1
add bx,16 ;切换到下一行
pop cx ;恢复外层循环次数
loop s0
mov ax,4c00H
int 21H
codesg ends
end start