【汇编语言】——第七章课后总结

1.and和or指令 

(1)and指令:逻辑与指令,按位与运算

例如:

mov al,01100011B

and al,00111011B

执行后:al=00100011B 

通过该指令可以将操作对象的相应位设为0,其他位不变。

(2)or指令:逻辑或指令,按位进行或运算

例如:

mov al,01100011B

or al,00111011B

通过该指令可以将操作对象的相应位设为1,其他位不变。

说明:在debug中,默认16进制,不支持2进制写法

2.汇编中的字符处理

(1)关于ASCII码

ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符

0~31及127(共33个)是 控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR( 回车)、FF(换页)、DEL( 删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10 和13 分别转换为 退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对 文本显示有不同的影响。
32~126(共95个)是 字符(32是空格),其中48~57为0到9十个阿拉伯数字。
65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等
(2)大小写转换问题

1. 大写字母+20H=小写字母;小写字母-20H=大写字母

2. and al,11011111B  可将小写字母变为大写字母;or al,00100000B 可将大写字母变为小写字母

(3) [bx+idata]

[bx+idata]表示一个内存单元,它的偏移地址为(bx)+idata

例如:mov, ad,[bx+200]

将一个内存单元的内容送入ax,这个内存单元的长度为2个字节,存放一个字,偏移地址为bx中的数值加上200,段地址在ds中。

(4)si和di

是和bx功能相近的寄存器,但是si和di不能够分成两个8位寄存器来使用

(5)[bx+si]和[bx+di]

[bx+si]表示一个内存单元,它的偏移地址为(bx)+(si)(即bx中的数值加上si中的数值)

将一个内存单元的内容送入ax,这个内存单元的长度为2个字节,存放一个字,偏移地址为bx中的数值加上si中的数值,段地址在ds中。

(6)[bx+si+idata]和[bx+di+idata]

 [bx+si+idata]表示一个内存单元,它的偏移地址为(bx)+(si)+idata(即bx中的数值加上si中的数值再加上idata)

将一个内存单元的内容送入ax,这个内存单元的长度为2个字节,存放一个字,偏移地址为bx中的数值加上si中的数值和idata中的值,段地址在ds中。

猜你喜欢

转载自www.cnblogs.com/hongyezhu/p/10152942.html