. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  检测点9.2 积极急急急通宵等  [待解决] 回复[ 7次 ]   点击[ 424次 ]  
624144198
[帖 主]   [ 发表时间:2011-09-02 00:27 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-08-24 21:03
mov ch,0
mov cl,[bx]



为什么要吧cx分开写
而不用 mov cx,[bx+]
chinatree
[第1楼]   [ 回复时间:2011-09-02 00:39 ]   [引用]   [回复]   [ top ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
因为你定义的是字节,如果用字来读取也没事,但是在下面要复制的时候可能会造成数据覆盖,这种寻址方式是字操作还是字节操作由寄存器指明,属于寄存器直接寻址。
624144198
[第2楼]   [ 回复时间:2011-09-02 00:52 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-08-24 21:03
在下面什么复制时候 能举个例子吗 谢谢
chinatree
[第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
624144198
[第4楼]   [ 回复时间:2011-09-02 01:16 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-08-24 21:03
我再问一个浅陋的问题  是不是cx只能代表字 而不是字节
tily
[第5楼]   [ 回复时间:2011-09-02 01:22 ]   [引用]   [回复]   [ top ] 
荣誉值:12
信誉值:1
注册日期:2011-06-04 00:01
是不是cx只能代表字 而不是字节
-------------------------
你怎么能这么表达呢 CX是寄存器 16位寄存器,正好能存储一个字,ch是CX的高8位,CL是CX的低8位,8位正好是一个字节 还是把基础知识多看看吧
minidxer
[第6楼]   [ 回复时间:2011-09-27 18:02 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-08-18 06:18
cx是16位寄存器  CH与CL是8位寄存器,其中CL是低8位,CH是高8位

如果你还是很明白的话 请翻阅书中第14页,上面讲的很详细
donqy
[第7楼]   [ 回复时间:2011-12-21 13:23 ]   [引用]   [回复]   [ top ] 
荣誉值:4
信誉值:4
注册日期:2011-12-05 18:50
[bx]指内存单元的地址,内存单元是以8byte为单位的,而CX则是16位的呀,如果直接mov cx,ds:[bx]的话,就是两个内存单元两个内存单元的读取了!!
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved