|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- assume cs:codesg
- datasg segment
- db "Beginner's All-purpose Symbolic Instruction Code.",0
- datasg ends
- codesg segment
- begin:
- mov ax,datasg
- mov ds,ax
- mov si,0
- call letterc
-
- mov ax,4c00H
- int 21h
- letterc:
- push si
- push ax
- s: ;对拿到的字节进行判断
- cmp byte ptr [si],60H
- jna s0;不大于60H,即小于等于60H
- cmp byte ptr [si],7BH
- jnb s0;如果不小于7BH则跳过转化为大写,即大于等于7BH
- ;如果是小写字母则转化为大写,即-20H
- ;如果是大写字符或空格则跳过(不执行)转化为大写
-
- ;转化为大写
- mov al,[si]
- sub al,20H
- mov [si],al
- s0:
- cmp byte ptr [si],0
- je exit;如果是0则退出循环s和函数letterc
-
- inc si
- jmp short s
-
-
- exit:
- pop ax
- pop si
- ret
-
-
- codesg ends
- end begin
复制代码 |
|