汇编语言中如何用DEBUG查看DS中前面的字符串的地址
assumecs:code,ds:datadatasegmentdb'ibm'db'dec'db'dos'db'vax'dw0;定义一个字,用来保存CXdataendsc...
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 展开
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 展开
展开全部
你是要把字符串的字母改成大写吗?
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
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查下存放的情况,初学者想了解下,谢谢。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用命令d ds:0.
追问
我用了 D ds:0显示的不是那些字符串的ASCII啊,大哥,再看看,谢谢 、
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询