|
主题 : : 检测点9.2 积极急急急通宵等 [待解决] |
回复[ 7次 ]
点击[ 424次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2011-09-02 00:27 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-08-24 21:03 |
mov ch,0
mov cl,[bx]
为什么要吧cx分开写
而不用 mov cx,[bx+] | | |
|
|
|
|
[第1楼]
[ 回复时间:2011-09-02 00:39 ]
[引用]
[回复]
[ top ] | |
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59 |
因为你定义的是字节,如果用字来读取也没事,但是在下面要复制的时候可能会造成数据覆盖,这种寻址方式是字操作还是字节操作由寄存器指明,属于寄存器直接寻址。 | | |
|
|
|
|
[第2楼]
[ 回复时间:2011-09-02 00:52 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-08-24 21:03 |
|
|
|
|
|
[第3楼]
[ 回复时间:2011-09-02 01:10 ]
[引用]
[回复]
[ top ] | |
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59 |
假如定义的是字母的ascii
data segment
db 'adgmwptjga';带引号表示是ascii
data ends
code segment
asume cs:code
s1:mov ax,data
mov ds,ax
mov cx,10;这里定义的是10个字母
mov si,0
s:mov al,[si]
and al,0dfh
mov [si],al
inc si
loop s
mov ax,4c00h
int 21h
code ends
end s1 | | |
|
|
|
|
[第4楼]
[ 回复时间:2011-09-02 01:16 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-08-24 21:03 |
我再问一个浅陋的问题 是不是cx只能代表字 而不是字节 | | |
|
|
|
|
[第5楼]
[ 回复时间:2011-09-02 01:22 ]
[引用]
[回复]
[ top ] | |
荣誉值:12
信誉值:1
注册日期:2011-06-04 00:01 |
是不是cx只能代表字 而不是字节
-------------------------
你怎么能这么表达呢 CX是寄存器 16位寄存器,正好能存储一个字,ch是CX的高8位,CL是CX的低8位,8位正好是一个字节 还是把基础知识多看看吧 | | |
|
|
|
|
[第6楼]
[ 回复时间:2011-09-27 18:02 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-08-18 06:18 |
cx是16位寄存器 CH与CL是8位寄存器,其中CL是低8位,CH是高8位
如果你还是很明白的话 请翻阅书中第14页,上面讲的很详细 | | |
|
|
|
|
[第7楼]
[ 回复时间:2011-12-21 13:23 ]
[引用]
[回复]
[ top ] | |
荣誉值:4
信誉值:4
注册日期:2011-12-05 18:50 |
[bx]指内存单元的地址,内存单元是以8byte为单位的,而CX则是16位的呀,如果直接mov cx,ds:[bx]的话,就是两个内存单元两个内存单元的读取了!! | | |