题目
写个汇编程序,将以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
|
运行结果
截图: