课后作业
问题 7.9 编程,将 datasg 段中每个单词的前四个字母改为大写字
母:
代码:
assume cs:codesg,ds:datasg,ss:stacksg
stacksg segment
dw 0,0,0,0,0,0,0,0
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,10h ;设置栈顶 ss:sp 为 stacksg:10h
mov ax,datasg
mov ds,ax
mov bx,0 ;数据段地址为 datasg
mov cx,4
s0: push cx ;外层循环的 cx 值保存到栈
mov si,0
mov cx,4 ;设置内层循环次数
s: mov al,[bx+si+3]
and al,11011111b
mov [bx+si+3],al ;字母变大写
inc si
loop s ;结束内层循环
add bx,16
评论0