汇编内存寻址方式
一、实验目的
- 理解程序在访问内存单元时采用的各种寻址方式
- 学会基于字符的ASCII编码,进行大小写转换、简单加密等方法
- 学会用loop指令,结合寻址方式,编制单层和双层循环程序解决问题
- 实验内容过程记录
字符串加密
编程为datasg段中字符串中的每个字符加密,加密规则是:每个字符的ASCII值加4。加密好的字符写在待加密字符的后面。编每个程序时,要求先画出流程图,程序中应该有足够的注释。
assume cs:codesg,ds:datasg
datasg segment
db 'aah, I love you!'
db '................'
datasg ends
codesg segment
start: (写程序)
mov ax,4c00h
int 21h
codesg ends
end start
我的解答:
(1)编程思路及流程图
(2)源程序(缩格规范,有足够的注释)
assume cs:codesg,ds:datasg
datasg segment
db 'aah, I love you!'
db '................'
datasg ends
codesg segment
start: mov cx,16
mov ax,datasg
mov ds,ax;初始化数据段
mov bx,16
mov si,0
lop: mov al,[si];取原字符串的对应字符去对应位置
add al,4
mov [bx+si],al;写入目标位置
inc si;每次增加一个字节
loop lop
mov ax,4c00h
int 21h
codesg ends
end start
(3)运行结果
