汇编语言:从右到左把conmae中的字符串传送到prline中 我怎么检查是否是从由到左复制的呢 如何调试?
DATASSEGMENT;此处输入数据段代码DATASENDSDATASSEGMENTCONAMEDB'SPACEEXPLORERSINC'DATASENDSextraS...
DATAS SEGMENT
;此处输入数据段代码
DATAS ENDS
DATAS SEGMENT
CONAME DB 'SPACE EXPLORERS INC'
DATAS ENDS
extra SEGMENT
PRLINE DB 20 DUP(' ')
extra ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,eS:extra
START:
MOV AX,DATAS
MOV DS,AX
mov bx,extra
mov es,ax
std
lea si,CONAME
add si,20-1
LEA DI,PRLINE
ADD DI,20-1
MOV CX,20
REP MOVSB
MOV AH,4CH
INT 21H
CODES ENDS
END START
我的程序 如果有错也希望大神指教
额 前面的忘记删了 请忽略。。 展开
;此处输入数据段代码
DATAS ENDS
DATAS SEGMENT
CONAME DB 'SPACE EXPLORERS INC'
DATAS ENDS
extra SEGMENT
PRLINE DB 20 DUP(' ')
extra ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,eS:extra
START:
MOV AX,DATAS
MOV DS,AX
mov bx,extra
mov es,ax
std
lea si,CONAME
add si,20-1
LEA DI,PRLINE
ADD DI,20-1
MOV CX,20
REP MOVSB
MOV AH,4CH
INT 21H
CODES ENDS
END START
我的程序 如果有错也希望大神指教
额 前面的忘记删了 请忽略。。 展开
1个回答
追问
能具体解释下 mov al,ds:[bx]
mov es:[si],al
sub bx,1
inc si
loop cycle
这几行代码吗?初学者。。。感到比较费解。。
追答
我也是初学者,连10章都没看完的,
mov al,ds:[bx] '指:向8位寄存器al写入内存单元偏移地址为bx的数据! 段地址在DS中
mov es:[si],al ‘指:向内存单元偏移地址为si的地址写入8位寄存器al的数据 ,段地址在es中
sub bx,1 '寄存器bx的值减1
inc si '寄存器si的值加1
loop cycle'指返回标签处循环! 标签为cycle,寄存器cx中为循环次数!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询