汇编语言随笔————把字母的前5个字母改为大写(相对基址变址寻址)

assume cs:codesg,ds:datasg,ss:stacksg
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends

datasg segment
db ‘1. display ‘
db ‘2. brows ‘
db ‘3. replace ‘
db ‘4. modify ‘
datasg ends

codesg segment
start:
mov ax,stack
mov ss,ax
mov sp,16;初始化堆栈

mov ax,datasg;初始化数据段
mov ds,ax
mov si,0;每行字母的指向————变址
mov cx,5;外循环次数

s0: push cx;暂存外循环次数
mov cx,4;设置内循环次数
mov bx,0;bx = 3估计也行————基址

s: mov al,3[bx][si];注意————内存中取出的是一个字节!8位
and al,11011111b;进行操作,再放回al
mov 3[bx][si],al;替掉原来的内存中的数据
add bx,10h;调整————到下一行
loop s

inc si;调整————到每行的下一个字母
pop cx;取出外循环次数,准备进行外循环
loop s0


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

汇编语言随笔————把字母的前5个字母改为大写(相对基址变址寻址)

上一篇:python pandas DataFrame 清除非数字类型、重新索引


下一篇:程序包org.springframework.boot不存在