鱼C论坛

 找回密码
 立即注册
查看: 2662|回复: 3

[争议讨论] 汇编语言025_[BX]和loop指令03 视频的小问题

[复制链接]
发表于 2012-1-8 18:19:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 小博 于 2012-1-8 20:04 编辑

先发代码
assume cs:xiaobo
xiaobo segment
xx: mov ax,0ffffh
mov ds,ax  
mov bx,6

mov al,[bx]
mov ah,0

mov dx,0

mov cx,3
s: add dx,bx
loop s
  
mov ax,4c00h
int 21h
  
xiaobo ends 
end xx 
以上是作者的代码
小甲鱼说
mov al,[bx]
mov ah,0
可以直接写为
mov ax,[bx]
我总觉得不对.
因为
mov ax,0ffffh
mov ds,ax  
mov bx,6
按作者的意思是这个指向地址内的数据是一个字节而不是一个字
也就是说ax的值是8位的字节
ax的(al)=(ffff6),ah就为0了
如果是直接
mov ax,[bx]
ax的值就是一个16位的字了
ax的(al)=(ffff6),(ah)=(ffff5)
所以按照作者的意思
不可以直接写为
mov ax,[bx]
个人愚见,如果不对还望斧正.

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-8 20:55:43 | 显示全部楼层
头脑清晰,有判断能力,不盲从:lol
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-1-8 21:03:11 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-9 12:45:29 | 显示全部楼层
13行代码写错  MOV DX,AX

小甲鱼上机时没有用DEBUG调试,结果是完全不同的如果是MOV AX,[BX]
        计算时计算的是双字节,计算结果是  6单元和7单元的字进行计算,7单元高8位,6单元低8位
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-19 16:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表