[汇编语言]用[bx+idata]的方式进行数组的处理-字母大小写转换

Posted Wecccccccc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[汇编语言]用[bx+idata]的方式进行数组的处理-字母大小写转换相关的知识,希望对你有一定的参考价值。

第一个字符串"BaSiC"中的小写字母变成大写字母;

第二个字符串"iNfOrMaTiOn"中的大写字母变成小写字母;

方法一:

代码如下:

assume cs:codesg,ds:datasg

datasg segment
db 'BaSiC'
db 'iNfOrMaTiOn'
datasg ends

codesg segment
start:	mov ax,datasg
		mov ds,ax
		
		mov bx,0
		
		mov cx,5
		
	s:	mov al,[bx]
		and al,11011111b
		mov [bx],al
		
		inc bx
		loop s
		
		mov bx,5
		
		mov cx,11
	s0:mov al,[bx]
		or al,00100000b
		mov [bx],al
		inc bx
		loop s0
		
		mov ax,4c00h
		int 21h
		
codesg ends
end start



在这里插入图片描述

第一个字符串"BaSiC"中的小写字母变成大写字母;

第二个字符串"MinIX"中的大写字母变成小写字母;

方法二:

[bx+idata]的方式:

代码如下:

assume cs:codesg,ds:datasg

datasg segment
db 'BaSiC'
db 'MinIX'
datasg ends

codesg segment
start:	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 al,00100000b
		mov 5[bx],al
		inc bx
		loop s
		
		mov ax,4c00h
		int 21h
		
codesg ends

end start


在这里插入图片描述

以上是关于[汇编语言]用[bx+idata]的方式进行数组的处理-字母大小写转换的主要内容,如果未能解决你的问题,请参考以下文章

《汇编语言》总结02 —— [BX] 和 loop 指令

Debug和汇编编译器masm对指令的不同处理

第七章 更灵活的定位内存地址的方法

[汇编语言]实验:更灵活的寻址方式 -应用si和di

第五章

第五章总结