data segment
string1 db "I love cHINA" ;转成大写字符串区
string2 db "I love cHINA" ;转成小写字符串区
ends
esdata segment
string3 db 24 dup(0) ;拼接后的字符串放在附加数据区
ends
assume cs:code,ds:data,es:esdata
code segment
start:
mov ax, data
mov ds, ax
mov ax,esdata
mov es,ax
mov si, 0 ;ds:si指向数据段
mov cx,12 ;字符串长度
call capital
mov si,offset string1 ;取偏移量
mov bx,offset string2
mov di,offset string3
mov cx,12 ;把string1送到string3的前一半
loop1: mov al,[si]
mov es:[di],al
inc si
inc di
loop loop1
mov cx,12 ;把string2送到string3的后一半
loop2: mov al,[bx]
mov es:[di],al
inc bx
inc di
loop loop2
mov ax,4c00h
int 21h
capital: and byte ptr ds:[si],11011111b ;转成大写
or byte ptr ds:[si+12],00100000b ;转成小写
inc si
loop capital
ret
code ends
end start
汇编语言:字符串大小写转换与字符串拼接(放在附加数据段中)
最新推荐文章于 2024-08-11 13:32:08 发布