0%

汇编:实验11:字符串中小写转大写

题目

写个汇编程序,将以0结尾的字符串中的小写字母转换为大写字母。

定义函数 letterc,用于转换,参数 ds:si 指向字符串的首地址。

源码

汇编源码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
; 把字符串中的小写字母转换为大写
assume cs:code

data segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
data ends

stack segment
dw 8 dup (0)
stack ends

code segment
begin:
mov ax,stack
mov ss,ax
mov sp,10h
mov ax,data
mov ds,ax
mov si,0
call letterc

mov ax,4c00h
int 21h

letterc:
push si
s:
mov cl,[si]
mov ch,0
jcxz ok
cmp cx,'a'
jna s0
cmp cx,'z'
jnb s0
and byte ptr [si],11011111b

s0:
inc si
jmp short s

ok:
pop si
ret

code ends
end begin

运行结果

截图: