8086汇编5:更灵活的寻址方式

and 指令:与,两位为1才是1
or 指令:或,两位有1位为1是1


字母大小写转换。


大小写字母的ASCII的第5位不一样,其他的都一样,
不管她是大写还是小写,第5位置0就变成大写字母,第5位置1就变成小写字母


or 0010000
and 1101111


------------------------------------
更加灵活访问内存
(1) mov ax,[bx+200]
可以写成
mov ax,200[bx]
mov ax,[bx].200


这种方法一般用来作为数组的处理,可以同时对2个串进行操作,避免多一次循环


比如
data segment
db 'abcde'
db 'fghij'
data ends
[bx]  :第一个串
[bx+5]:第二个串


(2) SI与DI
注意,这2个是不能分为2个8位寄存器来使用


mov ax,[bx][si] 说明偏移地址是bx+si


循环嵌套写法
mov cx,4
wai:
mov cx,3
nei:
XXX
loop nei


loop wai


注意:内循环的时候会改变外循环的CX,随意,必须用DX临时来保存DX,或者使用堆栈来处理


VC++编译器就是使用栈来处理的

你可能感兴趣的:(汇编与反汇编)