| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 872 人关注过本帖
标题:[求助]这里AX等于多少
只看楼主 加入收藏
hero2007
Rank: 1
来 自:湖北武汉
等 级:新手上路
威 望:1
帖 子:130
专家分:0
注 册:2007-3-22
收藏
 问题点数:0 回复次数:2 
[求助]这里AX等于多少

oper1 db 1,2
oper2 dw 1234h,5678h
.
.
mov ax,word ptr[oper1 + 1]
mov al,byte ptr[oper2]
结果(AX)=



写了个程序输出是3434H,昏了。

DATAS SEGMENT
oper1 db 1,2
oper2 dw 1234h,5678h
DATAS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
mov ax,word ptr[oper1+1]
mov al,byte ptr[oper2]

MOV BH,AH
MOV BL,AL

AND AH,0F0H
MOV CL,4
SHR AH,CL
ADD AH,30H
MOV CH,AH
MOV AH,2
MOV DL,CH
INT 21H


AND BH,0FH
ADD BH,30H
MOV AH,2
MOV DL,BH
INT 21H


AND AL,0F0H
MOV CL,4
SHR AL,CL
ADD AL,30H
MOV AH,2
MOV DL,AL
INT 21H

AND BL,0FH
ADD BL,30H
MOV AH,2
MOV DL,BL
INT 21H

MOV AH,2
MOV DL,'H'
INT 21H

MOV AH,4CH
INT 21H

CODES ENDS
END START

如果(AX)真等于3434H,怎么算的?

[此贴子已经被作者于2007-10-21 23:52:38编辑过]

搜索更多相关主题的帖子: DATAS MOV SEGMENT ptr CODES 
2007-10-21 23:47
hwbnet
Rank: 1
等 级:新手上路
威 望:2
帖 子:355
专家分:0
注 册:2004-12-9
收藏
得分:0 
oper1 db 1,2
oper2 dw 1234h,5678h
因为:数据排列顺序是高地址对高位数据,所以以上定义在内存中排列顺序为:01,02,34,12,78,56
所以:mov ax,word ptr[oper1 + 1],ax=3402
mov al,byte ptr[oper2],ax=3434


胡文斌 本人论坛:http://hwbnet.bbs./
2007-10-22 10:09
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 

小尾模式……

2007-10-23 13:24
快速回复:[求助]这里AX等于多少
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016192 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved