问题介绍
编程,将datasg段中每个单词的前4个字母改为大写字母。用栈段存储临时数据。
代码展示
;编程,将datasg段中每个单词的前4个字母改为大写字母
;用栈来存储临时数据
assume cs:code,ds:datasg,ss:stack
datasg segment
db '1.display ' ;16个字节,将每个单词的前4个字母改为大写
db '2.brows '
db '3.replace '
db '4.modify '
datasg ends
stack segment
dw 0,0,0,0, 0,0,0,0 ;定义8个字16个字节做为栈顶用于保存临时寄存器
stack ends
code segment
start:
mov ax,datasg
mov ds,ax
mov bx,0
mov ax,stack
mov ss,ax
mov sp,16
mov cx,4
s:
push cx
mov si,2
mov cx,4 ;设置内层循环次数
s0:
mov al,[bx+si]
and al,11011111B
mov [bx+si],al
inc si
loop s0
pop cx ;还原cx
add bx,16
loop s
mov ax,4c00h
int 21h
code ends
end start
结果检测