这部分是王爽《汇编语言》第7、8章重要内容的总结。主要分为四部分:
1.用汇编语言实现大小写字母的转换(and和or指令应用)
2.汇编语言二重循环的写法
3.数据处理的两个基本问题
4.实验七的思路与代码
实验七基本上是对之前学习内容的一个总结应用,比较重要。大小写字母转换部分帮助理解ASCII码设计的奇妙,二重循环用到栈也是很有意思。
1.and和or用法:
由于大写字母ASCII码二进制第5位为0,小写字母为1,所以可以通过and
和or
实现的大小写字母转换。
通过与0操作,得到大写字母。或1操作,得到小写字母。
下面程序中需要注意的一点:
必须以al
为中介,完成与和或的操作。
and [bx],11011111b
的含义,不是[bx]
这个字节单元与上11011111b,而是[bx]
这个字单元与上0000000011011111b。所以需要al
保证是字节的运算。
code segment
start: mov ax,data
mov ds,ax
mov bx,0
mov cx,5
s: mov al,[bx]
and al,11011111b
mov [bx],al
inc bx
loop s
mov cx,11
s1: mov al,[bx]
or al,00100000b
mov [bx],al
inc bx
loop s1
mov ax,4C00h
int 21h
code ends
2.编程,将datasg
段中的每个单词改为大写字母。
涉及到的知识点:
如何编写二重循环?