这段代码可以执行。可结果补台对。解决办法
这段代码可以执行。。可结果补台对。。
题目的原意是把dataeg段每一行前4个小写字母改成大写
我一步一步跟踪可除了第一行改了,后面的还是老样子。。。好像是ds的数据读的不对
哪位大大有时间帮忙跑跑。。。
assume cs:codesg,ss:stackeg,ds:dataeg
stackeg segment
dw 0,0,0,0,0,0,0,0
stackeg ends
dataeg segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
dataeg ends
codesg segment
start:mov ax,stackeg
mov ss,ax
mov sp,10h
mov ax,dataeg
mov ds,ax
mov cx,4
mov bx,0
s:push cx
mov si,0
mov cx,4
s0:mov al,[bx+3+si]
and al,11011111b
mov [bx+3+si],al
inc si
loop s0
add bx,16h
pop cx
loop s
mov ax,4c00h
int 21h
codesg ends
end start
------解决方案--------------------
自己动手,丰衣足食!
题目的原意是把dataeg段每一行前4个小写字母改成大写
我一步一步跟踪可除了第一行改了,后面的还是老样子。。。好像是ds的数据读的不对
哪位大大有时间帮忙跑跑。。。
assume cs:codesg,ss:stackeg,ds:dataeg
stackeg segment
dw 0,0,0,0,0,0,0,0
stackeg ends
dataeg segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
dataeg ends
codesg segment
start:mov ax,stackeg
mov ss,ax
mov sp,10h
mov ax,dataeg
mov ds,ax
mov cx,4
mov bx,0
s:push cx
mov si,0
mov cx,4
s0:mov al,[bx+3+si]
and al,11011111b
mov [bx+3+si],al
inc si
loop s0
add bx,16h
pop cx
loop s
mov ax,4c00h
int 21h
codesg ends
end start
------解决方案--------------------
自己动手,丰衣足食!