汇编基础知识,关于DB和DW的

定义
X DB 'TYPE'和 Y DW 'TY',为什么前者TYPE每个字母是一个字节,后者TY每个字母不算一个字,DW可以定义为'TYPE'吗,这两者怎么区别,DB,DW这方面有什么知识点,求详解,多举几个不同类型的例子,最好是简单点的例子

记住我的:DW只能定义为一个字,大于或小于一个字的都必须定义为DB,就这么简单
还有存放数据的时候DW为"E P Y T"(从上到下),DB为"T Y"(从上到下)。追问

为什么DW只能定义一个字(前面这个如果比较深就不要回答),另外DD定义有什么规则吗
DW定义一个负数怎么定义,用10进制和十六进制都能定义吗

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-19
B=BYTE 单字节
W=WORD 双字节
第2个回答  2011-04-20
H,DH_____存放高位字节,
____AL,BL,CL,DL_____存放低位字节。
将字转换为双字的指令是___cwd______
普通加法指令是_____ADD____,带借位的减法指令是___SBB______。
在段寄存器中,代码段寄存器是___DS______,数据段寄存器是____SS_____
对于有符号数最高有效位表示符号,通常用____0___表示正号,_____1____表示负号。
段地址和偏移地址为2100H:0065H的存储单元的物理地址为___21065______

编程:
1、 用乘法指令实现将寄存器AL的内容乘10,结果存到DX寄存器
mov bx,ax
cbw bx
mov ax,10
mul bx

2、在存储单元RSLT中存放着一位十六进制数,将其显示到屏幕上
(十六进制数可自行定义)
DATA SEGMENT
RSLT DB"F?$"
DATA ENDS
CODES SEGMENT
ASSUME CS:CODE DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV DS,OFFSET RSLT
MOV AH,9
INT 21H
CODE ENDS
END START

3、 在内存字单元B1(被除数)和字单元B2(除数)各有一个有符号数为
-7A34H和2B8H,求其商和余数,并将结果存入W1开始的单元中。
有数据定义如下
B1 DB 7, 2, 6, 8
B2 DW 5 DUP ( 7 )
B3 DW ‘CDEF’
求出以下各条指令执行后的结果
(1) MOV AX , TYPE B1 AX=( 0001 )
( 2 ) MOV BX , TYPE B2 BX=( 0002 )
( 3 ) MOV CX , LENGTH B2 CX=( 0007 )
( 4 ) MOV DI , SIZE B2 DI=( 0eh )
( 5 ) MOV SI , LENGTH B3 SI=( 0001 )
相似回答