微机实验 代码中有错误 求大佬帮忙看一下
哪位大佬看一下我的代码哪里错了?截图中有一个错误,代码如下datasegmentorg2000hstr1db‘Aedc123!*sdeDIO71$’countequ$-s...
哪位大佬看一下我的代码哪里错了?截图中有一个错误,代码如下data segment org 2000h str1 db ‘Aedc123!*sdeDIO71$’ count equ $-str1 org 3000h str2 db count dup(?) data ends STACK SEGMENT PARA STACK 'STACK' DB 100 DUP (?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START PROC FAR PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV CX,count LEA SI,str1 ;取地址 LEA DI,str2 G1:MOV AL,[SI] ;将地址传给AL CMP AL,'a' ;A判断是否为小写字母 JB next CMP AL,'z' JA next SUB AL,20H MOV [DI],AL next:MOV [DI],AL INC SI INC DI loop G1 RET START ENDP CODE ENDS END START
展开
展开全部
DATA SEGMENT
ORG 2000H
STR1 DB 'aedc123!*SDEDIO71$' ; ########全角符号错误
COUNT EQU $-STR1
ORG 3000H
STR2 DB COUNT DUP(?)
DATA ENDS
STACK1 SEGMENT PARA STACK 'STACK' ; 其实这部分 多余
DB 100 DUP (?)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START PROC FAR
PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
PUSH DS ; 源程序缺 此行 #########
POP ES ; 源程序缺 此行 ##########
MOV CX,COUNT
LEA SI,STR1 ;取地址 LEA DI,str2
LEA DI,STR2 ; 源程序缺 此行 ########
G1: MOV AL,[SI] ;将地址传给AL
CMP AL,'a' ;A判断是否为小写字母
JB NEXT
CMP AL,'z'
JA NEXT
SUB AL,20H
; MOV [DI],AL 此行多余 ##########
NEXT: MOV [DI],AL
INC SI
INC DI
LOOP G1
LEA DX,STR2 ; 这里增加是便于显示结果
MOV AH,9
INT 21H
RET
START ENDP
CODE ENDS
END START
更多追问追答
追问
追答
你的程序就是想讲str1复制到str2并在复制时将小写字母转为大写。我的程序已全部改好,你照抄就是!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询