汇编语言中如何用DEBUG查看DS中前面的字符串的地址

assume cs:code,ds:data
data segment
db 'ibm '
db 'dec '
db 'dos '
db 'vax '
dw 0 ;定义一个字,用来保存CX
data ends
code segment
start : mov ax,data
mov ds,ax
mov bx,0

mov cx,4
s1: mov ds:[40h],cx ;将外层循环CX值保存在data:40h中
mov si,0
mov cx,3 ;CX设置为内存循环的次数
s: mov al,[bx+si]
add al,11011111b
mov [bx+si],al

inc si
loop s

add bx,16
mov cx,ds:[40h] ;用data:40h单元中的值恢复CX
loop s1 ;外层循环的loop指令将cx中的计数值-1

mov ax,4c00h
int 21h
code ends
end start

第1个回答  2013-06-08
你是要把字符串的字母改成大写吗?
assume cs:code,ds:data
data segment
db 'ibm '
db 'dec '
db 'dos '
db 'vax '
data ends
c segment
dw 0
c ends
code segment
start:
mov ax,c
mov ss,ax
mov sp,2
mov ax,data
mov ds,ax
mov cx,4
mov bx,0
s:
push cx
mov si,0
mov cx,3
s1:
and byte ptr ds:[bx si],11011111b
inc si
loop s1
pop cx
add bx,4
loop s
mov ax,4c00h
int 21h
code ends
end start追问

是改写大写,我想用debug查下存放的情况,初学者想了解下,谢谢。

第2个回答  2013-06-08
用命令d ds:0.追问

我用了 D ds:0显示的不是那些字符串的ASCII啊,大哥,再看看,谢谢 、

相似回答