小博 发表于 2012-1-8 18:19:36

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

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

先发代码

assume cs:xiaobo
xiaobo segment
xx: mov ax,0ffffh
mov ds,ax
mov bx,6

mov al,
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,
mov ah,0
可以直接写为
mov ax,
我总觉得不对.
因为
mov ax,0ffffh
mov ds,ax
mov bx,6
按作者的意思是这个指向地址内的数据是一个字节而不是一个字
也就是说ax的值是8位的字节
ax的(al)=(ffff6),ah就为0了
如果是直接
mov ax,
ax的值就是一个16位的字了
ax的(al)=(ffff6),(ah)=(ffff5)
所以按照作者的意思
不可以直接写为
mov ax,
个人愚见,如果不对还望斧正.

小马过河 发表于 2012-1-8 20:55:43

头脑清晰,有判断能力,不盲从:lol

小博 发表于 2012-1-8 21:03:11

小马过河 发表于 2012-1-8 20:55 static/image/common/back.gif
头脑清晰,有判断能力,不盲从

{:5_101:}
{:5_101:}

Zero_One 发表于 2012-1-9 12:45:29

13行代码写错MOV DX,AX

小甲鱼上机时没有用DEBUG调试,结果是完全不同的如果是MOV AX,
      计算时计算的是双字节,计算结果是6单元和7单元的字进行计算,7单元高8位,6单元低8位
页: [1]
查看完整版本: 汇编语言025_[BX]和loop指令03 视频的小问题