参考答案
assume cs:codeseg dataseg segment db "Beginner's All-purpose Symbolic Instruction Code.",0 dataseg ends codeseg segment start: mov ax, dataseg mov ds, ax mov si, 0 call letterc mov ax, 4c00H int 21H letterc: push cx push si _letterc_start: mov cl, ds:[si] ; 读取字母 mov ch, 0 ; 判断当前字符是否为零 jcxz _letterc_end ; 如果为零,直接结束 cmp cl, 97 ; 判断是否为小写 [97, 122] jb _letterc_next_char ; 不为小写则跳走 cmp cl, 122 ja _letterc_next_char sub cl, 20H ; 将字母转化为大写 mov ds:[si], cl _letterc_next_char: inc si jmp short _letterc_start _letterc_end: pop si pop cx ret codeseg ends end start
相关文章
「汇编语言 第 3 版 王爽」- 参考答案:实验 15 安装新的 int 9 中断例程
「汇编语言 第 3 版 王爽」- 参考答案:课程设计 1
「汇编语言 第 3 版 王爽」- 参考答案:实验 14 访问 CMOS RAM
「汇编语言 第 3 版 王爽」- 参考答案:实验 10 编写子程序
「汇编语言 第 3 版 王爽」- 参考答案:检测点 11.3
「汇编语言 第 3 版 王爽」- 参考答案:检测点 13.1
「汇编语言 第 3 版 王爽」- 参考答案:检测点 16.2
「汇编语言 第 3 版 王爽」- 参考答案:实验 16 编写包含多个功能子程序的中断例程