不会编汇编 发表于 2012-3-17 10:20:54

第七章大小写转换的一个小问题,为什么必须先mov al,[bx]不能直接DS[BX]直接按位与

本帖最后由 不会编汇编 于 2012-3-17 13:35 编辑

代码如下,就是按位与和按位或编译的时候出错,其他地方都OK
assume cs:code,ds:data

data segment
db      'BaSic'
db      'iNfOrMaTiOn'
data ends

code segment
start:      mov ax,data
                mov ds,ax
                mov bx,0
                mov cx,5
s:                and ds:,11011111b      ;这里书上是先mov al, 然后按位与
                inc bx
                loop s
               
                mov bx,5
                mov cx,11
s0:                or ds:,00100000b         ;这里书上是先 mov al, 然后按位或
                inc bx
                loop s0
               
                mov ax,4c00h
                int 21h
code ends
end start

不会编汇编 发表于 2012-3-17 10:41:05

恩,貌似知道了,小甲鱼在下一个视频里说,一般的加减乘除与或运算都用通用寄存器来操作。。。。
好了,记住了就行了。呵呵
页: [1]
查看完整版本: 第七章大小写转换的一个小问题,为什么必须先mov al,[bx]不能直接DS[BX]直接按位与