当前位置:首页 > 代码转换程序设计
武汉理工大学《微机原理与接口技术》课程设计报告书
MOV [DI],AL JMP AA0 DBA: CMP AL, 'Z' JL KK JMP PA KK: CMP AL,'A' JG LL JMP PA LL:ADD AL,20H MOV [DI],AL AA0: INC SI INC DI DEC CX JNZ AC
POP CX POP DI POP SI POP AX RET ABC ENDP
CBA PROC AD: PUSH SI PUSH DI PUSH CX PUSH AX MOV AL,[SI] CMP AL,'$' JE L1 CMP AL,'a' JL ABD CMP AL,'z' JLE HW JMP PA HW: CBW
MOV BL,10H DIV BL ADD AL,30H
;出栈 ;完成字符转换成ASCII的子程序 ;进栈 ;将小写字母转换成ASCII
10武汉理工大学《微机原理与接口技术》课程设计报告书
MOV [DI],AL INC DI ADD AH,30H MOV [DI],AH JMP BB0 ABD: CMP AL ,'Z' JLE HO JMP PA HO: CMP AL,'A' JGE MO JMP PA
MO: CBW MOV BL,10H DIV BL ADD AL,30H MOV [DI],AL INC DI ADD AH,30H MOV [DI],AH
BB0: INC SI INC DI DEC CX JNZ AD
POP CX POP DI POP SI POP AX RET CBA ENDP
L1: LEA DX,OUTPUTMESS MOV AH,9 INT 21H LEA DX,buf1 MOV AH,9 INT 21h LEA DX,chgline MOV AH ,9
;将大写字母转换成ASCII码 ;出栈 ;实现输出
11武汉理工大学《微机原理与接口技术》课程设计报告书
INT 21h LEA dx,BUF3 MOV ah,9 INT 21h mov cl,100 mov si,0 qinlin: mov al,'$' mov BUF2[si],al inc si loop qinlin JMP AP CODE ENDS END START
把程序输入到emu8086中去,运行程序,打开屏幕界面,按照提示语的要求,输入相应的字符,按字母A/a或B/b来达到不同的目的。
3.2 子程序大小写字母转换及流程图
首先在屏幕上输出显示字符串输入提示符,再进行字符串的输入,输入字符串完成后在屏幕上输出转换信息:(选择输入A/a进行大小写转换或者输入B/b进行ASCII转换),接着输入一个字符,判断输入字符A/a还是B/b跳转到进行相应的转换(在子程序中判断是否有非字符,若有非字符则重新输入,没有则进行转换),转换完成后跳转到输出部分进行输出,程序结束。
程序开始先取buf1中的字符,判断是否为字符,如果不是字符则不符合要求就不进行转换直接跳转到PA重新输入字符buf1;如果是字符则进行大小写转换,转换后的字符存储在字符串buf2中;之后SI、DI加1,CX减1,判断CX是否为零;如果CX为零说明完成转换,此时可以将SI、DI、CX、AX出栈,子程序结束;跳转到L1进行输出。否则继续取下一个字符进行转换,直至转换完成。
ABC PROC ;子程序ABC AC: PUSH SI ;进栈 PUSH DI
12
武汉理工大学《微机原理与接口技术》课程设计报告书
PUSH CX PUSH AX MOV AL,[SI] CMP AL,'$'
JE L1 ;判断大小写并进行大小写转换 CMP AL,'a' JL DBA CMP AL,'z' JL JK JMP PA JK: SUB AL,20H MOV [DI],AL JMP AA0 DBA: CMP AL, 'Z' JL KK JMP PA KK: CMP AL,'A' JG LL JMP PA LL:ADD AL,20H MOV [DI],AL AA0: INC SI INC DI DEC CX JNZ AC
POP CX POP DI POP SI POP AX RET ABC ENDP
大小写字母转换流程图如图3-1:
;出栈
13
共分享92篇相关文档