本文主要是介绍使用[bx+idata]的方式进行数组处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用[bx+idata]的方式进行数组处理在cidesg中写代码,将datasg中定义的第一个字符串转化为大写,第二个字符串转化为小写。
assume cs:codesg,ds:datasg
datasg segmentdb:'Baic'db:'MinIx'
datasg endscodesg segment
start:*****
code ends
end start
例子1:
mov ax,datasg
mov ds,ax ;datasg的指向ds寄存器
mov bx,0
mov cx,5
s:
mov al,[bx] ;al=ds*16+bx
and al,11011111b ;字符转小写
mov [bx],al
inc bx
loop s ;循环结束mov bx,5
mov cx,5
s0:
mov al,[bx]
or al,00100000b ;转大写
mov [bx],al
inc bx
loop s0
例子2:
mov ax,datasg
mov ds,ax
mov bx,0
mov cx,5
s:mov al,[bx]
and al,11011111b
mov [bx],al
mov al,[[5+bx]
or al,[5+bx]
mov [5+bx],al
inc bx
loop s
例子3:
mov ax,datasg
mov ds,ax
mov bx,0
mov cx,5
s:
mov al,0[bx]
and al,11011111b
mov 0[bx],al
mov al,5[bx]
or all,00100000b
mov 5[bx],al
inc bx
loop s
这篇关于使用[bx+idata]的方式进行数组处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!