[bx+idata]的含义

[bx+idata]的含义

  • [bx+idata]表示一个内存单元g它的偏移地址为(bx)+idata ( bx中的数值加上idata )。

  • mov ax,[bx+200]/ mov ax,[200+bx]的含义

    • 将一个内存单元的内容送入ax
    • 这个内存单元的长度为2字节(字单元),存放一个字
    • 内存单元的段地址在ds中,偏移地址为200加上bx中的数值
  • 指令mov ax,[bx+200]的其他写法(常用)

    • mov ax,[200+bx]
    • mov ax,200[bx]
    • mov ax,[bx].200
  • 问题:在codesg中填写代码,将datasg中定义的

    • 第一个字符串转化为大写
    • 第二个字符串转化为小写。
assume cs:codesg,ds:datasg
datasg segment
    db'RaSiC'
    db'MinlX'
datasg ends
codesg segment
start:
	mov ax,datasg
	mov ds,ax
	mov bx,O
	mov cx,5
 s: mov al,[bxl
	and al,11011111b
	mov [bx],al
	mov al,[5+bx]
	or al,00100000b
	mov [5+bx],al
	inc bx
	loop s
codesg ends
end start

用C语言表示

char a[5]="BaSiC";
char b[5]="MinlX";
main(){
	int i;
    i=O;
    do{
		a[i]=a[i]&OxDF;
        b[i]=b[i] [Ox20;
        i++;
}
while(i<5);}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值