实验5汇编实验(共3页).doc
精选优质文档-倾情为你奉上数学与软件科学学院 实验报告学期:2017至 2018第 2 学期 2018年4月4日 课程名称: 汇编语言 专业:信息与计算科学 班级: 2015级_5班实验编号:5实验项目: 编程实现大小写字母间的转换指导教师:冉茂华姓名:黄玉含 学号: 实验成绩:1、 编写汇编程序,将datasg段中每个单词前4个字母改为大写字母,用Debug跟踪其执行过程。assume cs: codesg, ds:datasg, ss:stacksgstacksg segment dw 0,0,0,0,0,0,0,0stacksg endsdatasg segment db 1. display ; 该字符串占16个字节,不足位以空格填充(下面3个字符串类似) db 2. brows db 3. replace db 4. modify datasg endscodesg segmentstart: ?codesg endsend start代码如下:assume cs: codesg, ds:datasg, ss:stacksgstacksg segment dw 0,0,0,0,0,0,0,0stacksg endsdatasg segment db "1. display " db "2. brows " db "3. replace " db "4. modify "datasg endscodesg segmentstart: mov ax,datasg mov ds,ax mov cx,4 mov bx,3 s: mov dx,cx mov si,0 mov cx,4q s0: mov al,bx+si and al,B mov bx+si,al inc si loop s0 add bx,16 mov cx,dx loop s mov ax,4c00h int 21hcodesg endsend start结果分析:多重循环要保留高层循环的cx值,可以直接放入寄存器,也可以利用push,pop指令记录在内存。二维数组的存储可以利用寄存器相对变址寻址的方式进行。Ex:bx,bi和bx,di大小写转换:小写转大写:and B 大写转小写:or B二维数组用基址变址寻址。专心-专注-专业